Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Ähnliche Dokumente
Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Java-Einführungskurs Informatik II für D-ITET FS 2014, ETH Zürich

Java-Einführungskurs Informatik II für D-ITET FS 2017, ETH Zürich

Java-Einführungskurs Informatik II für D-ITET, FS 2013, ETH Zürich. Simon Mayer

Java-Einführungskurs Informatik II für D-ITET FS 2015, ETH Zürich

Java-Einführungskurs Informatik II für D-ITET FS 2016, ETH Zürich

Java für C++ Programmierer

Informatik II - Übung 01

Informatik II Übung 1

Informatik II - Übung 01

Informatik II (D-ITET) Informatik II (D-ITET) Übungsstunde 1. Distributed Systems Group, ETH Zürich

Modellierung und Programmierung 1

Vorkurs Informatik WiSe 16/17

Wiederholung JAVA. 1. (Vorbereitung)

Informatik II (D-ITET)

Praktische Informatik 1

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

Informatik II Übung 1 (slides teils von Christian Beckel) Gruppe 4. Lukas Burkhalter

Informatik II Übung 1

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Informatik II (D-ITET) Übungsstunde 1,

Informatik II - Tutorium 1

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Vorkurs Informatik WiSe 17/18

Grundlagen der Informatik für Ingenieure I

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung in die Programmierung 1

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

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Einführung in die Programmierung

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Methoden und Wrapperklassen

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Einführung in das Programmieren

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

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

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

Datenstrukturen und Algorithmen

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

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

Übung 1: Installation + Test von Eclipse. Übung 2: Hello World

Vorlesung Informatik II

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Programmierkurs. Manfred Jackel

Java Einführung Programmcode

Praxis der Programmierung

Erste Schritte mit Eclipse

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!

Informatik II Übung 1 Gruppe 7. Leyna Sadamori

Informatik II - Tutorium 4

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Grundlagen der Programmierung

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

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

AuD-Tafelübung T-B5b

Praktische Softwaretechnologie Vorlesung 2

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Informatik II - Tutorium 5

Übung U02 (WS 2005/06) U02

Distributed Computing Group

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

Vorkurs Informatik WiSe 15/16

Empfehlenswerte Literatur

Einstieg in Java und OOP

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

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

Java-Vorkurs Wintersemester 15/16

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

Grundlagen der Programmierung UE. Dr. Herbert Prähofer (Gruppe 1 2, & 3) DI Markus Weninger(Gruppe 4)

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

Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java

Algorithmen und Datenstrukturen II

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

Klassenvariablen, Klassenmethoden

II.1.1. Erste Schritte - 1 -

Software-Engineering Grundlagen des Software-Engineering

Programmieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Übungsblatt 1. Java Vorkurs (WS 2017)

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Institut für Informatik

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

Übungen zum Bioinformatik-Tutorium. Blatt 3

Programmieren I. Entwicklungsumgebungen Eclipse, NetBeans und IntelliJ IDEA. Institut für Angewandte Informatik

Einführung in die Programmierung mit Java

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

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Objektorientierte Programmierung Studiengang Medieninformatik

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 -

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

Programmiervorkurs. Wintersemester 2013/2014

Primitive Datentypen

hue13 January 30, 2017

Transkript:

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, vincent.becker@inf.ethz.ch

Was haben wir heute vor? Vorbereitung auf die Übungen zu Informatik II Vorstellung des Teams Organisatorisches Theorie Java-Technologie und Sprache Praktisches Erstes Programm auf der Konsole ausführen Eclipse Debugging Testen Javadocs Vincent Becker 2/20/2019 2

+ Vincent Becker 2/20/2019 3

Übungsgruppen Mittwochs, 13 14 Uhr Die Gruppeneinteilung läuft über CodeExpert: https://expert.ethz.ch/enroll/ss19/ifee2 Anmeldung auf Codeboard.io ist notwendig: https://codeboard.io Anwesenheit in den Übungsgruppen ist wichtig Ebenso die Bearbeitung der Aufgaben Fragen & Interaktion!!! Vincent Becker 2/20/2019 4

Bonusaufgaben Es wird wieder spezielle Bonusaufgaben geben (Bonus kann nicht vom letzten Jahr übernommen werden!) Um diese freizuschalten, ist das Sammeln von XP in den normalen Übungen notwendig Die Leistungen aus den Bonusübungen wird proportional in den Bonus von maximal 0.25 Notenpunkten umgerechnet Keine Plagiate! Wird automatisch überprüft. Plagiate haben den Verlust des gesamten Bonus aller Beteiligter für das gesamte Semester zur Folge! Vincent Becker 2/20/2019 5

Bearbeitung der Übungen führt zu gutem Klausurergebnis? Korrelation Codeboard-Score und Punkten in der Klausur: +0.57 Vincent Becker 2/20/2019 6

Konzepte sind wichtig! Vincent Becker 2/20/2019 7

Which programming language should I use? Vincent Becker 2/20/2019 8

