Präsentation herunterladen
Veröffentlicht von:Christianne Nager Geändert vor über 10 Jahren
1
Einführung in die Programmierung Anweisungen und Datentypen
Fakultät für Wirtschaftswissenschaften Einführung in die Programmierung Anweisungen und Datentypen Uwe Lämmel
2
Methoden-Körper = Algorithmus
Anweisungen und Daten Unsere Weltsicht: Dinge + Handlungen Begriffswelt der Informatik: Daten + Algorithmen Algorithmus = Handlungsanweisung public void taktsignalGeben( ) { minuten.erhoehen( ); if (minuten.gibWert( ) == 0) { // Limit wurde erreicht! stunden.erhoehen( ); } //if anzeigeAktualisieren(); } //taktsignalGeben Methoden-Körper = Algorithmus
3
Begriffswelt der Informatik:
Anweisungen Unsere Weltsicht: Dinge + Handlungen Begriffswelt der Informatik: Daten + Algorithmen Anweisungen: einfache Anweisungen: Zuweisung: wert=0; name=neuName; ... return-Anweisung: return umsatz/anzahl; return name; ... Methodenaufruf: stunden.setzeWert(neu); ... strukturierte Anweisungen Sequenz (Klammerung): { name=neuName; wert=0; } Alternative (IF-Anweisung)
4
Alternative: if-Anweisung
if (Bedingung) { Anweisungen // Dann-Fall, wenn Bedingung true ist } else { Anweisungen // Sonst-Fall, Bedingung ist false if ( z % 2 == 0) { System.out.println( "gerade Zahl") ; } else { System.out.println("ungerade Zahl");
5
if-Anweisung: Interpretation
if (Bedingung) { Anweisungen } else { Anweisungen } Bedingung muss vom Typ boolean sein. Besteht Anweisungen nur aus einer Anweisung, können Klammern entfallen else-Teil kann entfallen Interpretation: Wenn Bedingung den Wert true liefert, wird (nur) nachfolgende Anweisung abgearbeitet; liefert Bedingung false, wird (nur) Anweisung des else-Teils abgearbeitet.
6
Bedingung einer if-Anweisung
ist logischer Ausdruck: gleich == a == 0 ungleich != a != 0 größer > a > 10 größer gleich >= a >=0 kleiner < kleiner gleich <= und && 0<a && a<100 oder | | a>0 | | a==0 nicht ! ! (a==0) logische Variable/Konstante: boolean b1; b1 !b1
7
Entscheidungsbaum Rot? Röhren? ? nicht möglich Warnung essbar essbar?
8
Pilze class Pilz { private String name;
private boolean rot; // Wahrheitswert: true / false private boolean roehren; public Pilz(String pname, boolean istRot, boolean hatRoehren){ name = pname; rot = istRot; roehren = hatRoehren; } //Pilz public String pilzIst() { String ergebnis; if (rot) { if (roehren) { ergebnis= "nicht moeglich"; } else { ergebnis= "giftig!"; } } else { if (roehren) { ergebnis= "essbar";} else { ergebnis= "vielleicht essbar";} } //if return ergebnis; } //pilzIst Pilze if (rot) { if (roehren) { ergebnis= "nicht moeglich"; } else { ergebnis= "giftig!"; } } else { if (roehren) { ergebnis= "essbar";} else { ergebnis= "vielleicht essbar";}
9
Entscheidungsbaum - Aufgabe
Artikel Nummer MWSt in % Leitungswasser 1000 7 Brot 1010 Butter 1020 Bier 1100 19 Buch 2000 Fahrkarte-Nahverker 3100 Fahrkarte-Fernverkehr 3200 Miete 4100 Arzthonorar 4200 Bekleidung 5100 Geräte 5200 Nutzen Sie Vergleiche für die Entscheidungen!
10
Daten – Interpretation
natürliche Sprache Maschinencode Programmierung Compiler Programm Programmiersprache
11
Daten class Person { //-- Datenfelder, Merkmale, Attribute
private String name; private int geboren; //-- Geburtsjahr! public Person(String nachname, int jahr) { name = nachname; geboren = jahr; } //Person public int getAlter(int jahr ) { int alter = jahr – geboren; return alter; } //getAlter } // Person … Person p1 = new Person("Meier",1980); Instanz-Variablen formale Parameter lokale Variable aktuelle Parameter Referenz und Objekt
12
Variable: Name + Typ + Wert
Name = Handgriff Typ liefert Interpretation des Wertes int a; Person p1; 435 a (Ein Person- Objekt) p1 A4CB890 Ein Person- Objekt new
13
Variable = Speicherplatz
2 Byte (26 A4 6B 30): 0101 0111 0100 1001 Interpreation als … short char = 5*163+7*16²+4*16+9 = ASCII 87 ASCII 73 ‘W‘ ‘I‘ Angabe des Typs einer Variablen erforderlich
14
Variable und einfache Datentypen
435 a int a = 435; int b = a; a = 4711; 435 b 4711 a 435 b
15
Einfache Datentypen boolean logischer Wert: true/false 1 Byte
char Zeichen 2 Byte byte Ganzzahl – Byte short Ganzzahl 2 Byte int Ganzzahl 4 Byte long Ganzzahl 8 Byte float Fließpunktzahl 4 Byte double Fließpunktzahl 8 Byte
16
Objekte stets mittels Konstruktor erzeugen: new
Objekt-Datentypen vordefiniert (siehe Java-API): String selbst entwickelt: TicketAutomat Nummernanzeige Uhrenanzeige Student Unternehmen … Objekte stets mittels Konstruktor erzeugen: new
17
Variable, die auf Objekte zeigen
Person p1; p1 = new Person("Katz",1979); Person p2; p2 =p1; p2.setName(„Hund“); Was liefert p1.getName() ? p1 Person Objekt: "Katz" p1 Person Objekt: "Katz" p1 p2 // Was bewirkt: Person p3 = new Person(); p3 = p1; Vorsicht bei Objekt-Variablen!
18
Variable, die auf Objekte zeigen?
String s = "Anton"; String s1 = new String("Anton"); Uhrenanzeige wecker = new Uhrenanzeige(); Datumsanzeige kalender; Kalender = new Datumsanzeige();
19
Instanzen-Variablen – privat
Sicherheit Stabile Schnittstelle (Wartbarkeit) Geheimnisprinzip Schutz vor unerwünschter Veränderung class Person { private String name; … public String getName() { return name; } Zugriffsmethoden name geboren Programm-Entwicklung: Instanzen-Variablen: private Zugriff über public-Methoden
20
Daten und Anweisungen class TestPerson {
public static void main(String[ ] args) { Person p1 = new Person("Berg", 1978); Person p2 = new Person("Tal", 1990); int limit = 18; int imJahr = 2007; if (p1.getAlter(imJahr)>=limit) { System.out.println("Kredit fuer "+p1.getName()+ ": JA"); } else System.out.println("Kredit fuer "+p1.getName()+ ": NEIN"); …
21
Zusammenfassung Dinge + Handlungen => Daten und Algorithmen
Algorithmen = Folge von Anweisungen einfache <> strukturierte Anweisungen Zuweisung, return, Methoden-Aufruf Sequenz, Alternative (if-Anweisung) einfache Datentypen (int, double, boolean, …) Referenz-Datentypen (Objekt-Typen) Speicherverwendung und Datentypen
22
Ende
23
Entscheidungsbaum Neuer Monat
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.