Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a date ) 6 */ 7 public class Testklasse 8 9 // instance variables - replace the example below with your own 10 private int x; 11 12 /** 13 * Constructor for objects of class Testklasse 14 */ 15 public Testklasse () 16 17 // initialise instance variables 18 x = 0; 19 20 21 /** 22 * An example of a method - replace this comment with your own 23 * 24 * @param y a sample parameter for a method 25 * @return the sum of x and y 26 */ 27 public int samplemethod ( int y) 28 29 // put your code here 30 return x + y; 31 32 Klassenkommentar Klassendefinition Deklaration der Instanzvariablen Konstruktor Methodenkommentar Methodendefinition Klassendeklaration einfach public class NameDerKlasse // Deklaration der Instanzvariablen private Datentyp1 attribut1 ; private Datentyp2 attribut2 ; // Konstruktoren // Methodendefinitionen als Unterklasse einer Oberklasse public class NameDerKlasse extends Oberklasse // Deklaration der zusaetzlichen Instanzvariablen private Datentyp1 neuesattribut1 ; private Datentyp2 neuesattribut2 ; // Konstruktoren // Methodendefinitionen
Werkzeugkiste Java 2 Konstruktor Eine Klasse kann auch mehrere Konstruktoren unterschiedlicher Signatur besitzen. einfach public NameDerKlasse () // Initialisierung der Instanzvariablen attribut1 = einstandardwert1 ; attribut2 = einstandardwert2 ; mit Parameter public NameDerKlasse ( Datentyp1 einstartwert1, Datentyp2 einstartwert2 ) // Initialisierung der Instanzvariablen // mit den angegebenen Startwerten attribut1 = einstartwert1 ; attribut2 = einstartwert2 ; bei einer Unterklasse einer Oberklasse Objekterzeugung public NameDerKlasse ( Datentyp1 einstartwertvererbt, Datentyp2 einstartwertneu ) // Konstruktoraufruf der Oberklasse super ( einstartwertvererbt ); // Initialisierung der zusaetzlichen Instanzvariablen neuesattribut1 = einstartwertneu ; neuesattribut2 = einstandardwert ; einobjekt = new NameDerKlasse (); einobjekt = new NameDerKlasse ( einstartwert1, einstartwert2 ); 2 Accessoren Zugriff auf Instanzvariablen Get-Methode mit Rückgabeoperator return public Datentyp gibattribut1 () return attribut1 ; Set-Methode mit Wertzuweisung = public void setzeattribut1 ( Datentyp einwert ) attribut1 = einwert ;
Werkzeugkiste Java 3 3 Methoden und Nachrichten Methodengrundgerüst ohne Ergebnisrückgabe public void methodenname ( Datentyp1 einwert1, Datentyp2 einwert2 ) // Methodenkommentar // Deklaration von Hilfsvariablen ohne Sichtbarkeit Datentyp hilfsvariable ; anweisungen ; mit Ergebnisrückgabe public Ergebnistyp methodenname ( Datentyp1 einwert1, Datentyp2 einwert2 ) // Methodenkommentar // Deklaration von Hilfsvariablen ohne Sichtbarkeit Datentyp hilfsvariable ; anweisungen ; // Ergebnisrueckgabe return ergebnis ; Nachrichten (Methodenaufrufe) // ohne Parameter einobjektname. tuetwas (); // mit Angabe von Parametern einobjektname. tuetwasmit ( einwert ); einobjektname. tuetwasmit ( einwert, einweitererwert ); 4 Operatoren Logik (Wahrheitswerte) && und oder! nicht Rechenoperationen + Addition Subtraktion Multiplikation / Division % Divisionsrest (modulo) Textoperationen + Konkatenierung (Aneinanderhängen) Vergleiche (liefern true oder false) == gleicher Wert! = ungleicher Wert < kleiner als <= kleiner oder gleich > größer als >= größer oder gleich 5 Datentypen int (ganze Zahl) 347 double (Gleitkommazahl) 3.14, 2.7e12 boolean (Wahrheitswert) true, false,!true,!false (logische Negation) char (Schriftzeichen) M, a, String (Zeichenkette) "eine Zeichenkette"
Werkzeugkiste Java 4 Typumwandlung in eine Zeichenkette: "" + einwert (Konkatenierung mit der leeren Zeichenkette) in eine Gleitkommazahl: (double)einwert Array (Feld) DATENTYP ist z.b. int, String oder Name einer Klasse und legt fest, von welcher Art die Einträge des Feldes sein dürfen. // Deklaration private DATENTYP [] einfeld ; // Initialisierung eines Feldes mit 20 Eintraegen einfeld = new DATENTYP [20]; einfeld. length // Laenge des Feldes einfeld [ i] // Eintrag an der Stelle i ( Index ) einfeld [0] // erster Eintrag einfeld [ einfeld. length - 1] // letzter Eintrag 6 Einbinden externer Module import-anweisung gleich zu Beginn des gesamten Java-Quelltextes import java. paket. Klasse ; Listen ArrayList<DATENTYP> DATENTYP ist z.b. int, String oder Name einer Klasse und legt fest, von welcher Art die Elemente der Liste sein dürfen. import java. util. ArrayList ; // Deklaration private ArrayList < DATENTYP > eineliste ; // Initialisierung der Liste eineliste = new ArrayList < DATENTYP >; eineliste. size (); // Laenge der Liste eineliste. add ( einelement ); eineliste. get ( einindex ); // Element an der Stelle einindex eineliste. set ( einindex, einneueselement ); // ersetze Element an einindex eineliste. indexof ( einelement ); // Index des Elementes 7 Schlüsselwörter this das aktuelle Objekt selbst super verweist auf die Oberklasse null nichts, leerer Wert void Nichtstyp zur Kennzeichnung von Methoden ohne Rückgabewert 8 Sichtbarkeit von Attributen und Methoden private nur für Objekte der Klasse selbst protected nur für Objekte dieser Klasse und ihrer Unterklassen public für Objekte aller Klassen
Werkzeugkiste Java 5 9 Kontrollstrukturen Sequenz einobjekt. tuetwas (); einobjekt. tuetwasanderes (); Befehlsblock eine Folge von Nachrichten, eingeschlossen durch geschweifte Klammern einseitige Verzweigung Existenztest if ( einebedingung ) einobjekt tuetwas (); ; if ( einobjekt!= null ) einanderesobjekt. tuetwas (); ; zweiseitige Verzweigung if ( einebedingung ) einobjekt. tuetwas (); else einanderesobjekt. tuetwas (); ; Mehrfachverzweigung Zählschleife if ( einebedingung ) einobjekt. tuetwas (); else if ( eineweiterebedingung ) einobjekt. tuetwasanderes (); else einanderesobjekt. tuetwas (); ; for ( Initialisierung, Abbruchbedingung, Schritt ) zu wiederholende Anweisungen ; ; // Schleifenvarable i mit Angabe des Datentyps initialisieren for ( int i=0, i <=15, i=i +3) einobjekt. tuetwas (); einobjekt. tuetwasmit (i); ; Listendurchlauf for ( Datentyp jedeselement : eineliste ) jedeselement. tuetwas (); einobjekt. tuetwasmit ( jedeselement ); ; Bedingte Wiederholung while ( einebedingung ) einobjekt. aendere ( einebedingung ); ;
Werkzeugkiste Java 6 10 Threads und Verzögerungen Threads eine Befehlsfolge im Hintergrund ausführen für einen Einführungskurs zu kompliziert Wartezeiten eine Befehlsfolge für ein paar Millisekunden unterbrechen try Thread. sleep (5000); // 5000 Millisekunden catch ( InterruptedException ex) ex. printstacktrace (); 11 Ein- und Ausgabe Textausgabe System. out. println (" eine Zeichenkette in einer neuen Zeile "); System. out. print (" eine Zeichenkette in derselben Zeile "); Texteingabe vgl. http://wiki.zum.de/java/texteingabe // Zu Beginn des Programmes Bibliothek f r Ein / Ausgabestroeme einbinden import java.io.*; //... // Eingabestrom erzeugen BufferedReader br = new BufferedReader ( new InputStreamReader ( System. in )); // leere Zeichenkette fuer das Ergebnis der Eingabe erzeugen String antwort = null ; System. out. println (" Gib eine Antwort ein : "); // Einlesen mit Fehlerbehandlung try antwort = br. readline (); // Einlesen in die Zeichenkette catch ( IOException ausnahme ) ausnahme. printstacktrace (); Schlager