Martin Unold INFORMATIK. Geoinformatik und Vermessung

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

Einstieg in die Informatik mit Java

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Primitive Datentypen

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Javakurs für Anfänger

Ein erstes Java-Programm

AuD-Tafelübung T-B5b

Einführung in die Programmierung 1

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

3. Anweisungen und Kontrollstrukturen

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

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

Repetitorium Informatik (Java)

RO-Tutorien 3 / 6 / 12

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Welche Informatik-Kenntnisse bringen Sie mit?

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

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

JAVA-Datentypen und deren Wertebereich

Kapitel 3: Variablen

Java-Schulung Grundlagen

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

JAVA - Methoden

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

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

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

II.1.1. Erste Schritte - 1 -

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

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Die Programmiersprache C Eine Einführung

Vorlesung Programmieren

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

JAVA - Methoden - Rekursion

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

Java Einführung Klassendefinitionen

Datenbankanwendungsprogrammierung Crashkurs Java

5. Tutorium zu Programmieren

Java Einführung Methoden. Kapitel 6

Java. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28

Einstieg in die Informatik mit Java

PROGRAMMIERUNG IN JAVA

Werkzeuge zur Programmentwicklung

Tutorium Rechnerorganisation

Einstieg in die Informatik mit Java

5.4 Klassen und Objekte

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I + II Regeln der Code-Formatierung

5.5.8 Öffentliche und private Eigenschaften

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

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Dr. Monika Meiler. Inhalt

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Vorkurs Informatik WiSe 15/16

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Prof. H. Herbstreith 10. Juli Uhr bis 11:00 Uhr Leistungsnachweis Informatik 1 SS 2001

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Deklarationen in C. Prof. Dr. Margarita Esponda

Computeranwendung und Programmierung (CuP)

3 Objektorientierte Konzepte in Java

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

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Einführung in die Programmierung Wintersemester 2011/12

3 Objektorientierte Konzepte in Java

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

1. Der Einstieg in Java

Einführung in die C-Programmierung

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Übersicht. Vorstellung des OO-Paradigmas

Einführung in die Programmierung mit VBA

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

3. Algorithmenentwurf und JAVA. Informatik II für Verkehrsingenieure

Objektorientierte Programmierung

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Vorkurs WS 2014/15 der Fachschaft 07. Eine Einführung in die Softwareentwicklung anlässlich des Vorkurses für die Erstsemester im WS2014/15

Themen der Übung. Java. Java installieren. Java installieren. Installation (Fortsetzung)

Nino Simunic M.A. Computerlinguistik, Campus DU

Probeklausur: Programmierung WS04/05

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Java Einführung Methoden in Klassen

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem

Elementare Konzepte von

Propädeutikum zur Programmierung

Anwendungsentwicklung mit Java. Grundlagen der OOP, Variablen, Klassen und Objekte, Methoden

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Theorie zu Übung 8 Implementierung in Java

Prof. H. Herbstreith Fachbereich Informatik. Leistungsnachweis. Informatik 1 WS 2001/2002

Prof. W. Henrich Seite 1

Programmieren in Java

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Java-Vorkurs Wintersemester 15/16

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

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik

Objective-C CheatSheet

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Transkript:

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 Wie sollen Informationen gespeichert werden? Algorithmen Welche Anweisungen bzw. Rechenvorschriften sollen wann ausgeführt werden?

Ein Programm, das Was ist ein Compiler? In einer Programmiersprache geschriebenen Text (Quellcode) in ein maschinenlesbares Format (Bytecode) umwandelt Quellcode (Programmiersrpache) Compiler Bytecode (Maschinensprache)

Wie funktioniert das bei Java? Kompilieren: javac Programmname.java (im JDK enthalten) Ausführen: java Programmname (mit virtueller Maschine) Quellcode In Programmiersprache geschrieben Als.java-Datei auf der Festplatte Zwischencode In Maschinennaher Sprache Als.class-Datei auf der Festplatte Maschinencode In Maschinensprache Prozess wird ausgeführt Programmname.java JDK JRE Programmname.class Prozess

Java Programmtext in Programmiersprache geschrieben Textdatei (Endung.java) auf der Festplatte Inhalt: public class Programmname { public static void main (String[] args) { System.out.println("Hello World"); } }

