Java Grundlagen - © M. Meili

Lernhilfe für Java

1. Variablen und Datentypen

Grundlegende Datentypen
// Primitive und Objekt-Typen int alter = 18; double preis = 19.95; char note = 'A'; boolean istStudent = true; String name = "Max Mustermann";
Java unterscheidet zwischen primitiven Datentypen (int, double, char, boolean) und Objekttypen (String).

2. Ein- und Ausgabe

Ausgabe mit System.out.println
// Konsolenausgabe System.out.println("Hallo du da!"); System.out.println("Mein erstes Java Programm");
Ausgabe:
Hallo du da!
Mein erstes Java Programm
Eingabe mit Scanner
// Benutzereingabe Scanner scanner = new Scanner(System.in); System.out.print("Wie heisst du? "); String name = scanner.nextLine(); System.out.print("Wie alt bist du? "); int alter = scanner.nextInt(); System.out.println("Hallo " + name + ", du bist " + alter + " Jahre alt!"); scanner.close();
Scanner liest Benutzereingaben aus der Konsole. nextLine() für Text, nextInt() für Zahlen.

3. Bedingungen (if/else)

Einfache Bedingungen
int punkte = 85; if (punkte >= 90) { System.out.println("Sehr gut!"); } else if (punkte >= 70) { System.out.println("Gut!"); } else { System.out.println("Mehr üben!"); }
Mit else if kannst du mehrere Bedingungen prüfen.

4. Schleifen

For-Schleife
// Klassische for-Schleife for (int i = 1; i <= 5; i++) { System.out.println("Zahl: " + i); }
While-Schleife & Do-While
// Countdown mit while int countdown = 3; while (countdown > 0) { System.out.print(countdown + "... "); countdown--; } System.out.println("Start!"); // Do-While: läuft mindestens einmal int zahl; do { System.out.print("Zahl eingeben (1-5): "); // zahl = scanner.nextInt(); // Scanner nötig } while (zahl < 1 || zahl > 5);
Do-While-Schleifen laufen mindestens einmal, egal wie die Bedingung ist.

5. Methoden

Normale Methoden
// Methoden in Java public static void ausgabe(String text) { System.out.println("Ausgabe: " + text); } public static double kreisflaeche(double radius) { final double PI = 3.14159; return PI * radius * radius; }
Methoden werden mit public static deklariert. void heisst: kein Rückgabewert.
Methoden mit Parametern
// Parameter und Arrays public static int addieren(int a, int b) { return a + b; } public static void verdoppeln(int[] zahlen) { for (int i = 0; i < zahlen.length; i++) { zahlen[i] = zahlen[i] * 2; } }

6. Arrays

Array-Grundlagen
// Array erstellen int[] zahlen = {10, 20, 30, 40, 50}; System.out.println("Erstes Element: " + zahlen[0]); System.out.println("Zweites Element: " + zahlen[1]); for (int i = 0; i < zahlen.length; i++) { System.out.println("Index " + i + ": " + zahlen[i]); }
Arrays haben eine feste Grösse. Zugriff auf Elemente mit [].
For-Each Schleife
// Einfaches Durchlaufen int[] zahlen = {5, 10, 15, 20}; System.out.println("Alle Zahlen:"); for (int zahl : zahlen) { System.out.print(zahl + " "); }

7. Objekte und Klassen

Klasse und Objekt
public class Hund { String name; int alter; public void bellen() { System.out.println("Wuff!"); } } public class Main { public static void main(String[] args) { Hund h = new Hund(); h.name = "Rex"; h.alter = 3; h.bellen(); // Ausgabe: Wuff! } }

8. Vererbung & Polymorphismus

Kindklasse erweitert Elternklasse
class Tier { public void machGeräusch() { System.out.println("Irgendein Geräusch"); } } class Katze extends Tier { public void machGeräusch() { System.out.println("Miau!"); } } public class Main { public static void main(String[] args) { Tier t = new Tier(); Katze k = new Katze(); t.machGeräusch(); // Irgendein Geräusch k.machGeräusch(); // Miau! } }

9. Fehlerbehandlung (Exceptions)

try-catch
public class FehlerDemo { public static void main(String[] args) { try { int x = 5 / 0; } catch (ArithmeticException e) { System.out.println("Fehler: Division durch Null!"); } } }

10. Sammlungen (Collections)

ArrayList und HashMap
import java.util.ArrayList; import java.util.HashMap; public class CollectionDemo { public static void main(String[] args) { ArrayList namen = new ArrayList<>(); namen.add("Anna"); namen.add("Bob"); for (String n : namen) { System.out.println(n); } HashMap punkte = new HashMap<>(); punkte.put("Anna", 95); punkte.put("Bob", 80); System.out.println("Anna hat " + punkte.get("Anna") + " Punkte."); } }

11. String-Methoden

Wichtige Methoden für Strings
public class StringMethoden { public static void main(String[] args) { String text = "Java ist cool!"; System.out.println(text.substring(5)); // "ist cool!" System.out.println(text.replace("cool", "super")); // "Java ist super!" System.out.println(text.split(" ")[0]); // "Java" System.out.println(text.equals("java ist cool!")); // false System.out.println(text.toUpperCase()); // "JAVA IST COOL!" } }

12. Input/Output mit Dateien

Datei schreiben und lesen
import java.io.FileWriter; import java.io.FileReader; import java.io.IOException; public class DateiDemo { public static void main(String[] args) throws IOException { FileWriter fw = new FileWriter("test.txt"); fw.write("Hallo Datei!"); fw.close(); FileReader fr = new FileReader("test.txt"); int c; while ((c = fr.read()) != -1) { System.out.print((char) c); // Ausgabe: Hallo Datei! } fr.close(); } }

13. Kommentare & Dokumentation

Unterschiedliche Kommentararten
// Einzeiliger Kommentar /* Mehrzeiliger Kommentar */ /** * Javadoc-Kommentar * Kann für Methoden und Klassen verwendet werden. */ public class KommentarDemo { public static void main(String[] args) { System.out.println("Kommentare helfen beim Verstehen!"); } }

14. Modifizierer und Sichtbarkeit

public, private, protected, static, final
public class Person { private String name; // Nur innerhalb der Klasse sichtbar protected int alter; // Auch für Kindklassen sichtbar public static int zaehler; // Klassenvariable public final String ort = "Zürich"; // Wert kann nicht verändert werden public String getName() { // Öffentliche Methode return name; } }

15. Operatoren

Mathematische und logische Operatoren
public class OperatorenDemo { public static void main(String[] args) { int a = 5, b = 3; System.out.println(a + b); // Addition: 8 System.out.println(a > b); // Vergleich: true System.out.println(a != b); // Ungleich: true boolean x = true, y = false; System.out.println(x && y); // Logisch UND: false System.out.println(x || y); // Logisch ODER: true } }