Java-Vorkurs 2015 Wintersemester 15/16 Herzlich Willkommen! package de.unistuttgart.47.01.javavorkurs; public class WelcomeErstis { public static void main(string[] args){ System.out.println( Herzlich Wilkommen ); System.out.println( liebe Erstis ); } }
Wieso Vorkurs? Erste Einführung an wichtige Tools Überblick: Was ist Java? Einstieg in Java: Installieren, Nutzen, Programmieren Einstieg in PSE (Programmierung & Softwareentwicklung) erleichtern 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 2
Wo, Wie, Wer, Was? Heute: Kleingruppen in V38, danach in HS / GS Ab Dienstag: Treffen um 14:00 Uhr Gebäude V38 GS / HS Pools Übungen & Präsentationen in den Pools 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 3
Ablauf: Montag Einrichtung: eduroam, Java, Eclipse Erstes Java-Programm Kommentare / Syntax Variablen & Datentypen Rechenoperatoren Casting von Variablen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 4
Ablauf: Dienstag Wiederholung Bool sche Operatoren Arrays Verzweigungen Schleifen Methoden & Rückgabewerte User Input 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 5
Ablauf: Mittwoch Wiederholung Globale / Lokale Variablen Klasse, Objekt und Instanzierung Zugriffsmodifier / Sichtbarkeiten Static oder nicht-static? Konstruktor 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 6
Ablauf: Donnerstag Erstsemesterbegrüßung Wiederholung & Übungen Collections & Maps Inception-Aufgabe public Fun grillen(steak s){} 06.10.2015 19:17 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 7
Ablauf: Freitag Code Debugging Große Zusammenfassung & Wiederholung J-Unit Tests Vertiefungsrichtungen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 8
Aufteilung in Gruppen Aufteilung in kleinere Übungsgruppen Erste Einweisung, kurze Erklärungen Gruppen 20 40 Personen (reihenweise) Folgt eurem Tutor! Treffen danach: HS / GS - Pools 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 9
Java-Vorkurs 2015 Wintersemester 15/16 Kleintutorium Herzlich Willkommen! package de.unistuttgart.47.01.javavorkurs; public class WelcomeErstis { public static void main(string[] args){ System.out.println( Herzlich Wilkommen ); System.out.println( liebe Erstis ); } }
Wieso Kleintutorium? Einrichtung eduroam Uni-WLAN (auch weltweit ) Java herunterladen & installieren JRE & JDK Eclipse installieren & nutzen Java-Projekt anlegen Erstes Hello-World-Programm Grüße die ganze Welt! 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 Kleintutorium 11
eduroam einrichten - Windows Parameter Studierende Mitarbeiter Netzwerkname (SSID) Sicherheitstyp Verschlüsselung Netzwerkauthentifizierung Innere Authentifizierung Benutzername Äußere Identität RADIUS-Server eduroam WPA2-Enterprise AES PEAP MS-CHAP-v2 <IhrLogin>@stud.unistuttgart.de anonymous@stud.unistuttgart.de stud-auth1.rus.uni-stuttgart.de stud-auth2.rus.uni-stuttgart.de CA-Zertifikat Deutsche Telekom Root CA 2 Passwort Ihr persönliches Passwort <IhrLogin>@uni-stuttgart.de anonymous@uni-stuttgart.de usadr-auth1.rus.uni-stuttgart.de usadr-auth2.rus.uni-stuttgart.de 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 12
eduroam einrichten - Windows 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 13
eduroam einrichten - Windows 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 14
eduroam einrichten - Windows 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 15
eduroam einrichten - Windows 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 16
eduroam einrichten - Windows 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 17
eduroam einrichten - Windows 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 18
eduroam einrichten - Windows 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 19
eduroam einrichten Android 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 20
Java Development Kit herunterladen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 21
Java Development Kit herunterladen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 22
Java Development Kit herunterladen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 23
Java Development Kit herunterladen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 24
Eclipse herunterladen & installieren 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 25
Eclipse herunterladen & installieren 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 26
Eclipse herunterladen & installieren 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 27
Eclipse herunterladen & installieren 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 28
Eclipse herunterladen & installieren 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 29
Eclipse herunterladen & installieren 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 30
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 31
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 32
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 33
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 34
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 35
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 36
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 37
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 38
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 39
Eclipse starten & nutzen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 40
Noch fragen? Weiter geht es sonst im Pool 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 41
Java-Vorkurs 2015 Wintersemester 15/16 Die main-methode
Was macht main? Einstiegspunkt für Java: Beim Start des Programms wird nach public static main(string[] args){} gesucht und aufgerufen nur ein Haupteinstiegspunkt in Java 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 43
Die main-methode & ein einfacher Aufbau: Klassenname Methode main Quellcode Methode/Klasse schließen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 44
Java-Vorkurs 2015 Wintersemester 15/16 Kommentare & Syntax
Wieso meinen eigenen Code kommentieren? Kommentierung ist SEHR wichtig, um: Eigenen Code zu einem späteren Zeitpunkt wiederzuverstehen Anderen Entwicklern das Verständnis des Codes zu erleichtern Good Practice! Verschiedene Arten von Kommentaren: JavaDoc-Kommentar Implementationskommentar TODO-Kommentar Multiline-Kommentar 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 46
Kommentare im Code 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 47
Java-Syntax Die Syntax einer Programmiersprache ist ähnlich einer Grammatik im Sprachgebrauch Unter Syntax versteht man allgemein ein Regelsystem zur Kombination elementarer Zeichen zu zusammengesetzten Zeichen in natürlichen oder künstlichen Zeichensystemen. Im Fall Java: Reservierte Wörter Angabe von Datentypen, Klassen, Methoden etc. Zusammensetzung von Anweisungen 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 48
Syntax & Syntaxhighlighting 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 49
Java-Vorkurs 2015 Wintersemester 15/16 Variablen & Datentypen
Was ist eine Variable? Eine Variable ist ein Bezeichner für einen beliebigen oder bestimmten Wert Platzhalter Beispiel: Ausgabe: Wie heißt du? Eingabe: String name = Duke Ausgabe: Hallo <name> Hallo Duke Können/dürfen/sollen sich zur Laufzeit verändern 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 51
Elementare Datentypen Datentyp Größe Wrapper-Klasse Wertebereich Beschreibung boolean 1 Bit java.lang.boolean true / false Boolescher Wahrheitswert char 16 Bit java.lang.character U+0000 U+FFFF Unicode-Zeichen (z.b. 'A' oder '\uc3a4') byte 8 Bit java.lang.byte 128 +127 Zweierkomplement-Wert short 16 Bit java.lang.short 32.768 +32.767 Zweierkomplement-Wert int 32 Bit java.lang.integer 2.147.483.648 +2.147.483.647 Zweierkomplement-Wert long 64 Bit java.lang.long 9.223.372.036.854.775.808 +9.223.372.036.854.775.807 Zweierkomplement-Wert float 32 Bit java.lang.float ±1,4E 45 ±3,4E+38 Gleitkommazahl (IEEE 754) double 64 Bit java.lang.double ±4,9E 324 ±1,7E+308 Gleitkommazahl doppelter Genauigkeit (IEEE 754) Quelle: Wikipedia 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 52
Datentypen & Variablen in Java 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 53
Variablen verwenden 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 54
Java-Vorkurs 2015 Wintersemester 15/16 Rechenoperatoren
Arithmetische Operatoren Einfache Rechenoperationen: + Addition zweier Zahlen - Subtraktion * Multiplikation / Division % Modulo (Rest einer Division: 7 % 3 = 1 8 % 3 = 2) +=direkte Addition (z.b.: i += 3 addiert 3 auf i (statt i = i+3) -=, *=, /=, %= ++um 1 erhöhen (i++ statt i = i+1 oder i += 1) -- um 1 verringern 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 56
Arithmetische Operatoren in Java 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 57
Java-Vorkurs 2015 Wintersemester 15/16 Variablen casten
Nach Talent? Tanzbarkeit? DSDS? Variablen können nicht einfach ineinander umgewandelt werden. (evtl. Verlust von Informationen!) Darum: Casten = umwandeln eines Datentyps in einen anderen int drei = (int) 3L; int vier = (int) 4.5; 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 59
Implizites Casten Daten im kleineren Datentyp können dem größeren automatisch angepasst werden (wenn KEIN Datenverlust) : short int long float int, long, float, double long, float, double float, double double 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 60
Explizites Casten Gewünschter, neuer Datentyp wird angeben Datenverlust ist möglich! 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 61
Explizites Casten: Reihenfolge Explizites Casten hat eine höhere Priorität (als bspw. Punkt vor Strich ) int bspa = (int) 2.34 * 4.56; funktioniert NICHT, da 4.56 nicht gecastet wird int bspb = (int) (2.34 * 4.56); funktioniert! 06.10.2015 19:16 Java-Vorkurs - Uni Stuttgart - WS15/16 - Begrüßung 62