PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Zusammenfassung der Vorwoche
Kritische Betrachtung
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Imperative Programmierung -Entwicklungswerkzeuge
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
SWITCH - Anweisung.
Verzweigung oder bedingte Anweisung Weiter mit PP.
Schleifen-beobachtung
Erweiterte Zuweisungskompatibilität
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Imperative Programmierung Funktionen und Parameter
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
Problemstellung Berechne die Summe der Quadrate aller natürlichen Zahlen bis zu einer vorgegebenen Zahl (bspw. 100)! Oder mathematisch: Berechne.
PKJ 2005/1 Stefan Dissmann Methoden (Motivation) Idee: Identische Programmabschnitte zusammenfassen und mit einem Namen versehen Vorteile: Übersichtlichkeit.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
Programmierkurs JAVA zusätzliche, ergänzende Lehrveranstaltung
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Einführung in Java1 Einführung in JAVA.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Thema: Fibonacci-Zahlen
Bestimmung des ggT zweier Zahlen
Verzweigung.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
2.4 Rekursion Klassifikation und Beispiele
Die Klasse String und ihre Methoden
Unterprogramme in JAVA
© 2004 Pohlig - Taulien Explizite Typenumwandlung.
EPROG Tutorium #4 Philipp Effenberger
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Programmiervorkurs WS 2014/15 Instanzmethoden
Programmiervorkurs WS 2014 Referenzdatentypen
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Natürliches Programmieren
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Übersicht Nachtrag zu Ausdrücken
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java Programme nur ein bisschen objektorientiert.
Grundkurs Informatik mit Java
 Präsentation transkript:

PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte Zahlen Es gelten feste Regeln für den syntaktischen Aufbau! = Grammatik von Java

PKJ 2005/2 Stefan Dissmann Zusammenfassung Vorwoche J AVA-Programme besitzen eine festen Rahmen: public class ??Bezeichner?? { public static void main(String[] args) { ??Anweisungen?? } ???? } bis auf weiteres gilt: der Rahmen wird so hingenommen, an ???? wird programmiert.

PKJ 2005/3 Stefan 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

PKJ 2005/4 Stefan Dissmann Variable public class EinErstesProgramm { public static void main(String[] args) { int zz1; zz1 = 1; System.out.println("Ergebnis: " + (zz1 + 7)); } Vereinbarung Zuweisung Wertabfrage

PKJ 2005/5 Stefan Dissmann Variable Vereinbarung macht den Bezeichner als Variable im Programm bekannt! int zz1; Zuweisung weist den Wert der rechten Seite der Variablen zu! zz1 = 1; Wertabfrage liefert den Wert der Variablen! System.out.println(zz1 + 7);

PKJ 2005/6 Stefan 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;

PKJ 2005/7 Stefan 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!

PKJ 2005/8 Stefan 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!

PKJ 2005/9 Stefan Dissmann Initialisierung Eigenes Sprachkonzept: Zuweisung eines Wertes bei Vereinbarung int zz1 = 0; int zz2 = 26; int zz3 = 2, zz4; Vorteile: kürzer übersichtlicher

PKJ 2005/10 Stefan 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!

PKJ 2005/11 Stefan Dissmann Problemstellung Berechne die Summe der Quadrate aller natürlichen Zahlen bis zu einer vorgegebenen Zahl (bspw. 100)! Oder mathematisch: Berechne z=1 100 z 2 = z=1 100 z * z = 1*1 + 2*2 + 3*3 + 4*4 + … + 100*100 =…((((1*1) + 2*2) + 3*3) + 4*4) + … + 100*100)

PKJ 2005/12 Stefan Dissmann Konzeption der Lösung Aufgabe: Berechne …((((1*1) + 2*2) + 3*3) + 4*4) + … + 100*100) 1. Algorithmus einer Lösung: (1) fange mit z = 1 an; (2) berechne das Quadrat von z; (3) bestimme die neue Zwischensumme: alte Zwischensumme + berechnetes Quadrat (4) erhöhe z um 1; (5) prüfe ob z > 100 ist, sonst gehe wieder zu (2) (6) gib die Zwischensumme aus

