Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | luther-bonnes |
View: | 103 times |
Download: | 0 times |
Dozent: Stefan Dissmann, Lehrstuhl Software-TechnologieRaum 312/GB IV (Campus Süd)[email protected]
Praxis-Repetitorium JAVAzusätzliche, ergänzende Lehrveranstaltung
PRJ 2007/2Stefan Dissmann
Motivation
Ziele• Programmieren lernen• JAVA lernen• objektorientierte Konzepte lernen• objektorientierte Programmierung mit JAVA
experimentell erfahren und erarbeiten
Zielgruppe• Studierende mit keinen oder geringen Vorerfahrungen• aber: JAVA in der Theorie wird vorausgesetzt
PRJ 2007/3Stefan Dissmann
Organisation der Veranstaltung
• zuhause: vorbereiten – nacharbeiten – vervollständigen
• Vorlesung: Überblick geben
• Übung: Übungsblatt bearbeiten (Hilfe von Tutoren)- Problem verstehen- Lösung konzipieren- Lösung umsetzen in JAVA- Korrektheit der Lösung überprüfen
• Zukunft: erste Erfahrungen vertiefen
PRJ 2007/4Stefan Dissmann
Material, Literatur
Bücher:• hunderte Varianten zu JAVA – selbst lesen• Einführungen – Referenzhandbücher• Umfang ungleich Qualität• Vorsicht bei spektakulärem Einstieg
PRJ 2007/5Stefan Dissmann
JAVA-ProgrammierungBegriffe und Arbeitsablauf
Editor
JAVA-Programm
.java
Virtuelle Maschine
JRE - JAVA Runtime
Environment
Byte Code
.class
jav
a
Übersetzer
Compilerjavac
Programmierumgebung
BlueJ
JDK – JAVA Development Kit
PRJ 2007/6Stefan Dissmann
JAVA – ein erstes Beispiel
Kommentar
Kommentar
Bezeichn
er
/* Autor Stefan
erstellt am 16.10.2005
*/
public class EinErstesProgramm {
public static void main(String[] args) {
// eine Zeile ausgeben
System.out.println("Ergebnis: " + (5 + 7));
}
}
PRJ 2007/7Stefan Dissmann
Zahlen
JAVA – ein erstes Beispiel
Schlüsselwört
er
Sonderzeichen
Text
/* Autor Stefan
erstellt am 16.10.2005
*/
public class EinErstesProgramm {
public static void main(String[] args) {
// eine Zeile ausgeben
System.out.println("Ergebnis: " + (5 + 7));
}
}
PRJ 2007/8Stefan Dissmann
Schlüsselwörter
public class EinErstesProgramm {
public static void main(String[] args) {
System.out.println("Ergebnis: " + (5 + 7));
}
}
• class – Klasse, Baustein in JAVA• public – „öffentlich“
• Exakte Schreibweise ist wichtig!
PRJ 2007/9Stefan Dissmann
Text
public class EinErstesProgramm {
public static void main(String[] args) {
System.out.println("Ergebnis: " + (5 + 7));
}
}
• " " - Textkonstante (String-Literal)• Inhalt ist fast beliebig, wird aber exakt übernommen• \ ist Metazeichen (\n, \“)
PRJ 2007/10Stefan Dissmann
Sonderzeichen
public class EinErstesProgramm {
public static void main(String[] args) {
System.out.println("Ergebnis: " + (5 + 7));
}
}
Klammerungen:• { } – Block, z.B. Begrenzen der ganzen Klasse• ( ) – Zuordnung zu Aufgaben• ( ) – aber auch mathematische Bindung
• auch: [ ], /* */, " "
PRJ 2007/11Stefan Dissmann
Sonderzeichen
public class EinErstesProgramm {
public static void main(String[] args) {
System.out.println("eine erste Ausgabe");
System.out.println("Ergebnis: " + (5 + 7));
}
}
• Trennzeichen:; - Ende einer Anweisung
•Anweisungen steuern Programmablauf
PRJ 2007/12Stefan Dissmann
Leerzeichen
public class EinErstesProgramm{public static voidmain(String[]args){System.out.println("Ergebnis: "+ (5+7));}
Leerzeichen besitzen auch eine Bedeutung:Trennen von Wörtern
Hinweise: • Leerzeichen sind meist überflüssig!• Leerzeichen können zwischen anderen Elementen beliebig
ergänzt werden.• Leerzeichen können die Lesbarkeit verbessern!
PRJ 2007/13Stefan Dissmann
Zusammenfassung
Programm besteht aus mehreren Bestandteilen:• Schlüsselwörter• Sonderzeichen• Bezeichner• Kommentare • Texte• Zahlen
• Es gelten feste Regeln für (das Zusammensetzen)den syntaktischen Aufbau! = Grammatik von Java
PRJ 2007/14Stefan Dissmann
Zusammenfassung
JAVA-Programme besitzen Vorgaben:
public class ??Bezeichner?? {
public static void main(String[] args) {
??Anweisungen??
}
????
}
bis auf Weiteres gilt: Vorgaben werden so hingenommen, an ???? wird programmiert.
PRJ 2007/15Stefan Dissmann
Variable
public class EinErstesProgramm {
public static void main(String[] args) {
System.out.println("Ergebnis: " + (5 + 7));
}
}
Ziel:Ergebnisse aufbewahren
Verwendetes Konzept:Variable
ist ein Bezeichner, der für (einen) Wert steht, der sich ändern kann
PRJ 2007/16Stefan Dissmann
Variable
public class EinErstesProgramm {
public static void main(String[] args) {
int zz1;
zz1 = 1;
System.out.println("Ergebnis: " + (zz1 + 7));
}
}
Vereinbarung
Zuweisung
Wertabfrage
PRJ 2007/17Stefan Dissmann
Vereinbarung
Variablen in JAVA sind getypt:Variable kann nur Werte einer bestimmten Wertemenge aufbewahren!Die Wertemenge heißt Typ der Variablen.
int zz1;
int (für Integer) bezeichnet ein Intervall der ganzen Zahlen.Nur Zahlen aus diesem Intervall dürfen zz1 zugewiesen werden.
auch erlaubt: int zz1, zz2, nochEineVariable;
PRJ 2007/18Stefan Dissmann
Zuweisung
Zuweisung erfolgt von rechts nach links.
Symbol: =
int zz1, zz2, nochEineVariable;
zz1 = 1; zz1 hat jetzt den Wert 1.
zz1 = 5;
jetzt hat zz1 den Wert 5.
Zuweisung ist eine Anweisung!
PRJ 2007/19Stefan Dissmann
Zuweisung
zz2 = 4 + 3;
zz2 hat den Wert 7.
zz1 = zz2 + 7;
zz1 auf 14.zz1 = zz1 + 1;
zz1 um 1 erhöht: 15.zz1 = zz2 = 27;
zz1 und zz2 erhalten den Wert 27.
aber: zz2 = 27 liefert ein Ergebnis!also: Zuweisung ist auch ein Ausdruck!
PRJ 2007/20Stefan Dissmann
Initialisierung
Eigenes Sprachkonzept:Zuweisung eines Wertes bei Vereinbarung
int zz1 = 0;
int zz2 = 26;
int zz3 = 2, zz4;
Vorteile:• kürzer• übersichtlicher
PRJ 2007/21Stefan Dissmann
Wertabfrage
Name der Variablen steht für ihren aktuellen Wert!
int zz1 = 1;
System.out.println(zz1);
Zeigt 1 an!zz1 = 4;
System.out.println(zz1);
Zeigt 4 an!zz1 = zz1 + 5;
System.out.println(zz1);
Zeigt 4 +5 (=9) an!