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

Ähnliche Dokumente
Primitive Datentypen

Einstieg in die Informatik mit Java

Ein erstes Java-Programm

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

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

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

Einstieg in die Informatik mit Java

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

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

Datenbankanwendungsprogrammierung Crashkurs Java

Welche Informatik-Kenntnisse bringen Sie mit?

3. Anweisungen und Kontrollstrukturen

PROGRAMMIERUNG IN JAVA

Programmieren I + II Regeln der Code-Formatierung

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

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

JAVA-Datentypen und deren Wertebereich

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

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

Programmierung in C. Grundlagen. Stefan Kallerhoff

Grundlagen der Programmierung

Vorlesung Programmieren

Java-Schulung Grundlagen

Distributed Computing Group

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

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kapitel 3: Variablen

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

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

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

Propädeutikum zur Programmierung

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

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

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

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

Einstieg in die Informatik mit Java

RO-Tutorien 3 / 6 / 12

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

Einführung in die C-Programmierung

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

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

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

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

Die Programmiersprache C Eine Einführung

Einführung in die Programmierung 1

public class SternchenRechteckGefuellt {

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Zusammenfassung des Handzettels für Programmieren in C

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

5 Grundlagen der Java-Syntax

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

Dr. Monika Meiler. Inhalt

5. Tutorium zu Programmieren

Prinzipielle Ausführungsvarianten I

Einstieg in die Informatik mit Java

Übersicht. Vorstellung des OO-Paradigmas

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Einführung in die Programmierung mit VBA

3. Grundlegende Sprachkonstruktionen imperativer Programme

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

Programmieren I. Kapitel 5. Kontrollfluss

JAVA - Methoden

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

Werkzeuge zur Programmentwicklung

AuD-Tafelübung T-B5b

Musterlösungen zur Klausur Informatik 3

5. Elementare Befehle und Struktogramme

5.4 Klassen und Objekte

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

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

Grundlagen der Programmierung

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

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

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

Dr. Monika Meiler. Inhalt

Programmierkurs Java

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

Objektorientierte Programmierung OOP Programmieren mit Java

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Der Datentyp String. Stringvariable und -vergleiche

Objektorientierte Programmierung

Programmiervorkurs WS 2012/2013. Schleifen und Methoden

Modul 122 VBA Scribt.docx

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte

2.5 Primitive Datentypen

Kurze Einführung in die Programmiersprache C++ und in Root

Java-Vorkurs Wintersemester 15/16

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

Selbsteinstufungstest Vorkurs Programmieren

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

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

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter

Einfache Rechenstrukturen und Kontrollfluss II

II.1.1. Erste Schritte - 1 -

Transkript:

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 collection objekt-orientiert interpretiert, d.h. plattformunabhängig Programme mit Parallelverarbeitung möglich Internet - Sprache -> Java-Applets a) Boolean (logische Werte wahr & falsch) boolean b1; boolean b2 = true; final boolean b3 = false; (-> Konstantendeklaration) true, false = (Zuweisung),! (Negation), && (und), (oder), == (gleich),!= (ungleich) true && false true false! true boolean b = false;!b Achtung Die folgende Übersicht ist mit Absicht nicht vollständig. monika.heiner@informatik.tu-cottbus.de 0.3-1 / 14 monika.heiner@informatik.tu-cottbus.de 0.3-2 / 14

b) Character (Zeichen) char a1; char a2 = 'a'; final char a3= 'a'; ASCII: 'a', 'b',..., 'z', 'A', 'B',..., 'Z', '0', '1',..., '9' escape char s: '\t' (-> tab), '\n' (-> return), '\\' (-> \), '\"' (-> ") =, ==,!= 'a' == 'b' 'a'!= 'b' char a = 'a'; char b; b = a; c) Integrale Typen byte -128.. 127 8 Bits short -32.768.. 32.767 16 Bits int -2.147.483.648.. 2.147.483.647 32 Bits long (rund) - 10 18.. 10 18 64 Bits byte b; short k = -128; final int i = 043; long l = 0xFF; =, ==,!=, +, -, *, / (ganzzahlige Division), % (modulo division), ++ (pre/post increment), -- (pre/post decrement) dies = 9; das = 2; dies = das++ (-> dies == 2, das == 3) dies = ++das (-> dies == 3, das == 3) x = dies / das (-> x == 4) x = dies % das (-> x == 1) Zuweisungskompatibilität byte < short < int < long, d.h byte kann short- oder int-variablen zugewiesen werden, jedoch nicht umgekehrt. monika.heiner@informatik.tu-cottbus.de 0.3-3 / 14 monika.heiner@informatik.tu-cottbus.de 0.3-4 / 14

d) Reelle Typen float (rund) - 10 38.. 10 38 32 Bits double (rund) - 10 308.. 10 308 64 Bits float f; double d = 0.5; final double PI = 3.14156; 1.3.3f 1e1 1e-10 =, ==,!=, +, -, *, /, float f = 1.0f; double d = 1e10; double e = 1e100; d = f; (-> d == 1.0) f = d; (Fehler!) f = (float)d; (-> f == 1e10) f = (float)e; (->??) Zuweisungskompatibilität... long < float < double e) Zeichenketten (Strings) : String gruss = new String ("hallo"); String gruss1 = "hallo"; String gruss2 = new String(gruss); "...", "42", "hallo\n", "\"" length() (Achtung: mit Klammern) + (Verkettung) charat(index) equals(zk) (sei int x = 10) gruss + "xyz" (-> "halloxyz") gruss + 42 (-> "hallo42") gruss + x + true + "x" (-> "hallo10truex") gruss.length() == 5 (-> true) gruss2.charat(4) (-> 'o') gruss.equals(gruss2) (-> true) Anmerkung String ist eigentlich kein primitiver Datentyp. Das spielt aber für einfache Programme keine Rolle. monika.heiner@informatik.tu-cottbus.de 0.3-5 / 14 monika.heiner@informatik.tu-cottbus.de 0.3-6 / 14