(Java ist auch eine Insel) Vincent Becker 2/20/2019 9

Warum Java? Objektorientiert Java is C++ without the guns, knives, and clubs. - James Gosling Einfacher als C++ Umfangreiches Ökosystem: Tools, Bibliotheken,... Virtuelle Maschine: Compile once Run everywhere Vincent Becker 2/20/2019 10

Werdegang eines Java-Programms Program.java Quellcode: Menschenverständlicher Text javac Program.java Aufruf des Java-Compilers Program.class java Program Java-Bytecode: Maschinenverständlicher Code Ausführen mittels virtueller Maschine Plattformunabhängigkeit: Java-Bytecode ist ohne Änderung auf jeder Architektur lauffähig, auf welcher eine Laufzeitumgebung installiert ist. Vincent Becker 2/20/2019 11

Hello World! /** * Ein Programm */ public class HelloWorld { } public static void main(string[] args) { System.out.println("Hello World"); } Vincent Becker 2/20/2019 12

Installation von Java Java-Laufzeitumgebung (JRE): Hauptbestandteil ist das Programm java Java Virtual Machine (JVM) Standardklassen und weitere Programmbibliotheken JRE Java-Entwicklungswerkzeug: Enthält die Programme java, javac... Enthält die JRE JDK Wir brauchen das JDK! Wir verwenden Java 8 Vincent Becker 2/20/2019 13

Hinweis für Windows Nach der Installation setzen der Umgebungsvariablen Vincent Becker 2/20/2019 14

Aufsführen auf der Konsole Aufruf des Compilers Demo Ausführen des Programms Vincent Becker 2/20/2019 15

Java-Basics Primitive Typen können auf dem Stack angelegt werden, ihre Instanzen sind keine Objekte! boolean byte, char, short, int, long float, double Alle anderen Typen sind Objekttypen Vincent Becker 2/20/2019 16

Java-Basics: Überall Objekte! Objekt: Instanz einer Klasse Zugriff ausschliesslich über Referenzen! Erzeugung mit new Car c = new Car( Porsche, 300); Entfernung durch Garbage Collector, kein delete! Vincent Becker 2/20/2019 17

Java-Basics: Methoden Funktionen heissen in Java Methoden Jede Methode hat eine eindeutige Signatur public class Car { Zugriffsrechte Rückgabewert Name Parameter public void driveto(location destination, int speed) { System.out.println( Driving to + destination.tostring() + at a speed of + speed + km/h. ); } } Vincent Becker 2/20/2019 18

Eclipse (IntelliJIDEA, NetBeans, ) Integrierte Entwicklungsumgebungen bieten viele nützliche Tools Direktes Compilieren und Ausführen Syntaxhighlighting Automatische Checks: Syntax, Typen, Autoformat Debuggen Einfaches Testen Refactoring Anzeige von Javadocs Wir empfehlen die Verwendung von Eclipse, da der Tutor es auf jeden Fall kann WARNUNG: In der Klausur muss auf Papier programmiert werden! Vincent Becker 2/20/2019 19

Installation von Eclipse Vorbedingung: JDK installieren Eclipse herunterladen: http://www.eclipse.org/downloads/eclipse-packages/ Eclipse IDE for Java Developers Eclipse ausführen Vincent Becker 2/20/2019 20

Ein (bisschen) komplexeres Programm Aufgabe: Funktion zur Berechnung der Summe aller ungeraden Zahlen bis zur Zahl n Demo Achtung: Es gibt viel bessere Lösungen als die naïve, die wir implementieren Vincent Becker 2/20/2019 21

Debuggen Rechsklick auf den Rand bei der Zeile an der man anhalten möchte Toggle Breakpoint Debugger starten Step forward / step into (F6 / F7) Vincent Becker 2/20/2019 22

Testen Junit Tests: Test einzelner Programm-Komponenten Einfach durchführbar in Eclipse New -> JUnit Test Case Run Demo Vincent Becker 2/20/2019 23

Javadocs Strukturierte Kommentare für Java-Code Besonders nützlich in Eclipse /** * Calculates the sum of all odd numbers up to n (inclusive). * * @param n The upper bound. * @return The sum of all the odd numbers up to n. */ public int addodds1(int n) { } Demo Vincent Becker 2/20/2019 24

Übungsblatt 0: Aufgabe 1 HelloWorld mit Texteditor Ausführen auf der Kommandozeile HelloWorld in Eclipse Runterladen der Source-Dateien von der Vorlesungswebseite Einbinden in Eclipse HelloWorld in CodeExpert Generell empfohlen: Bearbeitung in Eclipse, dann zur Abgabe in CodeExpert kopieren Vincent Becker 2/20/2019 25

Übungsblatt 0 Aufgabe 2 Erstes Java-Programm: Signum-Funktion Aufgabe 3 Automatisiertes Testen mit JUnit4 Eclipse CodeExpert Aufgabe 4 Modellbildung Vincent Becker 2/20/2019 26

Fragen? Vincent Becker 2/20/2019 27