Programmieren in Java

Größe: px
Ab Seite anzeigen:

Download "Programmieren in Java"

Transkript

1 Einführung in die (imperative) Programmierung (Teil 3)

2 2 Wiederholung (Datentyp) Ein Datentyp beschreibt eine Menge von Werten der gleichen Art Der Datentyp legt zudem fest, welche Operationen auf seinen Werten erlaubt ist Primitive Datentypen: Datentypen deren Werte nicht in andere Datentypen zerlegt werden können Beispiel: Angenommen es gäbe einen Datentyp CallNumber CallNumber(areaCode, number) CallNumber buisness = CallNumber(0251, ); CallNumber besteht aus areacode und number Beides sind ganze Zahlen aus dem Bereich int CallNumber ist also zusammengesetzt aus den primitiven Datentyp int CallNumber {( areacode, number ) areacode int, number int

3 3 Wiederholung (Variablen) Variable sind Bezeichner, die zur Laufzeit für den Wert eines bestimmten Datentyps stehen Eine Variable wird mittels des Zuweisungsoperators = definiert: Deklaration: DATENTYP Bezeichner = WERT AUSDRUCK ; Zuweisung: optional Bezeichner = WERT AUSDRUCK DATENTYP ; Java ist case-senstive : Zwei Bezeichner mit gleichem Namen, aber unterschiedlicher Großund Kleinschreibung, beschreiben nicht die gleiche Variable! Vor der ersten Nutzung müssen Variablen einen Wert haben Variablen haben eine Gültigkeitsbereich, genannt Scope In Java wird ein Scope durch Code-Blöcke definiert

4 4 Wiederholung (statische Typisierung) Java ist statisch typisiert Innerhalb eines Scopes kann es keine Deklaration zweier Variablen mit gleichen Namen geben Wenn eine Variable für Werte eines bestimmten Typs deklariert wurde, kann sie innerhalb ihres Scopes keinen Wert eines anderen Typs annehmen { int number = 27; SCOPE I { int secondnumber = number * number ; float number = 37f; // Error! SCOPE II float secondnumber = f; // Ok!

5 5 Wiederholung (Coersion) Automatische Umwandlung einer Variablen eines kleineren Datentyps in einen größeren float number = 37 * 27f ; float number = int * float ; Multiplikationsoperator * erwartet Operanden gleichen Typs Links wird float erwartet also muss rechts ein float-wert stehen Typ int ist Teilmenge des Typs float Java kann den Wert 37 automatisch zum Wert 37.0f umwandeln float number = 37.0f * 27f ; float number = float * float = Die Deklaration/Zuweisung ist also zulässig

6 6 Wiederholung (Cast) Wird links int erwartet, wird die Zuweisung nicht mehr compiliert: int number = 37 * 27f ; Links wird int erwartet, also muss rechts int liefern Der Compiler überprüft nicht die Werte sondern nur die Datentypen float ist größer als int keine automatische Umwandlung möglich Man kann den Compiler zwingen die Umwandlung durchzuführen Cast: ( DATENTYP ) WERT AUSDRUCK BEZEICHNER int number = ( int ) ( 37 * 27.0f ) ; int number = (int) (37 * 27.0f); Der Cast-Typ muss Teilmenge des Ursprungstyps sein

7 7 Wiederholung (boolesche Operatoren) & true false true true false false false false true false true true true false true false ^ true false true false true false true false Und Oder Ausschließendes Oder(xor) int number =?; boolean test1 = number >= 0; boolean test2 = number <= 100; boolean testand = test1 && test2; boolean testor = test1 test2; boolean testxor= test1 ^ test2; int number = 50; int number = -50; testand testor testxor => true => true => false testand testor testxor => false => true => true Die Operatoren und & bieten per Doppelnotation sogenannte Kurzschlusssemantik, die in der Regel bevorzugt werden sollten

8 8 Wiederholung: Bedingte Anweisung Die if-else-anweisung: int number =?; if ( BEDINGUNG ) { if (number > 0) { SATZ; BLOCK System.out.println("Größer 0"); else { SATZ; BLOCK else { System.out.println("Kleiner gleich 0"); BEDINGUNG == WERT VARIABLE AUSDRUCK boolean!-operator Umkehr einer booleschen Aussage! int number =?; true false false true Negation boolean notnull = number < 0 && number > 0; notnull = number!= 0; notnull =!(number == 0); notnull =!(number < 0 number > 0);

9 9 Fallunterscheidung Mit der if-else Konstruktion lässt sich der Programmverlauf in Abhängigkeit einer Bedingung in zwei Richtungen verzweigen Was wenn die Bedingung nicht auf true oder false reduzierbar ist? char color =? falls color == 'R' falls color == 'O' falls color == 'G' System.out.println("bremsen"); System.out.println("fahren"); System.out.println("gas"); Möglichkeit Reduktion : Die Bedingungen auf einzelne Aussagen reduzieren Geschachtelte if-else Blöcke

10 10 Fallunterscheidung (if-else) char color =?; if (color == 'R') { System.out.println("bremsen"); else { if (color == 'O') { System.out.println("gas"); else { if (color == 'G') { System.out.println("fahren"); Nachteile: Verschachtelungstiefe des Codes steigt mit jeder neuen Bedingung Im schlechtesten Fall muss jede Bedingung überprüft werden

11 11 Fallunterscheidung (switch-case) Das switch-case Konstrukt dient zur Verzweigung des Programmcodes in Abhängigkeit von n-verschiedenen Bedingungen switch ( AUSDRUCK ) { char color =?; case LITERAL 1 : { SATZ; BLOCK break case : case LITERAL n : { SATZ; BLOCK switch (color) { case 'R': { System.out.println("bremsen"); break; case 'O': { System.out.println("gas"); break; AUSDRUCK break int char String enum case 'G': { System.out.println("fahren"); break;

12 12 Switch-Case Die switch-zeile erwartet einen geklammerten Ausdruck Der Ausdruck muss entweder vom Typ int, String oder enum sein Pro möglichen Wert kann ein case-block definiert werden Nach case muss ein konstanter Wert (Literal) angegeben werden Nach dem Doppelpunkt wird ein Code-Block definiert, der den Programmverlauf für dieses Literal enthält Enthält dieser Code-Block nur einen Satz kann die Klammerung weggelassen werden Der Codeblock wird mit einem break abgeschlossen Was passiert: Der Ausdruck wird ausgewertet Das Programm wird im übereinstimmenden case-block fortgefahren Existiert keine Übereinstimmung wird der nächsten Satz nach dem switch-block ausgeführt

13 13 Switch-Case (Besonderheiten) Ist der Programmverlauf für verschiedene Fälle identisch, so können die case-blöcke zusammengefasst werden case LITERAL 1 : case LITERAL m : case LITERAL n : case 'A': case 'B': case 'C': { Die break-anweisung ist optional Achtung: ohne break werden alle nachfolgenden Blöcke bis zum ersten break ausgeführt, egal ob deren Bedingung eintrat oder nicht! case 'D': {System.out.println("D"); case 'E': {System.out.println("E"); break; case 'F': {System.out.println("F"); break; char color = 'D'; D E Im Beispiel wird switch über einen Wert vom Typ char ausgeführt Der Datentyp char enthält mehr Werte als nur die drei definierten Fälle Mit default anstelle von case kann Default-Verhalten festgelegt werden default : default: {System.out.println("Unbekannte Eingabe"); break;

14 14 Switch vs. if Da bei switch alle case-werte konstant sind, ist bereits beim Compilieren also vor der Laufzeit klar wo in welchem Fall hingesprungen werden muss Dynamische Probleme sind mit switch nicht lösbar: int number =? falls number < 0 falls number == 0 falls color > 0 System.out.println("klein"); System.out.println("groß"); System.out.println("null"); Die Bedingung kleiner bzw. größer als sind nicht konstant und daher nicht mit als case-fall abbildbar

15 15 Schleifen Schreiben Sie ein Programm, dass die ersten n positiven Quadratzahlen ab 1 ausgibt. int n =?; System.out.println(1); System.out.println(4); System.out.println(n * n); n Mit dem bisher bekannten müssten n-zeilen Code geschrieben werden Die Anzahl n ist allerdings unbekannt bzw. dynamisch Es bedarf eines Konstrukts, dass Code oder Codeblöcke in Abhängigkeit von einer Bedingung solange hintereinander ausführt, bis die Bedingung erfüllt ist Dieses Konstrukt wird Schleife genannt Die meisten Programmiersprachen bieten mehrere Konstrukte zur Definition von Schleifen

16 16 Schleifen (while und do-while) int n =?; while ( BEDINGUNG ) { SATZ; BLOCK int iteration = 1; while (iteration <= n) { System.out.println(iteration * iteration ); iteration = iteration + 1; BEDINGUNG == WERT VARIABLE AUSDRUCK boolean int n =?; do { int iteration = 1; do { while SATZ; BLOCK ( BEDINGUNG ) ; System.out.println(iteration * iteration ); iteration = iteration + 1; while (iteration <= n);

17 17 Schleifen (while und do-while) II Beide Beispielprogramme iterieren über die Hilfevariable iteration Solange die Bedingung nicht zu false auswertet, wird iteriert Die Hilfsvariable wird in jedem Iterationsschritt um 1 erhöht Nach n + 1 Schritten ist der Wert der Variablen größer als n Die Bedingung wird zu false und die Schleife beendet Achtung: Der Unterscheid zwischen beiden Schleife ist der Zeitpunkt zu dem die Bedingung ausgewertet wird int iteration = -1; while (iteration > 0 && iteration < 100) { System.out.println(iteration); iteration = iteration + 1; int iteration = -1; do { System.out.println(iteration); iteration = iteration + 1; while (iteration > 0 && iteration < 100); -1

18 18 Die Schleife genauer Die Laufzeit einer Schleife hängt direkt von der Bedingung ab Wird während der Iteration der Zustand des Programmes hinsichtlich der Bedingung niemals geändert, läuft diese unendlich lange Unendliche Schleifen sind selten gewollt In der Regel kann man den Code-Block einer Schleife wie folgt aufteilen int n =?; while ( BEDINGUNG ) { SATZ; BLOCK int iteration = 1; while (iteration <= n) { System.out.println(iteration * iteration ); UPDATE iteration = iteration + 1; Im UPDATE-Bereich wird der Programmzustand so geändert, dass dieser zur Bedingung konvergiert Das UPDATE kann auch vor dem eigentlichen Code-Block geschehen

19 19 Schleifen (for) Neben while und do-while gibt es noch die for-schleife for ( ZUWEISUNG ; BEDINGUNG ; UPDATE ) { SATZ; BLOCK Die Iteration über eine Zählvariable wie in den vorherigen Beispielen (iteration) ist der klassische Einsatz für die for-schleife int n =?; for(int iteration = 1; iteration <= n; iteration = iteration + 1) { System.out.println(iteration * iteration); int iteration = 1; ) while (iteration <= n) { System.out.println(iteration * iteration); iteration = iteration + 1;

20 20 Die for-schleife im Detail Die ZUWEISUNG findet nur vor der ersten Iteration statt Wird innerhalb der ZUWEISUNG eine neue Variable deklariert, so ist ihr Gültigkeitsbereich die for-schleife selbst Die BEDINUNG wird vor jeder Iteration überprüft und solange iteriert, wie diese zu true auswertet UPDATE dient zur Aktualisieren der Bedingung UPDATE wird nach jeder Iteration ausgeführt Alle drei ZUWEISUNG, BEDINUNG und UPDATE sind optional Die Operatoren +=, ++, -=, -- falls? == 1 iteration = iteration +?; iteration +=?; iteration ++; iteration = iteration -?; Iteration -=?; iteration --; for(int iteration = 1; iteration <= n; iteration ++) {

21 21 Schleifen mit break und continue steuern Mit break kann die Iteration direkt und damit unabhängig von der eigentlichen Bedingung abgebrochen werden int n =?; int max =?; int square; for (int i = 1; i <= n; i++) { square = i * i; System.out.println(square); if (square > max) break; Mit continue kann ein Iterationsschritt abgebrochen werden int n =?; int rangemin =?; int rangemax =?; int square; for (int i = 1; i <= n; i++) { square = i * i; if (square <= rangemin && square >= rangemax) continue; System.out.println(square);

22 22 Don t repeat yourself Annahme: Java habe keinen Multiplikationsoperator (für positive Zahlen) Die Multiplikation ist die wiederholte Anwendung der Addition a* b b b... b a Diese mathematische Vorschrift lässt sich durch eine Schleife realisieren: int a =?; int b =?; int result = 0; for (int i = 1; i <= a; i++) { result += b; a i 1 b Ohne Multiplikation müsste überall dort wo bisher der *-Operator genutzt wurde obiger Code stehen Der Code sähe allerdings immer gleich aus In der Programmierung herrscht das DRY-Prinzip: Don t repeat yourself

23 23 Don t repeat yourself Mit den aktuellen Mitteln führt allerdings nichts an DRY vorbei Es wird ein Konstrukt benötigt, mit dem immer wiederkehrender Code ausgelagert werden kann In der imperativen Programmierung: Funktion bzw. Methode bzw. Prozedur In Java: Methode MODIFIKATOREN optional RÜCKGABETYP BEZEICHNER ( DATENTYP PARAMETER-, ) BEZEICHNER optional { SATZ; BLOCK return RETURN-WERT ; MODIFIKATOREN SICHTBARKEIT RETURN-WERT RÜCKGABETYP SICHTBARKEIT static final public protected private Beispiel: Main-Methode public static void main(string[] args) {

24 24 Statische Methode Methoden sind Teil von Javas OOP-Ansatz Die MODIFIKATOREN legen folgendes fest: Sichtbarkeit: Von wo darf die Methode aufgerufen werden Zugehörigkeit (static): Gehört die Methode zum Objekt oder zur Klasse Überschreibbarkeit (final): Kann die Methode überschrieben werden Für den imperativen Ansatz sind diese Festlegungen mit Ausnahme der Zugehörigkeit irrelevant Aktuell sind Objekte noch unbekannt Klassen wurden zumindest schon gesichtet Der Modifikator static steht für zur Klasse gehörig Daher vorerst: static RÜCKGABETYP BEZEICHNER ( DATENTYP PARAM- BEZEICHNER, ) optional {

25 25 Die Multiplikations-Methode Die Multiplikationsvorschrift als Methode: static int mult(int a, int b) { int result = 0; for (int i = 1; i <= a; i++) { result += b; return result; Mit dem BEZEICHNER wird der Name der Methode festgelegt Methoden werden aufgerufen Der Aufruf erfolgt über ihren Namen Optional kann eine Methode eine beliebige Anzahl an Parametern definieren Pro Parameter muss beim Aufruf ein Wert angegeben werden Dieser Wert muss vom Typ der Parameterdefinition sein Innerhalb der Methode sind Parameter Variablen mit den beim Aufruf übergebenen Initialwerten

26 26 Aufruf einer Methode Ein Aufruf der Methode: mult(27, 37); Die Parameter a und b wurden als Variablen vom Typ int definiert Die Werte 27 und 37 sind vom Typ int Es gelten die Typumwandlungsregeln von Operatoren Werte eines kleineren Typs werden automatisch umgewandelt Werte eines größeren Typs müssen per Cast umgewandelt werden Typfremde Werte führen zu Compilerfehlern mult(27.0f, 37); mult((int) 27.0f, 37); mult(27, false); Die Werte werden in der Reihenfolge der Parameterdefinition zugwiesen a = 27 b = 37

27 27 Rückgabe einer Methode Eine Methode muss ein Ergebnis liefern Dieses Ergebnis muss vom angegebenen RÜCKGABETYP sein Der letzte ausführbare Satz einer Methode muss das Ergebnis liefern Dies erfolgt über das Schlüsselwort return static int mult(int a, int b) { int result = 0; for (int i = 1; i <= a; i++) { result += b; return result; Die Multiplikation soll int liefern Die Variable result hält das Zwischenergebnis der n-ten Addition Sie ist vom Typ int Am Ende wird der zuletzt in result gespeicherte Werte zurückgegeben Methodenaufrufe können daher analog zu Operatoren in Ausdrücken und insbesondere Zuweisungen genutzt werden int somevalue = mult(27, 37) + 1; // somevalue == 1000

28 28 Wohin mit der Methode Im Default-Rahmen tauchte bereits eine Methode auf: die main-methode Methoden können nicht innerhalb von Methoden geschachtelt werden Methoden müssen innerhalb von Klassen definiert werden class Program { Methoden public static void main(string[] args){ Programmfluss class Program { static int mult(int a, int b) { int result = 0; for (int i = 1; i <= a; i++) { result += b; return result; public static void main(string[] args){ int somevalue = mult(27, 37) + 1; System.out.println(someValue);

29 29 Der spezielle Rückgabetyp void Die main-methode hat eine besondere Auffälligkeiten: Ihr Rückgabetyp ist der bisher unbekannte Datentyp void Zudem liefert sie keinen Rückgabewert Der Datentyp void steht für Nichts Ist der Rückgabetyp einer Methode void, so kann sie kein Ergebnis liefern (oder liefert, wenn man so will, automatisch DAS leeres Ergebnis) Es kann keine Variablen vom Typ void geben! (es gibt keinen Wert vom Typ void) Methoden mit void dienen zumeist zum Ausführen von Nebeneffekten Die bereits benutzte Methode println ist so eine Methode System.out.println("Hello World"); Sie liefert kein Ergebnis und veranlasst sozusagen nebenläufig, dass ein Wert auf der Console ausgegeben wird

30 30 Virtual Box Virtuelle Maschine mit Linus + Java + Netbeans Einbinden Windows-Explorer: Klick auf Navigationszeile (rot) Eingabe: /zivpool1/zivkurse/mhass_01/java Doppel-Klick auf Javamaschine.ova startet Virtual Box Importieren

31 31 Virtual Box Einbinden eines gemeinsamen Ordners Rechtsklick auf, dann auf Ändern Ordner hinzufügen Als gemeinsamen Ordner am besten das Laufwerk U: einbinden

32 32 Netbeans Begrüßungsbildschrim

33 33 Netbeans (Neues Projekt) File New Project Categories: Java Projects: Java Application Browse: Project-Name: NAME Nutzerverzeichnis U: Create Main Class: Nein

34 34 Netbeans (Neue Basisklasse) File New File Categories: Java File Types: Java Class New Java Class: Class-Name: NAME Alles andere lassen Die Warnung unten wird erst einmal ignoriert

35 35 Netbeans (Übersicht) Codeeditor Ausführen Projektübersicht Klassenübersicht Konsole

36 36 Netbeans Compilieren vor dem Ausführen entfällt Ausgabe wird in der Konsole angezeigt Syntaxfehler werden direkt im Editor angemahnt (rot): Tooltip erscheint, wenn man den Mauszeiger über den Fehler hält

37 37 Netbeans (V) Wenn möglich werden auch Semantikfehler angemahnt (gelb)

38 38 Netbeans (V) Code-Completion bei.-operator Vorschläge basierend auf aktueller Eingabe Falls vorhanden: Dokumentation zur aktuellen Auswahl

39 39 Aufgaben Aufgabe 1 Schreiben Sie eine Methode test, die zwei int-werte erwartet und true zurückliefert, falls diese identisch sind, ansonsten false Erweitern Sie die Methode test, so dass sie per Nebeneffekt ihr Rückgabeergebnis ausgibt, in etwa: Die Eingaben sind identisch. Die Eingaben sind verschieden. Aufgabe 2: Schreiben Sie eine Methode mult zur Multiplikation zweier ganzzahliger Zahlen (int) ohne den mult-operator Achtung: In der Vorlesung wurde die Multiplikation nur für positive ganze Zahlen umgesetzt! Nutzen Sie wenn möglich die Methode aus Aufgabe 1 zum Testen Setzen Sie die Methode einmal per while, do-while und for um

Programmieren in Java

Programmieren in Java Einführung in die (imperative) Programmierung (Teil 3) 2 Wiederholung (Datentyp) Ein Datentyp beschreibt eine Menge von Werten der gleichen Art Der Datentyp legt zudem fest, welche Operationen auf seinen

Mehr

Programmieren in Java

Programmieren in Java Einführung in die (imperative) Programmierung: Kontrollstrukturen 2 Wiederholung (Datentyp) Ein Datentyp beschreibt eine Menge von Werten der gleichen Art Der Datentyp legt zudem fest, welche Operationen

Mehr

Programmieren in Java

Programmieren in Java Einführung in die (imperative) Programmierung: Methoden 2 Wiederholung: if-else Anweisung int number =?; if ( BEDINGUNG ) { if (number > 0) { SATZ; BLOCK System.out.println("Größer 0"); else { SATZ; BLOCK

Mehr

Programmieren in Java

Programmieren in Java Einführung in die (imperative) Programmierung 2 Wiederholung: Allgemein Hohe Programmiersprache Compiler Interpreter Maschinensprache Zielsystem 3 Wiederholung: Java Java Compiler Bytecode JRE Just-In-Time

Mehr

Programmieren in Java

Programmieren in Java Einführung in die (imperative) Programmierung 2 Wiederholung: Allgemein Hohe Programmiersprache Compiler Interpreter Maschinensprache Zielsystem 3 Wiederholung: Java Java Compiler Bytecode JRE Just-In-Time

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

Mehr

Programmieren in Java

Programmieren in Java Zusammenfassung: Imperative Programmierung 2 Wichtige Begriffe Syntax: Regeln nach denen ein beliebiger Satz Teil einer Sprache ist Compiler/Interpreter versteht nur syntaktisch korrekte Sätze Semantik:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Programmieren in Java

Programmieren in Java Einführung in die (imperative) Programmierung 2 Wiederholung Wozu Programmiersprachen? Maschinencode Assembler Compiler Höhere Programmiersprachen Syntax: Programmiersprachen gehorchen einer Grammatik

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere

Mehr

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Wiederholung Anweisungen durch Methodenaufrufe Ausgabe

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 09.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND

Mehr

4.4 Imperative Algorithmen Prozeduren

4.4 Imperative Algorithmen Prozeduren 4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49) Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010 Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009 Grundlagen der Programmierung Teil1 Einheit III - 23. Okt. 2009 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Ausdrücke & Anweisungen

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration CoMa-Übung III TU Berlin 30.10.2013 Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration 30.10.2013 1 /

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

Programmiertechnik Kontrollstrukturen

Programmiertechnik Kontrollstrukturen Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Aufgabe 1.60 a) Welchen Wert erhält die boolesche Variable z in folgendem Beispiel? int i = 2, j = 5; boolean

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Übersicht Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Einführung in die Programmierung 5. Grundlagen der funktionalen & imperativen Programmierung 1 Übersicht 5.1 Sorten und Abstrakte

Mehr

3. Grundanweisungen in Java

3. Grundanweisungen in Java 3. Grundanweisungen in Java Die Grundanweisungen entsprechen den Prinzipien der strukturierten Programmierung 1. Zuweisung 2. Verzweigungen 3. Wiederholungen 4. Anweisungsfolge (Sequenz) Die Anweisungen

Mehr

Anweisungen zur Ablaufsteuerung

Anweisungen zur Ablaufsteuerung Anweisungen zur Ablaufsteuerung if-else switch while do-while for Ausdrücke Ein Ausdruck ist eine Folge von Variablen, Operatoren und Methodenaufrufen, der zu einem einzelnen Wert ausgewertet wird. Operanden

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Kontrollstrukturen Was sind Kontrollstrukturen Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7. CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich

Mehr

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung Wiederholung Wozu? Schreiben Benutzen Rekursion?! Javakurs 2012, 3. Vorlesung maggyrz@freitagsrunde.org 5. März 2013 Wiederholung Wozu? Schreiben Benutzen Rekursion?! 1 Wiederholung 2 Wozu? 3 Schreiben

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 13. März 2017 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:

Mehr

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi 1. Datentypen C-Grundlagen zur Programmierung des MicroControllersystems MiCoWi Die Grafiken und Beispiele wurden dem Buch C von A bis z von Jürgen Wolf entnommen. Es werden hier die ANSI-Festlegungen

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Einführung in das Programmieren Probeklausur Lösungen

Einführung in das Programmieren Probeklausur Lösungen Einführung in das Programmieren Probeklausur Lösungen Frederik Kanning 01.07.2013 Aufgabe 1 b/c) void definiert Methode ohne Rückgabewert return beendet aktuellen Methodenaufruf wenn Rückgabetyp nicht

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

Einführung in die Programmierung II. 3. Kontrollstrukturen

Einführung in die Programmierung II. 3. Kontrollstrukturen Einführung in die Programmierung II 3. Kontrollstrukturen Thomas Huckle, Stefan Zimmer 2.5.2007-1- Anweisungen: was bisher geschah Bisher kennen wir zwei Formen von Anweisungen Ein Ausdruck mit Semikolon

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen

Mehr

Die einfachsten Anweisungen

Die einfachsten Anweisungen 2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser

Mehr

Wo sind wir? Kontrollstrukturen

Wo sind wir? Kontrollstrukturen Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Übungsblatt 2. Java Vorkurs (WS 2017)

Übungsblatt 2. Java Vorkurs (WS 2017) Übungsblatt 2 Java Vorkurs (WS 2017) Aufgabe 1 Logische Operatoren Manchmal ist es wichtig zwei Werte miteinander zu vergleichen. Dazu gibt es in Java folgende Vergleichsoperatoren: Text Math. Zeichen

Mehr

Umsetzung einer Klassenkarte in einer Programmiersprache

Umsetzung einer Klassenkarte in einer Programmiersprache Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Einfache Rechenstrukturen und Kontrollfluß

Einfache Rechenstrukturen und Kontrollfluß 2 Ziele Einfache Rechenstrukturen und Kontrollfluß Verstehen der Grunddatentypen von Java Verstehen von Typkonversion in Java Lernen lokale Variablen und Konstanten zu initialisieren Verstehen der Speicherorganisation

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Tag 3 Repetitorium Informatik (Java)

Tag 3 Repetitorium Informatik (Java) Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 12. März 2014 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:

Mehr

Kontrollstrukturen. Wo sind wir? Anweisung mit Label. Block. Beispiel. Deklarationsanweisung

Kontrollstrukturen. Wo sind wir? Anweisung mit Label. Block. Beispiel. Deklarationsanweisung Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets, Sicherheit

Mehr