Sorry, Bild fehlt

IT Wissenssplitter

Sherlock und Desiderat

Sorry, Bild fehlt

JAVA - Sherlocks Spickzettel zu JAVA


Bücher, die geholfen haben...

Programmieren lernen mit Java - von Hans-Peter Habelitz
3. aktualisierte und überarbeitete Auflage 2015 
Rheinwerk Computing / Rheinwerk Verlag GmbH
ISBN 978-3-8362-3517-4

Java - Der Grundkurs - von Michael Kofler
1. Auflage 2015 
Galileo Press, Bonn 2015
ISBN 978-3-8362-2923-4

... wird noch erweitert ...

Quellen im Internet

Dokumentationen im Internet

https://docs.oracle.com/javase/7/docs/
https://javabeginners.de/index.php



Hallo Welt - der Klassiker in JAVA geschrieben

Ein erster Ansatz

// Hallo Welt

public class HalloWelt {
	public static void main (String args[]) {
		System.out.println("Hallo Welt");
	}
}

Ein zweiter Ansatz

// Hallo Welt

import javax.swing.JOptionPane;

public class HalloWeltGrafisch {
	public static void main (String args[]) {
		JOptionPane.showMessageDialog(null,"Hallo Welt");
	}
}



Quellen dazu im Internet:

https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html
https://javabeginners.de/Ein-_und_Ausgabe/Dialoge/Meldungsfenster.php
https://de.wikibooks.org/wiki/Java_Standard:_Grafische_Oberfl%C3%A4chen_mit_Swing:_Top_Level_Container:_javax_swing_JOptionPane

Den Quellcode kompilieren und der Programmaufruf

Kompilieren

javac HalloWelt.java

Programmaufruf

java HalloWelt

Daten zwischenspeichern (nicht dauerhaft)

Datentypen und die Klasse String

// https://de.wikibooks.org/wiki/Java_Standard:_Primitive_Datentypen

public class WerteSpeichern {
	public static void main (String args[]) {
		float a;
		double b;
		int c;
		long d;
		String e;
		boolean f;
		
		a = 1.40f;
		b = 4;
		c = 25;
		d = 123456789;
		e = "Das ist eine Zeichenkette ";
		f = true;
		
		System.out.print("float => a = ");
		System.out.println(a);
		System.out.print("double => b = ");
		System.out.println(b);
		System.out.print("int => c = ");
		System.out.println(c);
		System.out.print("long => d = ");
		System.out.println(d);
		System.out.print("String => e = ");
		System.out.println(e);
		System.out.print("boolean => f = ");
		System.out.println(f);

	}
}

Umgang mit Zeichenketten (Strings)

Zum Speichern von Strings können verschiedene Klassen verwendet werden. Wird der gespeicherte String vielfach geändert, so ist der Klasse StringBuilder oder StringBuffer der Vorzug zu geben. Wird mit Threads gearbeitet, so ist StringBuffer zu verwenden.
Das nachfolgende Programmbeispiel zeigt die Unterschiede der Verarbeitunggeschwindigkeiten. Die gebildete Zeichenkette wird dabei 399999 mal verändert.


import java.time.Instant;
import java.time.Duration;


public class BildungVonStrings {

	public static void main (String args[]) {
		
		Instant startzeit;
		Instant endzeit;
		Duration dauer;
		String zeichenketteEins = "";
		
		System.out.println("Starte Bildung einer langen Zeichenkette mit der Klasse String...");
		startzeit = Instant.now();
		for (int anzahl = 1; anzahl < 400000; anzahl = anzahl + 1) {
				zeichenketteEins = zeichenketteEins + "A";
		}
		endzeit = Instant.now();
		dauer = Duration.between(startzeit,endzeit);
		System.out.println("Dauer der Zeichenkettenbildung mit der Klasse String: " + dauer.toMillis() + " ms");
		System.out.println("Laenge des Strings:" + zeichenketteEins.length());
		System.out.println("\n");


		StringBuilder zeichenketteZwei = new StringBuilder(400000);
		System.out.println("Starte Bildung einer langen Zeichenkette mit der Klasse StringBuilder und ausreichend dimensioniert...");
		startzeit = Instant.now();
		for (int anzahl = 1; anzahl < 400000; anzahl = anzahl + 1) {
				zeichenketteZwei.append("A");
		}
		endzeit = Instant.now();
		dauer = Duration.between(startzeit,endzeit);
		System.out.println("Dauer der Zeichenkettenbildung mit der Klasse StringBuilder: " + dauer.toMillis() + " ms");
		System.out.println("Laenge des Strings:" + zeichenketteZwei.length());
		System.out.println("\n");

		StringBuilder zeichenketteDrei = new StringBuilder("");
		System.out.println("Starte Bildung einer langen Zeichenkette mit der Klasse StringBuilder nicht ausreichend dimensioniert...");
		startzeit = Instant.now();
		for (int anzahl = 1; anzahl < 400000; anzahl = anzahl + 1) {
				zeichenketteDrei.append("A");
		}
		endzeit = Instant.now();
		dauer = Duration.between(startzeit,endzeit);
		System.out.println("Dauer der Zeichenkettenbildung mit der Klasse StringBuilder: " + dauer.toMillis() + " ms");
		System.out.println("Laenge des Strings:" + zeichenketteDrei.length());
		System.out.println("\n");
	}
}

Schleifen

Die WHILE-Schleife


public class WhileSchleife {
	public static void main (String args[]) {
		
		int n = 1;
		
		// Gibt die Zahlen 1 bis 4 aus
		while (n < 5) {
			System.out.println(n); 
			n = n + 1;
		}
	}
}

Die DO-WHILE-Schleife


public class DoWhileSchleife {
	public static void main (String args[]) {
		
		int n = 1;
		
		// Gibt die Zahlen 1 bis 4 aus
		 do {
			System.out.println(n); 
			n = n + 1;
		} while (n < 5);
	}
}

Die FOR-Schleife


public class ForSchleife {
	public static void main (String args[]) {
		
		// Gibt die Zahlen 1 bis 4 aus
		 for (int n = 1;  n  < 5; n = n + 1) {
			System.out.println(n); 
		}
	}
}

Verzweigungen

IF-Anweisung

public class IfAnweisung {
	public static void main (String args[]) {
		
		int n = 1;
		
		// Wenn nur eine Anweisunhg folgt ist folgende Kurzform möglich
		if (n > 0)
			System.out.println("n ist größer als 0");
			
		if (n > 0) {
			System.out.println("Die Auswertung ergibt:");
			System.out.println("n ist größer als 0!");
		}
	}
}

IF-Else-Anweisung

public class IfElseAnweisung {
	public static void main (String args[]) {
		
		int n = 1;
		
		System.out.println("n = " + n);
		
		if (n > 0) {
			System.out.println("n ist größer als 0!");
		} else {
			System.out.println("n ist kleiner oder gleich 0!");
		}
	}
}