3. Komposite Datentypen a) Arrays (Reihungen, Felder) -> alle Komponenten haben denselben Datentyp byte b[] = new byte[1024]; char[] c, d = new char[5]; int [] p = {1, 2, 3, 4}; Index 0.. size - 1 b) Rekords (Strukturen, Verbund) -> Komponenten können verschiedene Datentypen haben class StudentT { String name; int alter; double notendurchschnitt; } // StudentT StudentT paul = new StudentT (); StudentT paula; paula = new StudentT(); [] (Indizieren einer Komponente) length (Achtung: keine Klammern) b[0] = 3; (-> b[0] == 3) 3 == b[0] (-> true) b[1] = b[0] + 4; (-> b[1] == 7) b[1024] = 5; (-> FEHLER!!) b.length (-> 1024). (Selektieren einer Komponente) paul.name = "Paul"; paul.alter = 23; paul.notendurchschnitt = 2.3; paula.name = paul.name + 'a'; paula.alter = paul.alter - 2; paula.notendurchschnitt = 2.0; monika.heiner@informatik.tu-cottbus.de 0.3-7 / 14 monika.heiner@informatik.tu-cottbus.de 0.3-8 / 14

4. Anweisungen Einfache Anweisungen a) Zuweisung <Zielvariable> = <Quelle> <Quelle> -> Literal, Variable, Ausdruck z. Bsp. x = 3; y = x + 123; b) Eingabe import java.util.scanner; Scanner in = new Scanner(System.in); <int-bezeichner> = in.nextint(); <double-bezeichner> = in.nextdouble();... c) Ausgabe System.out.println(zk1+zk2+zk3+... +zkn);... System.out.println(zk1); System.out.println(); System.out.print(zk1+zk2+zk3+... +zkn); Achtung: Jede einfache Anweisung wir mit ; abgeschlossen Strukturierte Anweisungen d) if-anweisung if ( <Bedingung> ) { } else { <alternative Anweisungsfolge> der else-teil kann auch entfallen: if ( <Bedingung> ) { e) switch-anweisung switch ( <Auswahl> ) { case <wert1> : break; case <wert2> : break;... default: } // switch Achtung: Immer break & default verwenden!!! Mögliche Typen für die Auswahl: boolean, byte, char, short, int monika.heiner@informatik.tu-cottbus.de 0.3-9 / 14 monika.heiner@informatik.tu-cottbus.de 0.3-10 / 14

f) while-schleife while ( <Bedingung> ) { } // while g) do-while-schleife do { } while ( <Bedingung> ) h) for-schleife (Zählschleife) for (<Init>; <Bedingung>; <Schritt>) { zum Beispiel: for (int i = 0; i < 10; i++) { entspricht int i = 0; while (i < 10) { i++; } // while 5. Das erste Java-Programm Datei Hello.java public class Hello { // Kommentar: // Jedes Java-Programm besteht aus einer // Ansammlung von "Klassen", wobei jede // Klasse in ihrer eigenen Datei // untergebracht ist. Diese Datei muss // ebenso wie die Klasse heissen! public static void main (String argv[]) { /* Noch ein Kommentar: Diese Klasse enthaelt eine Funktion main() mit genau diesem Kopf! Diese Funktion ist der Einstiegspunkt in das Programm. */ // Vereinbarungen String s = "hello"; // Ausgabe System.out.println(s + " World!"); } // main } // Hello monika.heiner@informatik.tu-cottbus.de 0.3-11 / 14 monika.heiner@informatik.tu-cottbus.de 0.3-12 / 14

6. Java-Programm Max Problem: Eingelesen werden k Zahlen, ausgegeben wird deren Maximum! import java.util.scanner; public class Max { private static int maximum(int[] numbers) {... } // maximum public static void main (String argv[]) { // Vereinbarungen Scanner in = new Scanner(System.in); int k = 0; int[] numbers; // Eingabe System.out.println("Wieviel Zahlen: "); k = in.nextint(); numbers = new int[k]; for(int i = 0; i < k; i++) { System.out.print((i + 1) + ". Nr: "); numbers[i] = in.nextint(); // Verarbeitung & Ausgabe System.out.println( "Maximum ist" + maximum(numbers)); } // main private static int maximum(int[] fnumbers) { int max;// Ergebnisvariable if (fnumbers.length == 0) { max = 0; } else if (fnumbers.length == 1) { max = fnumbers[0]; } else { max = fnumbers[0]; for(int i=1; i<fnumbers.length; i++) { if (max < fnumbers[i]) { max = fnumbers[i]; return max; } // maximum } // Max monika.heiner@informatik.tu-cottbus.de 0.3-13 / 14 monika.heiner@informatik.tu-cottbus.de 0.3-14 / 14