Ein Wegweiser zur Java-Programmierung, der mit seinen Aufgaben wächst. Für die Teilnehmer*innen des Moduls "Softwaretechnologie: Java" der Studiengänge Informationsverarbeitung und Medieninformatik am IDH (Institut für Digital Humanities, Universität zu Köln) und alle Interessierten! 👐
Hier geht's zur Lese-Ansicht 📕
Hier geht's zum GitHub-Repository 👩💻
Work in progress. 🚧
Forever. 🐌
Dieses Repository ist weit davon entfernt, vollständig zu sein. Aber das ist okay. Wenn dir auffällt, dass etwas Wichtiges fehlt oder unzureichend erläutert ist, dann eröffne ein Issue oder trage eigene Änderungen bei!
- 💡 Was ist das hier - bzw. was ist es nicht?
- 👩💻 Contribution - oder: Wie kann ich hier mitwirken?
- 🔗 Link-Liste - weitere empfehlenswerte (online-) Ressourcen
👉 Die einzelnen Themenbereiche sind hier mit
Schlagworten
kurz zusammengefasst. Die jeweilige Überschrift verlinkt auf das Dokument mit allen Inhalten zum entsprechenden Thema.
Warum Java?
,Warum nicht?
,Besonderheiten
,Java Platform
,Java Ecosystem
,Packages
,Hello World!
, ...
IDE
,Warum Eclipse?
,Die wichtigsten Funktionen
,Import
,Export
,Console
,Run configurations
, ...
Das erste Programm
,Was ist das alles?
Packages
,Pakete
,Paket-Pfade
,import
main
// inline
,/* multi-line */
Was ist das?
,Syntax
,naming conventions
,Typisierung
, ...
primitive Datentypen
,komplexe Datentypen
,byte
,short
,int
,long
,float
,double
,boolean
,char
,default-Werte
,Wrapper-Klassen
...
Typumwandlung
,implizit
,explizit
,upcast
,downcast
,cast-Operator
,Casting bei komplexen Datentypen
, ...
Rückgabewerte
,Parameter/Argumente
,return
,Überlagerung
,Java ist immer pass-by-value
...
Rechenoperatoren
,Vergleichsoperatoren
,logische Operatoren
,Zuweisungsoperatoren
,+
,-
,*
,/
,%
,++
,--
,==
,!=
,>
,<
,>=
,<=
,&&
,||
,=
,+=
,-=
,/=
,*=
,%=
,&=
,|=
, ...
die Klasse "String"
,Literals
,special characters
,Unveränderbarkeit von Strings
,UTF-16
, ...
if
,else
,:? (Ternary-Operator)
,switch
while
,do-while
,for
,for-each
, 🎀
Datenstrukturen
,Deklaration
,Typisierung
,Initialisierung
,Array Literals
,Zugriff
,Mehrdimensionale Arrays
, ...
Enums
, ...
Error
,Exception
,try
,catch
,finally
,try-with-resources
,throws
, ...
Definition
,Nutzen
,Beispiele
,Wie stehen die Konzepte "Klasse" und "Objekt" zueinander?
, ...
Klasse
,Objekt
,Klassenattribute
,Klassenvariablen
,Sichtbarkeits-/Zugriffsmodifizierer
,private
,(default)
,protected
,public
,this
,Getter
,Setter
,Konstruktoren
,final
,static
,Konstanten in Java
,toString()
,Objekt-Identität
,Objekt-Gleichheit
,equals()
,hashCode()
,Vertrag zwischen equals() und hashCode()
,Anonyme Klassen
,Innere Klassen
, ...
Wozu?
,Terminologie
,extends
,super
,instanceof-Operator
,Überschreiben von Methoden
,abstrakte Klassen
,abstrakte Methoden
,abstract
,Interfaces
,default
...
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
Streams
,Buffering
,Reader
,Writer
,Objektserialisierung
, ...
verkettete Listen
,zweifach verkettete Listen
,Binärbäume
,binäre Suchbäume
,Iterable
,Iterator
,siehe auch "Collections Framework"!
...
Was?
,Wozu?
,<Syntax>
,Typsicherheit trotz generischer Programmierung
,Gültigkeit bei Kompilierung und zur Laufzeit
, ...
Aufbau
,List
,Set
,Map
,Objekt-Identität im Kontext von HashMaps/HashSets
, ...
Comparable
,Comparator
,Collections.sort()
,Sortieralgorithmen
...
Wozu?
,Wie werden sie eingebunden?
,Maven
,Gradle
...
Wozu?
,Schreiben von Unit-Tests
,Test-driven-development
,JUnit
, ...
Konventionen für Bezeichner in Java
,Groß-/Kleinschreibung
, ...
Wozu?
,/**
,@param
,@return
,<code></code>
,best practices
, ...
Das ist alles. Bis jetzt! Wie wäre es mit deinem Beitrag?
Dank für die Mitarbeit an diesem Repository gebührt den folgenden fleißigen Mitwirkenden (emoji legende):
bkis 🖋 💡 🤔 🚧 |
Nicolas David Werner 🖋 💡 |
Lelalue 🖋 💡 |
All Contributors 🔧 |
mkamphausen 🖋 💡 |
💬 Übrigens: Dieses Projekt hält sich an die all-contributors-Spezifikation. Contributions (Beiträge) jeder Art sind willkommen und werden an dieser Stelle wie oben zu sehen aufgeführt!