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! 👐
Work in progress. 🚧 🐌
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!
📖 Inhalt — Zum Inhaltsverzeichnis springen!
🤔 Was ist das hier — Bzw. was ist es nicht?
👩💻 Contributing — Oder: Wie kann ich hier mitwirken?
🛋️ Lese-Ansicht — Wenn du aus Versehen im Repository gelandet bist!
📕 Glossar — Allgemeine Terminologie der Programmierung (wichtig)!
🔗 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.
JDK
,Eclipse IDE
,Download
,Installation
, ...
Warum Java?
,Warum nicht?
,Besonderheiten
,Java Platform
,Java Ecosystem
,Packages
,Hello World!
, ...
IDE
,Warum Eclipse?
,Workspaces
,Views
,Editor
,Die wichtigsten Funktionen
,Import
,Export
,Console
,Ausführen von Programmen
,Automatisch generierter Code
...
Das erste Programm
,Was ist das alles?
Packages
,Pakete
,Paket-Pfade
,package
,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
,Klasse
,Objekt
,Kuchen
, ...
new-Operator
,Instanzvariablen
,Instanzmethoden
,Sichtbarkeits-/Zugriffsmodifizierer
,private
,(default)
,protected
,public
,this
,Getter
,Setter
,Konstruktoren
, ...
toString()
,Objekt-Identität
,Objekt-Gleichheit
,equals()
,hashCode()
,Der Vertrag zwischen equals() und hashCode()
, ...
static
,Klassenvariablen
,statische Methoden
, ...
Anonyme Klassen
,Innere Klassen
, ...
final
,finale Variablen
finale Klassen
,finale Methoden
,Konstanten in Java
, ...
Wozu?
,Terminologie
,extends
,super
,instanceof-Operator
,Überschreiben von Methoden
, ...
abstrakte Klassen
,abstrakte Methoden
,abstract
, ...
Interfaces
,Erweiterung von Interfaces
,default-Methoden
...
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
...
Prozess
,Thread
,Runnable
,synchronized
,volatile
, ...
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 🖋 💡 |
Julian Kamphausen 🖋 💡 |
👉 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!