Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung Dozent: Stefan Dissmann, Lehrstuhl Software-Technologie Raum 312/GB IV (Campus Süd) stefan.dissmann@udo.edu
Motivation Ziele Zielgruppe 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
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
Material, Literatur Bücher: hunderte Varianten zu JAVA – selbst lesen Einführungen – Referenzhandbücher Umfang ungleich Qualität Vorsicht bei spektakulärem Einstieg
JAVA-Programmierung Begriffe und Arbeitsablauf Virtuelle Maschine JRE - JAVA Runtime Environment Editor Programmierumgebung BlueJ JAVA-Programm .java Byte Code .class java Übersetzer Compiler javac JDK – JAVA Development Kit
JAVA – ein erstes Beispiel Kommentar /* 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)); } Bezeichner Kommentar
JAVA – ein erstes Beispiel /* 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)); } Schlüsselwörter Zahlen Text Sonderzeichen
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!
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, \“)
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: [ ], /* */, " "
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
Leerzeichen public class EinErstesProgramm{public static void main(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!
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
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.
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
Variable Vereinbarung public class EinErstesProgramm { public static void main(String[] args) { int zz1; zz1 = 1; System.out.println("Ergebnis: " + (zz1 + 7)); } Zuweisung Wertabfrage
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;
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!
Zuweisung zz1 = zz2 + 7; zz1 auf 14. zz1 = zz1 + 1; 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!
Initialisierung Eigenes Sprachkonzept: Zuweisung eines Wertes bei Vereinbarung int zz1 = 0; int zz2 = 26; int zz3 = 2, zz4; Vorteile: kürzer übersichtlicher
Wertabfrage Name der Variablen steht für ihren aktuellen Wert! int zz1 = 1; System.out.println(zz1); Zeigt 1 an! zz1 = 4; Zeigt 4 an! zz1 = zz1 + 5; Zeigt 4 +5 (=9) an!