Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Der wachsende Wegweiser zum Java-Modul

All Contributors   GitHub forks   GitHub issues   GitHub pull-requests closed   Website dh-cologne.github.io/java-wegweiser   Repo Size

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!

Übrigens 💬

📖   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!

Inhalt 📖

👉 Die einzelnen Themenbereiche sind hier mit Schlagworten kurz zusammengefasst. Die jeweilige Überschrift verlinkt auf das Dokument mit allen Inhalten zum entsprechenden Thema.

Einstieg

Benötigte Software

JDK, Eclipse IDE, Download, Installation, ...

Die Programmiersprache Java

Warum Java?, Warum nicht?, Besonderheiten, Java Platform, Java Ecosystem, Packages, Hello World!, ...

Eclipse IDE

IDE, Warum Eclipse?, Workspaces, Views, Editor, Die wichtigsten Funktionen, Import, Export, Console, Ausführen von Programmen, Automatisch generierter Code...

Grundlagen

Hello World

Das erste Programm, Was ist das alles?

Packages, package und import

Packages, Pakete, Paket-Pfade, package, import

main-Methode

main

Kommentare

// inline, /* multi-line */

Variablen

Was ist das?, Syntax, naming conventions, Typisierung, ...

Datentypen

primitive Datentypen, komplexe Datentypen, byte, short, int, long, float, double, boolean, char, default-Werte, Wrapper-Klassen...

Casting

Typumwandlung, implizit, explizit, upcast, downcast, cast-Operator, Casting bei komplexen Datentypen, ...

Methoden

Rückgabewerte, Parameter/Argumente, return, Überlagerung, Java ist immer pass-by-value ...

Operatoren

Rechenoperatoren, Vergleichsoperatoren, logische Operatoren, Zuweisungsoperatoren, +, -, *, /, %, ++, --, ==, !=, >, <, >=, <=, &&, ||, =, +=, -=, /=, *=, %=, &=, |=, ...

Strings / Zeichenketten

die Klasse "String", Literals, special characters, Unveränderbarkeit von Strings, UTF-16, ...

Conditional statements / Konditionale

if, else, :? (Ternary-Operator), switch

Schleifen

while, do-while, for, for-each

Arrays

Datenstrukturen, Deklaration, Typisierung, Initialisierung, Array Literals, Zugriff, Mehrdimensionale Arrays, ...

Fehlerbehandlung

Error, Exception, try, catch, finally, try-with-resources, throws, ...

Objektorientierte Programmierung (OOP)

OOP, Klassen und Objekte

Definition, Nutzen, Beispiele, Klasse, Objekt, Kuchen, ...

Objekte I: Initialisierung, Members, Zugriff

new-Operator, Instanzvariablen, Instanzmethoden, Zugriffs-/Sichtbarkeitsmodifizierer, private, (default), protected, public, this, Getter, Setter, Konstruktoren, ...

Static Members

static, Klassenvariablen, statische Methoden, ...

final

final, finale Variablen, finale Klassen, finale Methoden, Konstanten in Java, ...

Vererbung I: Grundlagen

Wozu?, Terminologie, extends, super, instanceof-Operator, Überschreiben von Methoden, ...

Objekte II: Repräsentation, Identität, Gleichheit

toString(), Objekt-Identität, Objekt-Gleichheit, equals(), hashCode(), Der Vertrag zwischen equals() und hashCode(), ...

Vererbung II: Abstrakte Klassen und Methoden

abstrakte Klassen, abstrakte Methoden, abstract, ...

Vererbung III: Interfaces

Interfaces, Erweiterung von Interfaces, Default-Methoden, Statische Methoden in Interfaces ...

Innere und anonyme Klassen

Anonyme Klassen, Innere Klassen, ...

Abstrakte Konzepte und Fortgeschrittenes

Enums

Enums, ...

Rekursion

Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.

Input / Output (I/O)

Streams, Buffering, Reader, Writer, Objektserialisierung, ...

DIY-Datenstrukturen

verkettete Listen, zweifach verkettete Listen, Binärbäume, binäre Suchbäume, Iterable, Iterator, siehe auch "Collections Framework"! ...

Generics

Was?, Wozu?, <Syntax>, Typsicherheit trotz generischer Programmierung, Gültigkeit bei Kompilierung und zur Laufzeit, ...

Collections Framework

Aufbau, List, Set, Map, Objekt-Identität im Kontext von HashMaps/HashSets, ...

Vergleichen und Sortieren

Comparable, Comparator, Collections.sort(), Sortieralgorithmen ...

Multithreading

Prozess, Thread, Runnable, synchronized, volatile, ...

Externe Programmbibliotheken

Wozu?, Wie werden sie eingebunden?, Maven, Gradle ...

Unit-Tests

Wozu?, Schreiben von Unit-Tests, Test-driven-development, JUnit, ...

Allgemeines / Sonstiges

Naming Conventions

Konventionen für Bezeichner in Java, Groß-/Kleinschreibung, ...

Dokumentation mit JavaDoc

Wozu?, /**, @param, @return, <code></code>, best practices, ...

Contributors

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

🖋 💡

Demirro

🤔

👉 Dieses Projekt folgt der all-contributors-Spezifikation.
Contributions (Beiträge) jeder Art sind willkommen und werden an dieser Stelle wie oben zu sehen aufgeführt!

You can’t perform that action at this time.