Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1
Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings Exceptions Arbeiten und Attribute, mit Wrapper-Klassen Dateien Methoden Arrays Installation File Methoden try, und catch, Enums und finally überladen Konfiguration Ein Kapselung Collections-Framework Assertions Programm RandomAccessFile und mit Konstruktoren Java erstellen Vererbung Grundlegende Arbeiten Collection, mit Streams Sprachelemente List, Map Datentypen Vererbungsketten Character-Streams Operatoren finale Byte-Streams Klassen, abstrakte Klassen Packages Kontrollstrukturen Nützliche Klassen und Packages Auswahl Zugriffsrechte Zufallszahlen in Packages Interfaces Schleifen Datum und und Adapterklassen Zeit Die Klasse System 31.05.2008 Marcel Wieczorek 2
Basiswissen 31.05.2008 Marcel Wieczorek 3
Ablauf bei der Programmerstellung Texteditor Java-Programm Java-Compiler Bytecode Solaris Windows Linux 31.05.2008 Marcel Wieczorek 4
Aufbau einer Anwendung Beispiel: HalloWelt.java * @author Marcel Wieczorek public class HalloWelt { * @param args public static void main(string[] args) { // TODO Auto-generated method stub System.out.println("Hallo Welt!"); 31.05.2008 Marcel Wieczorek 5
Grundlegende Sprachelemente Reservierte Wörter abstract const final int public throw assert continue finally interface return throws boolean default float long short transient break do for native static true byte double goto new strictfp try case else if null super void catch enum implements package switch volatile char extends import private synchronized while class false instanceof protected this 31.05.2008 Marcel Wieczorek 6
Kontrollstrukturen Kontrollstrukturen Verzweigungen Schleifen if-anweisung switch-anweisung while-anweisung do-while- Anweisung for-anweisung if-else-anweisung 31.05.2008 Marcel Wieczorek 7
if-anweisung * @author Marcel Wieczorek public class IfElse { * @param args Programmparameter als Fließkommazahl public static void main(string[] args) { // TODO Auto-generated method stub double invoiceamount = 0d; // Rechnungsbetrag double discountamount = 0d; // Rabattbetrag final double DISCOUNT_RATE = 0.05; // Rabatt als Konstante // Programmparameter auswerten und speichern invoiceamount = Double.parseDouble(args[0]); if (invoiceamount > 500 && invoiceamount < 1000) { discountamount = invoiceamount * DISCOUNT_RATE; else if (invoiceamount >= 1000) { discountamount = invoiceamount * (2 * DISCOUNT_RATE); else { System.out.println("Bei Werten über 500 erhalten Sie " + "Rabatt."); if (discountamount!= 0) System.out.println("Sie erhalten einen Rabatt von: " + discountamount); System.out.println("Ihr Gesamtbetrag beträgt: " + (invoiceamount discountamount)); 31.05.2008 Marcel Wieczorek 8
?-Operator * @author Marcel Wieczorek public class IfElse { * @param args Programmparameter als Fließkommazahl public static void main(string[] args) { // TODO Auto-generated method stub double invoiceamount = 0d; // Rechnungsbetrag double discountamount = 0d; // Rabattbetrag final double DISCOUNT_RATE = 0.05; // Rabatt als Konstante // Programmparameter auswerten und speichern invoiceamount = Double.parseDouble(args[0]); discountamount = invoiceamount > 500 && invoiceamount < 1000? invoiceamount * DISCOUNT_RATE : invoiceamount >= 1000? invoiceamount * (2 * DISCOUNT_RATE) : 0d; System.out.println(discountAmount!= 0? "Sie erhalten einen Rabatt von: " + invoiceamount : ""); System.out.println("Ihr Gesamtbetrag beträgt: " + (invoiceamount discountamount)); 31.05.2008 Marcel Wieczorek 9
switch-anweisung * @author Marcel Wieczorek public class ControlSwitch { * @param args * Programmparameter public static void main(string[] args) { // TODO Auto-generated method stub int number = Integer.parseInt(args[0]); int result = number % 2; switch (result) { case 0: { System.out.println(number + " ist eine gerade Zahl"); break; case 1: { System.out.println(number + " ist eine ungerade Zahl"); break; default: // in diesem Fall unerreichbar 31.05.2008 Marcel Wieczorek 10
while-anweisung public void dowhile(int int value) { System.out.println("doWhile"); while (value < maximum) { System.out.println(value); value++; 31.05.2008 Marcel Wieczorek 11
do-while-anweisung public void dodowhile(int int value) { System.out.println("doDoWhile"); do { System.out.println(value); value++; while (value < maximum); 31.05.2008 Marcel Wieczorek 12
for-anweisung public void dofor(int value) { System.out.println("doFor"); for (int i = value; i < maximum; i++) { System.out.println(i); 31.05.2008 Marcel Wieczorek 13