Befehlsreferenz Java
Diese Seite ist auch erreichbar unter link.ngb.schule/befehle-java
Diese Übersicht fasst die (für die Schule) wichtigsten Java-Befehle und -Konstrukte auf einer Seite zusammen.
Eine vollständige Liste aller Java-Befehle kann in der Java API Dokumentation nachgeschlagen werden.
Gezieltere Informationen gibt es hier im Wiki, zum Beispiel im Lernpfad:Objektorientierte Programmierung mit Java oder Lernpfad:Würfelspiel in Java.
Das Inhaltsverzeichnis und die Suchfunktion in eurem Browser helfen euch beim Auffinden von Informationen. Drückt dazu
+ und gebt einen Suchbegriff ein (z.B. „Zufall“).Die Syntax der Sprachelemente ist zum Teil als Syntaxdiagramm dargestellt.
Kommentare
Zeilen, die mit //
beginnen werden vom Programm ignoriert. Sie dienen dazu, den Quelltext mit Kommentaren zu versehen, die das Verständnis erleichtern.
// Ich werde nicht ausgeführt
// System.out.println("Ich auch nicht");
System.out.println("Ich aber"); // Ab hier wird wieder ignoriert
Um größere Teile des Quelltextes zu ignorieren können die Symbole /*
und */
benutzt werden.
/*
Ich werde nicht ausgeführt
System.out.println("Ich auch nicht");
*/
System.out.println("Ich aber");
JavaDoc Kommentare
JavaDoc ist eine besondere Form von Kommentaren, die dazu genutzt werden, Klassenelemente zu dokumentieren. Da sie eine vorgegebene Struktur haben, können sie automatisch verarbeitet werden und zum Beispiel als Website ausgegeben werden. Die [# Java-API Dokumentation] ist zum Beispiel so entstanden.
Ein JavaDoc Kommentar hat diese Form:
/**
* Kurze Beschreibung der Methode
*
* Ggf. ausführliche Beschreibung.
* @param a Erster Summand
* @param b Zweiter Summand
* @return Summe der Parameter
*/
public int summe( int a, int b ) {
return a+b;
}
Weiter Beispiele und Beschreibungen finden sich im Wikibook Java Standard.
BlueJ kann die JavaDoc-Dokumentation direkt anzeigen, indem man oben rechts im Editor con "Quelltext" auf "Dokumentation" wechselt.
Datentypen
Name | Beschreibung | Datentyp | Beispielwerte |
---|---|---|---|
Integer | Ganze Zahlen | int
|
1 , 4 , 19 , 1295
|
Double | Gleitkommazahlen | double
|
4.5 , 6.1 , 7.5
|
Boolean | Wahrheitswerte | boolean
|
true , false
|
Character | Einzelne Unicode-Zeichen | char
|
'x' , 'a'
|
Eine vollständige Liste ist im Lernpfad:Objektorientierte Programmierung mit Java zu finden.
Strings (Texte)
Strings bestehen aus einer Kette von char
s, sie gehören aber nicht zu den primitiven Datentypen, sondern sind Objekte. Daher gelten für Strings einige Besonderheiten:
- Strings besitzen Methoden, um mit den enthaltenen Zeichnketten zu arbeiten:
int String.length()
- Ermittelt die Länge der Zeichenkette.String String.toUpperCase()
- Erstellt eine Kopie der Zeichenkette, die nur aus Großbuchstaben besteht.- Und noch viele mehr ...
- Strings müssen mit der
equals
-Methode verglichen werden, nicht mit==
:String hallo = "Hallo, Welt!"; if( hallo.equals("Hallo und Tschüß!") ) { System.out.println("Die Strings passen nicht!"); }
Typumwandlungen
Datentypen können ineinander umgewandelt werden (Typecasting). Dazu wird der Zieltyp in runden Klammern dem Wert voran gestellt.
int zahl = (int) 4.563;
boolean wahrheit = (boolean) zahl;
Je nachdem, welche Typen vorkommen, wird ein anderes Vorgeben beim Umwandeln benutzt. Zum Beispiel werden beim double
Wert 4.563
im Beispiel oben einfach die Nachkommastellen angeschnitten, um daraus den int
Wert 4
zu machen. (Es wird also nicht gerundet!)
Operatoren
Rechenoperatoren
Operator | Beschreibung | Beispiel |
---|---|---|
+ - * / |
Addition, Subtraktion, Multiplikation, Division | 5 + 3 // = 8 5 - 3 // = 2 5 * 3 // = 15 5 / 2 // = 2.5 |
+= -= *= /= |
Kurzformen für die Veränderung einer Zahlvariablen. | i += 3 // i = i + 1 i -= 3 // i = i - 1 i *= 3 // i = i * 3 i /= 2 // i = i / 2 |
%
|
Modulo-Operator: Berechnet den Rest eine ganzzahligen Division. | 5 % 3 // = 2 1 % 2 // = 1 8 % 4 // = 0 |
Vergleichsoperatoren
Operator | Beschreibung | Beispiel |
---|---|---|
==
|
Zwei primitive Datentypen auf Gleichheit prüfen. | 5 == i
|
!=
|
Zwei primitive Datentypen auf Ungleichheit prüfen. | 5 != i
|
>
|
"größer als" | 5 > i
|
<
|
"kleiner als" | 5 < i
|
>=
|
"größer oder gleich" | 5 >= i
|
<=
|
"kleiner oder gleich" | 5 <= i
|
equals(Object o)
|
String-Vergleiche | "Hallo".equals("Welt")
|
Logische Verknüpfungen
Operator | Beschreibung | Beispiel |
---|---|---|
&&
|
"UND": Ist wahr, wenn der linke und der rechte Ausdruck wahr sind. | true && (a == b)
|
||
|
"ODER": Ist wahr, wenn der linke oder der rechte Ausdruck wahr sind (oder auch beide). | true || (a == b)
|
!
|
"NICHT": Negiert den Ausdruck. | !(a == b)
|
Allgemeine Programmkonstrukte
Variablen
Lokale Hilfsvariablen
Objektvariablen
Parametervariablen
Rückgabevariablen
Methoden
Programmkonstrukte zur Ablaufsteuerung
Bedingte Anweisungen
Beschreibung | Syntax | Beispiel |
---|---|---|
if-Anweisung
(Bedingte Anweisung) |
if( i > 5 ) {
System.out.println('i ist grösser als 5');
}
| |
if-else-Anweisung
(Alternative) |
if( i > 5 ) {
System.out.println('i ist grösser als 5');
} else {
System.out.println('i ist kleiner oder gleich 5');
}
| |
if-elseif-Anweisung | if( i > 5 ) {
System.out.println('i ist grösser als 5');
} elseif( i < 3 ) {
System.out.println('i ist kleiner als 3');
} else {
System.out.println('i ist 3, 4 oder 5');
}
| |
switch-Anweisung
Kurzschreibweise für viele if-elseif-Anweisungen hintereinander. Die switch-Anweisung funktioniert nur mit primitiven Datentypen. (Also z.B. mit |
Datei:Java-Syntax-Switch.png | int i;
switch( i ) {
case 1:
System.out.println("1 wurde erkannt!");
break;
case 2:
System.out.println("2 wurde erkannt!");
break;
default:
System.out.println("Keine 1 oder 2!");
break;
}
|
Schleifen
Beschreibung | Syntax | Beispiel |
---|---|---|
while-Schleife
(Kopfgesteuerte Schleife, Bedingte Schleife) |
Datei:Java-Syntax-While.png | int i = 0;
while( i < 10 ) {
System.out.println("i ist jetzt " + i);
i += 1;
}
|
do-while-Schleife
(Fußgesteuerte Schleife) |
Datei:Java-Syntax-Dowhile.png | boolean isRunning = true;
int i = 0;
do {
System.out.println("i ist jetzt " + i);
isRunning = 1 < 10;
} while( isRunning );
|
for-Schleife
(Zählschleife) |
Datei:Java-Syntax-For.png | for( int i = 0; i < 100; i++ ) {
System.out.println("i ist jetzt " + i);
}
|
Fehlerbehandlung
Beschreibung | Syntax | Beispiel |
---|---|---|
try-catch-Anweisung | Datei:Java-Syntax-Trycatch.png | try {
// Anweisungen die ggf. einen Fehler (Exception) produzieren
// Sobald ein Fehler produziert wurde, wird in den catch-Teil gesprungen
} catch( Exception e1 ) {
System.err.println("Ein Fehler ist aufgetreten!");
}
|
try-catch-finally-Anweisung | Datei:Java-Syntax-Trycatch.png | try {
// Anweisungen die ggf. einen Fehler (Exception) produzieren
// Sobald ein Fehler produziert wurde, wird in den catch-Teil gesprungen
} catch( Exception e1 ) {
System.err.println("Ein Fehler ist aufgetreten!");
} finally {
System.err.println("Diese Anweisung wird auf jeden Fall ausgeführt.");
}
|
Statt Exception
können auch konkrete Fehler abgefangen werden. Dien Liste der Standard-Exceptions findet sich unter java.lang.Exception. (Es können aber auch eigene Exceptions erstellt werden.) Es ist auch erlaubt mehrere catch
-Blöcke anzugeben:
try {
// Anweisungen die ggf. mehrere Fehler (Exceptions) produzieren
// z.B. InputMismatchException oder NoSuchElementException
// in Scanner#nextInt().
} catch( InputMismatchException e1 ) {
System.err.println("Eingabe kann nicht in Zahl umgewandelt werden!");
} catch( NoSuchElementException e2 ) {
System.err.println("Keine weitere Eingabe vorhanden!");
}
Klassen aus der Java-API
Ausgaben
Beschreibung | Beispiel |
---|---|
Ausgabe von Text in der Konsole | System.out.print("Hallo, Welt!");
|
Ausgabe von Text mit Zeilenumbruch in der Konsole | System.out.println("Hallo, Welt!");
|
Ausgabe von Text mit Formatierungen in der Konsole | System.out.printf("%s, %s!\n", "Hallo", "Welt");
|
Ausgabe von Text in der Fehlerkonsole | System.err.println("Hallo, Welt!");
|
java.lang.Math
Sammlung von mathematischen Hilfsfunktionen (Runden, Wurzel, Logarithmus, ...). Ein vollständige Übersicht findet ihr in der Java API Dokumentation.
Beschreibung | Signatur | Beispiel |
---|---|---|
Rundet die Zahl zahl .
|
long Math.round(double zahl) | long gerundet = Math.round(14.235); // 14
|
Zufallszahlen zwischen 0 und 1 erzeugen. (1 wird nie erzeugt.) | long Math.random() | double zufall = Math.random();
|
Quadratwurzel berechnen. | double Math.sqrt(double radikant) | double wurzel = Math.sqrt(2); // 1.41
|
java.util.Random
Hilfsklasse, um Zufallswerte verschiedener Typen zu erzeugen.
import java.util.Random;
Beschreibung | Signatur | Beispiel |
---|---|---|
Zufällige ganze Zahl von 0 bis max-1 erzeugen.
|
int nextInt(int max) | Random rand = new Random();
// Zufallszahl von 0 bis 99
int zufall = rand.nextInt(100);
// Zufallszahl von 50 bis 69
int zufall2 = rand.nextInt(20)+50;
|
Zufälligen Wahrheitswert erzeugen. | boolean nextBoolean() | Random rand = new Random();
boolean zufall = rand.nextBoolean();
|
Zufällige Zahl zwischen 0 und 1 erzeugen, wobei 1 niemals erzeugt wird (exklusive). | double nextDouble() | Random rand = new Random();
double zufall = rand.nextDouble();
|
java.util.Scanner
Die Klasse Scanner ist eine Hifsklasse, die das Einlesen von Benutzereingaben in der Konsole erleichtert. Zunächst muss ein Objekt der Klasse mit dem Parameter System.in
erstellt werden: Scanner konsole = new Scanner(System.in);
.
import java.util.Scanner;
Beschreibung | Signatur | Beispiel |
---|---|---|
Einlesen einer ganzen Zahl. Ist die Eingabe keine Zahl, wird eine java.util.InputMismatchException produziert. (Siehe Fehlerbehandlung zum Umgang mit Exceptions.) | int nextInt() | Scanner konsole = new Scanner(System.in);
int eingabe = konsole.nextInt();
|
Einlesen einer Textzeile. Die Eingabe muss mit | abgeschlossen werden.String nextLine() | Scanner konsole = new Scanner(System.in);
String eingabe = konsole.nextLine();
|
Datentyp-Klassen
java.lang.String
Beschreibung | Signatur | Beispiel |
---|---|---|
Anzahl Zeichen in der Zeichenkette. | int length() | String text = "Hallo, Welt!";
int zeichen = text.length(); // 12
|
Gibt das Zeichen an Index i zurück. Das erste Zeichen hat den Index 0 .
|
char charAt( int i ) | char firstChar = "Hallo, Welt!".charAt(0); // 'H'
char fourthChar = "Hallo, Welt!".charAt(3); // 'l'
|
Wandelt alle Zeichen in Großbuchstaben um. | String toUpperCase() | String text = "Hallo, Welt!";
String upper = text.toUpperCase(); // HALLO, WELT!
|
Wandelt alle Zeichen in Kleinbuchstaben um. | String toLowerCase() | String text = "Hallo, Welt!";
String upper = text.toLowerCase(); // hallo, welt!
|
Findet die Position im String, an der der Text suchen zum ersten Mal vorkommt. Kommt der Text gar nicht vor, dann wird -1 zurück gegeben. Das erste Zeichen hat den Index 0 .
|
int indexOf( String suchen ) | String text = "Hallo, Welt!";
int position = text.indexOf(","); // 5
text.indexOf("Foo"); // -1
|
Ersetzt das erste vorkommen von suche mit ersatz .
|
String replaceFirst(String suche, String ersatz) | String text = "Hallo, Welt!";
text.replaceFirst("Welt", "Wald"); // Hallo, Wald!
|
java.lang.Integer
Beschreibung | Signatur | Beispiel |
---|---|---|
Konvertiert einen String in eine Zahl. | int Integer.parseInt(String text) | String text = "5";
int zahl = Integer.parseInt(text);
|
Konvertiert eine Zahl in einen String. | String Integer.toString(int zahl) | int zahl = 5;
String alsText = Integer.toString(zahl);
|
Zu allen primitiven Datentypen gibt es eigene Datentyp-Klassen (sog. Wrapper-Klassen):