1 / 23

Einführung in die Programmierung Anweisungen und Datentypen

Fakultät für Wirtschaftswissenschaften. Einführung in die Programmierung Anweisungen und Datentypen. Uwe Lämmel. www.wi.hs-wismar.de/~laemmel Uwe.Laemmel@hs-wismar.de. Begriffswelt der Informatik: Daten + Algorithmen. Unsere Weltsicht: Dinge + Handlungen. Anweisungen und Daten.

sagira
Download Presentation

Einführung in die Programmierung Anweisungen und Datentypen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fakultät für Wirtschaftswissenschaften Einführung in die ProgrammierungAnweisungen und Datentypen Uwe Lämmel www.wi.hs-wismar.de/~laemmel Uwe.Laemmel@hs-wismar.de

  2. Begriffswelt der Informatik: Daten + Algorithmen Unsere Weltsicht: Dinge + Handlungen Anweisungen und Daten Algorithmus = Handlungsanweisung public voidtaktsignalGeben( ) { minuten.erhoehen( ); if (minuten.gibWert( ) == 0) {// Limit wurde erreicht! stunden.erhoehen( ); } //if anzeigeAktualisieren(); }//taktsignalGeben Methoden-Körper = Algorithmus

  3. Begriffswelt der Informatik: Daten + Algorithmen Unsere Weltsicht: Dinge + Handlungen Anweisungen 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 Bedingungfalse, 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. Rot? Röhren? Röhren? ? ? Warnung essbar nicht möglich essbar? Entscheidungsbaum

  8. class Pilz { private Stringname; private booleanrot; // Wahrheitswert: true / false private booleanroehren; public Pilz(Stringpname, booleanistRot,booleanhatRoehren){ name = pname; rot = istRot; roehren = hatRoehren; }//Pilz public StringpilzIst() { Stringergebnis; if (rot) { if (roehren) { ergebnis= "nicht moeglich"; } else { ergebnis= "giftig!"; } } else { if (roehren) { ergebnis= "essbar";} else { ergebnis= "vielleicht essbar";} } //if returnergebnis; } //pilzIst Pilze if (rot) { if (roehren) { ergebnis= "nicht moeglich"; } else { ergebnis= "giftig!"; } } else { if (roehren) { ergebnis= "essbar";} else { ergebnis= "vielleicht essbar";}

  9. Entscheidungsbaum - Aufgabe Nutzen Sie Vergleiche für die Entscheidungen!

  10. Daten – Interpretation natürliche Sprache Maschinencode Programmierung Compiler Programm Programmiersprache

  11. Daten Instanz-Variablen class Person { //-- Datenfelder, Merkmale, Attribute privateString name; privateint geboren; //-- Geburtsjahr! public Person(String nachname, int jahr) { name = nachname; geboren = jahr; } //Person publicint getAlter(int jahr ) { int alter = jahr – geboren; return alter; } //getAlter } // Person … Person p1 =newPerson("Meier",1980); formale Parameter lokale Variable aktuelle Parameter Referenz und Objekt

  12. 435 a Ein Person- Objekt new (Ein Person- Objekt) A4CB890 p1 Variable: Name + Typ + Wert • Name = Handgriff • Typ liefert Interpretation des Wertes int a; Person p1;

  13. 0101 0111 0100 1001 Angabe des Typs einer Variablen erforderlich Variable = Speicherplatz 2 Byte (26 A4 6B 30): char short Interpreation als … ASCII 87ASCII 73  ‘W‘ ‘I‘ = 5*163+7*16²+4*16+9 = 22.345

  14. 435 435 435 a b b 4711 a Variable und einfache Datentypen • int a = 435; • int b = a; • a = 4711;

  15. Einfache Datentypen boolean logischer Wert: true/false 1 Byte char Zeichen 2 Byte byte Ganzzahl –128 .. +127 1 Byte short Ganzzahl 2 Byte int Ganzzahl 4 Byte long Ganzzahl 8 Byte float Fließpunktzahl 4 Byte double Fließpunktzahl 8 Byte

  16. Objekt-Datentypen vordefiniert (siehe Java-API): String selbst entwickelt: TicketAutomat Nummernanzeige Uhrenanzeige Student Unternehmen … Objekte stets mittels Konstruktor erzeugen: new

  17. Vorsicht bei Objekt-Variablen! Variable, die auf Objekte zeigen p1 • Person p1; • p1 = new Person("Katz",1979); • Person p2;p2 =p1;p2.setName(„Hund“); • Was liefert p1.getName() ? PersonObjekt:"Katz" p1 p1 PersonObjekt:"Katz" p2 // Was bewirkt: Person p3 = new Person(); p3 = p1;

  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 class Person { private String name; … public String getName() { return name; } … • Sicherheit • Stabile Schnittstelle (Wartbarkeit) • Geheimnisprinzip • Schutz vor unerwünschter Veränderung Zugriffsmethoden namegeboren Programm-Entwicklung: • Instanzen-Variablen: private • Zugriff über public-Methoden

  20. Daten und Anweisungen class TestPerson { publicstaticvoid 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

More Related