Java Programm zum Ausführen auf dem Digitalgerät Datei (Endung.class) auf der Festplatte Inhalt: Êþº¾ 4 Programmname java/lang/object <init> ()V Code LineNumberTable LocalVariableTable this LProgrammname; main ([Ljava/lang/String;)V args [Ljava/lang/String; SourceFile Programmname.java! / * ± + ±

Klassen schreiben (Datei: Klassenname.java) Java class Klassenname { }

Java Klassenvariablen deklarieren class Klassenname { } Datentyp name;

Java Klassenvariablen deklarieren (mit Standard-Initialwert) class Klassenname { } Datentyp name = Initialwert;

Attribute Klassenvariablen Deklaration außerhalb einer Methode in einer Klasse Variable, die jeweils zu jedem Objekt der Klasse gehört Globale Variablen Deklaration mit static Variable, die nur einmal existiert (nicht für jedes Objekt) Konstanten Deklaration mit static final Nur lesender Zugriff, kein Schreibender Zugriff

Methoden deklarieren Java class Klassenname { RückgabeDatentyp name (ParameterDeklarationen) { } }

Wie schreibt man in Java (statische) Methoden? Deklaration einer (statischen) Methode public (static) RückgabeDatentyp name (Parameterliste) { Anweisungen } Rückgabe-Datentyp Beliebiger Datentyp oder void, falls keine Rückgabe erfolgt Name Klein Schreiben (wie bei Variablen) Parameterliste Datentyp parametername Mit Komma getrennt (falls mehrere Parameter verwendet werden) Anweisungen Beliebige Anweisungen (siehe Kontrollstrukturen) Letzte Anweisung muss return-statement sein

Modifizierer Java public Klasse, Variable oder Methode auch außerhalb des Pakets sichtbar private Klasse, Variable oder Methode nur in dieser Klasse sichtbar static Variable oder Methode gehört nicht zu Instanzen der Klasse final Kein schreibender Zugriff auf Variable (außer Initialisierung)

Java main-methode Programm startet mit dieser Methode public class Klassenname { public static void main (String[] args) { } }

Sequenz Kontrollstrukturen Anweisungen werden nacheinander ausgeführt Selektion Anweisungen werden unter einer gewissen Bedingung ausgeführt Iteration Anweisungen werden wiederholt ausgeführt

Was ist eine Sequenz? Eine Anweisung wird nach der anderen ausgeführt Anweisungen mit Semikolon beenden Anweisung1; Anweisung2; Anweisung3;

Was ist eine Selektion? if ( ) { }

Welche Arten der Selektion gibt es in Java noch? If-Verzweigung Anweisungen werden nur ausgeführt, wenn der Ausdruck in den runden Klammern true ergibt If-Else-Verzweigung Wenn der Ausdruck in den runden Klammern true ergibt, werden die Anweisungen im if-teil ausgeführt Wenn der Ausdruck in den runden Klammern false ergibt, werden die Anweisungen im else-teil ausgeführt Switch-Anweisung Je nach Wert der Variablen in den runden Klammern, wird zur entsprechenden case-stelle gesprungen

Was ist eine Iteration? while ( ) { }

Welche Arten der Iteration gibt es in Java noch? While-Schleife Anweisungen werden ausgeführt, solange der Ausdruck in den runden Klammern (zu Beginn jedes Durchlaufes) true ergibt Do-While-Schleife Anweisungen werden auf jeden Fall einmal ausgeführt Danach wie While-Schleife For-Schleife Wie While-Schleife Zusätzlich kann eine Anweisung angegeben werden, die zu Beginn der Schleife einmal ausgeführt wird Zusätzlich kann eine Anweisung angegeben werden, die am Ende jedes Durchlaufes ausgeführt wird

Primitive Datentypen Variablen und Datentypen Wert wird in der Variablen direkt gespeichert Klassen und Arrays Variable enthält einen Verweis auf die eigentlichen Werte

Deklaration in Java Datentyp name; Was ist eine Variable? Komponenten einer Variablen Bezeichner (name) Adresse (Zugewiesener Ort im Arbeitsspeicher: ) Wert Was steht an der Speicherposition der Variablen? Welche Bits sind 0 und welche sind 1? Datentyp Welche Art von Werten kann die Variable annehmen? Wie sind die Bits an der Speicherposition zu interpretieren?

Wie greift man auf eine Variable zu? Schreibender Zugriff in Java Bezeichner steht links vom Zuweisungs-Operator (=) name = wert; Lesender Zugriff in Java wert Wert der Variablen wird als Parameter an eine Methode übergeben methode(,name, ); Bezeichner steht rechts vom Zuweisungs-Operator = name ; Lesender und schreibender Zugriff in Java Bezeichner steht sowohl links als auch rechts vom Zuweisungs- Operator oder bei Abkürzungen, z. B. ++name;

Welche Datentypen gibt es in Java? Primitive Datentypen Boolscher Wahrheitswert boolean Unicode-Zeichen (UTF-16) char Ganzzahlen byte, short, int, long Gleitkommazahlen float, double Klassen Arrays

Wie erzeugt man Exemplare? Primitive Datentypen (durch Literale) Boolscher Wahrheitswert durch die reservierten Wörter false bzw. true false true Unicode-Zeichen (UTF-16) durch einfache Anführungszeichen ' ' Ganzzahlen (standardmäßig int) oder durch nachgestelltes l für long L Gleitkommazahlen mit Punkt (double), durch f (float) bzw. d (double) F D Klassen durch Aufruf eines Konstruktors new Klassenname( ) Arrays durch Angabe der Elemente in {} / als Default-Array new Datentyp[] {,, } / new Datentyp[LENGTH]

Wie Nutzt man in Java Klassen? Deklaration und Wertzuweisung Deklaration (muss initialisiert werden) Klassenname variablenname; Deklaration und Initialisierung mit Konstruktor Klassenname variablenname = new Klassenname( ); Zuweisung eines Wertes zu einem Attribut der Klasse variablenname.attribut = Ausdruck; Aufruf einer Instanzmethode variablenname.methode( );

Wie nutzt man in Java Arrays? Deklaration und Wertzuweisung Deklaration eines Arrays (muss initialisiert werden) Datentyp[] variablenname; Deklaration und Initialisierung eines Arrays mit Werten Datentyp[] variablenname = {wert0, wert1, }; Deklaration und Initialisierung eines leeren Arrays der Länge N Datentyp[] variablenname = new Datentyp[N]; Zuweisung eines Wertes zu dem Array-Eintrag an einer Position variablenname[position] = Ausdruck;

Wie ruft man in Java Methoden auf? Ohne Parameter, ohne Rückgabewert scanner.close(); System.out.println(); Mit Parameter(n), ohne Rückgabewert Thread.sleep(1000); System.out.println(123); Ohne Parameter, mit Rückgabewert int result = scanner.nextint(); double result = Math.random(); Mit Parameter(n), mit Rückgabewert double result = Math.max(2.5,-2.5); String result = "Hello World".replace('l','m');

Statische Methoden Methoden schreiben public class Klassenname { public static xxx methode(klassenname param) { param. = ; } } Aufruf Klassenname instanz = new Klassenname(); Klassenname.methode(instanz); Instanzmethoden public class Klassenname { public xxx methode() { this. = ; } } Aufruf Klassenname instanz = new Klassenname(); instanz.methode();

Josephus-Problem Als Beispiel für rekursive Strukturen

Josephus-Problem Datenstrukturen n Objekte sind im Kreis angeordnet Immer wieder wird jedes k-te Objekt (von der letzten Eleminierung aus gesehen) aus dem Kreis entfernt, der Kreis wird geschlossen Frage: Welches Objekt bleibt als letztes übrig? n 1 2 3 4 8 7 6 5

Josephus-Problem k = 2 Datenstrukturen n 1 2 3 4 8 7 6 5

Josephus-Problem k = 3 Datenstrukturen n 1 2 3 4 8 7 6 5

Anforderungen Studienleistung Quiz Jeweils zum Beginn der Vorlesung auf 50% (Maximal 2 Versäumnisse) Übung Anwesenheit (maximal 2 Mal unentschuldigt fehlen) Abnahme der Aufgaben durch den Betreuer (spätestens 2 Wochen nach Ausgabe des jeweiligen Übungsblattes) Excel/VBA-Test In der letzten Semesterwoche Prüfungsleistung (benotet) Klausur am 26. Januar (nur Java und Allgemeines, kein Excel/VBA) Hilfsmittel: Ein beidseitig handbeschriebenes Din-A4-Blatt

Nächste Woche Ausblick Was kann man mit Programmen sonst noch machen?