Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

Ähnliche Dokumente
3. Grundlegende Sprachkonstruktionen imperativer Programme

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

II.1.1. Erste Schritte - 1 -

Einstieg in die Informatik mit Java

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Java - Programmierung - Prozedurale Programmierung 1

4. Komponentenarten. Java-Beispiele:

Problemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2

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

Ausdrucksbäume in verschiedenen Darstellungen

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

Ein erstes Java-Programm

Distributed Computing Group

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

System.out.println("TEXT");

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

II.1.1. Erste Schritte - 1 -

Software. 7. Methoden. Software kann sehr komplex sein... Schwerpunkte. Grundproblem der SW-Entwicklung: Komplexität

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

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

Methoden und Wrapperklassen

Grunddatentypen, Ausdrücke und Variablen

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Wie entwerfe ich ein Programm?

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Fragenkatalog ESOP WS 16/17

Java I Vorlesung Imperatives Programmieren

Klassenvariablen, Klassenmethoden

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

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

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

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.

Klassen und Objekte. Objekte einer Klasse bilden

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

Einführung in Java. Silke Trißl Wissensmanagement in der Bioinformatik. Linux, Unix, Windows, Macintosh, Kann aus Bausteinen zusammengesetzt werden

3. Java - Sprachkonstrukte I

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Primitive Datentypen

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Java Einführung Klassendefinitionen

Einstieg in die Informatik mit Java

Grundlagen von JAVA Hello World in JAVA Elementare Datentypen. Grundlagen von JAVA Hello World in JAVA Elementare Datentypen

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

2 Eine einfache Programmiersprache

2. Unterprogramme und Methoden

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Einführung in Java. Ausgewählte Quellen zu Java

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

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

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

Einführung in die Programmierung mit Java

Java-Schulung Grundlagen

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Datenstrukturen und Algorithmen

Programmieren in Java

II.3.1 Rekursive Algorithmen - 1 -

Einstieg in die Informatik mit Java

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

Einstieg in die Informatik mit Java

Welcome to java. einfach objektorientiert verteilt interpretierend robust secure architekturneutral portabel schnell parallel(multitheded)

Einführung in die Programmierung 1

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Programmieren 2 Selbststudium Semesterwoche 6

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

1. Der Einstieg in Java. Was heißt Programmieren?

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Übung Informatik I - Programmierung - Blatt 3

Programmieren I + II Regeln der Code-Formatierung

Intensivübung zu Algorithmen und Datenstrukturen

3.2 Datentypen und Methoden

1 Klassen anlegen und Objekte erzeugen

Probeklausur Informatik 2 Sommersemester 2013

Objektorientierte Programmierung OOP Programmieren mit Java

Algorithmen und Programmierung II

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

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation

Welche Informatik-Kenntnisse bringen Sie mit?

Imperative Programmierung in Java. Algorithmen und Datenstrukturen II 1

Datenbankanwendungsprogrammierung Crashkurs Java

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?

Einstieg in die Informatik mit Java

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Vorkurs: Java-Einführung

6. Iteration (Schleifenanweisungen)

Programmiertechnik Erweiterungen in Java 5

5. Java Arrays und Strings

Java Datentypen und Variablen

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Einstieg in die Informatik mit Java

Transkript:

Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable, Datentyp, Zuweisung Einfache Ein- und Ausgabe Standardbibliothek: Java-API Version: 4. Nov. 2015 2 Beispiel: Temperaturumwandlung // from Fahrenheit to Centigrade (Celsius) Imperative Programmierung public static void main (String[] args) { // Fahrenheit double tempcels; // Celsius System.out.print("Temperature (deg F): "); System.out.println(" deg C"); % javac Temperature.java % java Temperature ein imperatives Programm Temperature (deg F): 10 10 deg F is -12.222222222222221 deg C 3 4

