// Primitive und Objekt-Typenint 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
// KonsolenausgabeSystem.out.println("Hallo du da!");
System.out.println("Mein erstes Java Programm");
Ausgabe: Hallo du da! Mein erstes Java Programm
Eingabe mit Scanner
// BenutzereingabeScanner scanner = newScanner(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-Schleifefor (int i = 1; i <= 5; i++) {
System.out.println("Zahl: " + i);
}
While-Schleife & Do-While
// Countdown mit whileint countdown = 3;
while (countdown > 0) {
System.out.print(countdown + "... ");
countdown--;
}
System.out.println("Start!");
// Do-While: läuft mindestens einmalint 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 Javapublic 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 Arrayspublic 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 erstellenint[] 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 [].
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
}
}