PKJ 2005/13 Stefan Dissmann Konzeption der Lösung 1. Algorithmus einer Lösung: (1) fange mit z = 1 an; (2) berechne das Quadrat von z; (3) bestimme die neue Zwischensumme: alte Zwischensumme + berechnetes Quadrat (4) erhöhe z um 1; (5) prüfe ob z > 100 ist, sonst gehe wieder zu (2) (6) gib die Zwischensumme aus 2. Algorithmus einer Lösung: (1) fange mit z = 1 an; (neu) prüfe ob z <= 100 ist, sonst gehe zu (6) (vergleiche mit 5) (2) berechne das Quadrat von z; (3) bestimme die neue Zwischensumme alte Zwischensumme + berechnetes Quadrat (4) erhöhe z um 1; (neu) gehe zu (2) (6) gib die Zwischensumme aus

PKJ 2005/14 Stefan Dissmann Lösung mit JAVA public class summeQuads { public static void main(String[] args) { int z = 1; // (1) int summe = 0; while(z <= 100) { // (neu) summe = summe + z * z; // (2) und (3) z = z + 1; // (4) } // (neu) System.out.println("Summe Quadratzahlen: " + summe); //(6) } Ausgabe: Summe Quadratzahlen:

PKJ 2005/15 Stefan Dissmann While-Anweisung Syntaktischer Aufbau: while(Bedingung) Anweisung; Semantik (Bedeutung): Wiederhole Anweisung solange, bis Bedingung falsch ergibt. Bedingungen müssen wahr (true) oder falsch (false) liefern.

PKJ 2005/16 Stefan Dissmann While-Anweisung Mehrere Anweisungen wiederholen? Zusammenfassen als Block while(Bedingung){ Anweisung-1; … Anweisung-n; } Bezeichnung: Schleife, while-Schleife Anmerkung: Formatierung spielt keine Rolle! Blockanfang Blockende

PKJ 2005/17 Stefan Dissmann Neue Aufgabe Bestimme die natürliche Zahl n, für die sich die größte Summe der Quadrate aller natürlichen Zahlen bis zu dieser Zahl ergibt, die kleiner als ein vorgegebener Wert (bspw ) bleibt! Oder mathematisch: Bestimme n, so dass Berechne z=1 n z

PKJ 2005/18 Stefan Dissmann Lösung mit JAVA public class summeQuads2 { public static void main(String[] args) { int z = 1; int summe = 0; while(summe <= ) { summe = summe + z * z; z = z + 1; } System.out.println("gesuchte Zahl: " + (z - 1)); } Ausgabe: gesuchte Zahl: 84 Korrektur notwendig

PKJ 2005/19 Stefan Dissmann Erweiterung der Aufgabe zusätzlich: Ausgeben der Summe vor Überschreiten von Auswirkung: Korrektur wird aufwändig, da z*z subtrahiert werden muss.

PKJ 2005/20 Stefan Dissmann Lösung mit JAVA public class summeQuads3 { public static void main(String[] args) { int z = 1; int summe =0, testsumme = 0; while(testsumme <= ) { summe = testsumme; testsumme = summe + z * z; z = z + 1; } System.out.println("gesuchte Zahl: " + (z - 1)); System.out.println("Summe Quadrate: " + summe); } Ausgabe: gesuchte Zahl: 84 Summe Quadrate: vorläufige r Wert

PKJ 2005/21 Stefan Dissmann Zusammenfassung Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen Typ. Konzepte für Variablen: Vereinbarung, Initialisierung, Zuweisung, Wertabfrage

PKJ 2005/22 Stefan Dissmann Zusammenfassung While-Schleife wiederholt eine Anweisung oder einen Block von Anweisungen aufgrund einer Bedingung. Syntax: while(Bedingung)while(Bedingung) { Anweisung; Anweisungen } Bedingung liefert bei ihrer Auswertung true oder false.