Temperatur-Beispiel: als Pascal-Programm (Standard-Pascal) Imperative Programmierung: Grundansatz PROGRAM Temperature; {Convert temperature from Fahrenheit to Centigrade (Celsius) Imperative Programmierung orientiert auf die Beschreibung von Algorithmen. VAR tempfahr: real; tempcels: real; BEGIN writeln("temperature (deg F): "); readln(tempfahr); Algorithmus: Verfahren zur Berechnung gesuchter Werte aus gegebenen Werten,... das auf der schrittweisen Ausführung von elementaren Verarbeitungsoperationen beruht. tempcels := (5.0 * (tempfahr - 32.0)) / 9.0; write(tempfahr); write(" deg F is "); write(tempcels); writeln(" deg C"); END. Imperatives Programm: Algorithmen durch Bearbeitung der Variablenwerte beschrieben (Verändern und Lesen der Werte) 5 6 Imperatives Pascal-Programm Imperatives Java Programm PROGRAM Temperature ; Algorithmus VAR tempfahr : real ; BEGIN END. tempcels : real ; readln (tempfahr); tempcels := (5.0 * tempfahr ); write (tempcels); Eingabewerte in Eingangsvariablen Ausgabewerte in Ausgangsvariablen Algorithmus public static void main () { double tempcels; tempcels = (5.0 * tempfahr ); Eingabewerte in Eingangsvariablen Ausgabewerte in Ausgangsvariablen 7 8

Imperative Programmierung: Eigenschaften im Detail Basiskonzepte: Variable, Anweisung Variable: besitzt Wert, der durch Anweisungen gelesen und verändert wird Mehrkomponenten-Programm Anweisung: dient dem Zugriff auf Variablen-Werte (Lesen und Verändern von Werten) Grundlegende Strukturierungsmethode imperativer Programme: Prozedur (Funktion, Methode) Prozedur (Funktion, Methode): Teilalgorithmus: mit Anweisungen der Sprache 9 10 Aus wie vielen Komponenten besteht das Java-Programm? Temperatur-Programm: besteht aus d r e i Komponenten // from Fahrenheit to Centigrade (Celsius) public static void main (String[] args) { // Fahrenheit double tempcels; // Celsius File: Temperature.java File: Keyboard.java Eingabe System.out.print("Temperature (deg F): "); nutzerdefinierte Klassen System.out.println(" deg C"); class System { Ausgabe Java API (application programming interface) = Standardbibliothek getrennte Compilation 11 12

Klasse 'Keyboard' Klasse Keyboard: eine Abstraktion import java.io.*; // Author: M. Dennis Mickunas, // June 9, 1997 Primitive Keyboard // input of integers, reals, // strings, and characters. static boolean iseof = false; static char c; static int i; static double d; static String s; /* WARNING: THE BUFFER VALUE IS SET TO 1 HERE TO OVERCOME ** A KNOWN BUG IN WIN95 (WITH JDK 1.1.3 ONWARDS)*/ static BufferedReader input = new BufferedReader ( new InputStreamReader(System.in),1); Aufgabe der Klasse? public static int readint () { if (iseof) return 0; System.out.flush(); try { s = input.readline(); catch (IOException e) { System.exit(-1); if (s==null) { iseof=true; return 0; i = new Integer(s.trim()).intValue(); return i; Mangel: keine übersichtliche Darstellung für die Nutzer der Klasse public static char readchar () { if (iseof) return (char)0; System.out.flush(); public static int readint () ; public static char readchar () ; public static double readdouble () ; public static String readstring () ; public static boolean eof () ; Sammlung nützlicher Funktionen zur Eingabe von ganzen Zahlen, Zeichen, reellen Zahlen, Zeichenketten von der Tastatur Nur das ist für die Anwendung wichtig 13 14 Temperatur-Programm: Interface zwischen Komponenten File: Temperature.java public static void main (String [] args) { Grundelemente von Java-Programmen Java API (=Standardbibliothek) nutzerdefinierte Klassen class System { public.out; public readdouble () File: Keyboard.java 15 16

Grundstruktur von Java-Programmen Variablendeklaration K l a s s e = grundlegende Komponente Klassenname public static void main (String [] args) { Variablendeklaration Klassenkörper (Beginn) Klasse: Sammlung von - Variablendeklarationen - Methodendeklarationen (Methode = Algorithmus, Prozedur, Funktion) je Gesamtprogramm: e i n e Methode m a i n ( ) dort beginnt die Abarbeitung! (wie Hauptprogramm in Pascal) Methodendeklaration Wirkung: Typ Variable 1. Wertebereich der Variablen festlegen 2. Speicherplatzgröße entsprechend Typ festgelegt z. B. double: 8 Byte 3. erlaubte Operationen einfache Typen: Java-EBNF: 'Standardtyp' boolean, char, byte, short, int, long, float, double 17 18 Kommentare Einfache Anweisungen: Zuweisung und Aufruf einer Methode aus Klasse Keyboard: Methode readdouble // from Zuweisung // Fahrenheit // bis Zeilenende /* dazwischen */ int /* nur hier */ temp; Aufruf einer Methode ( Eingabe / Ausgabe ) 19 20