Programmierkurs Java

Ähnliche Dokumente
Programmierkurs C++ Variablen und Datentypen

Informatik Vorkurs - Vorlesung 2

Vorlesung Programmieren

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

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

Java I Vorlesung Imperatives Programmieren

Grundlagen der Informatik 2. Typen

Variablen, Konstanten und Datentypen

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Programmiervorkurs Einführung in Java Tag 1

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

Vorkurs Informatik WiSe 16/17

Einstieg in die Informatik mit Java

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

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind:

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

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Programmiertechnik Skalare Typen,Variablen, Zuweisungen

Einstieg in die Informatik mit Java

Ein erstes Java-Programm

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Algorithmen und Datenstrukturen 01

Vorkurs Informatik WiSe 17/18

Einführung in die Programmierung

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts

Vorlesung Programmieren

Elementare Konzepte von

3. Java - Sprachkonstrukte I

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

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

Programmieren. Besonderheiten von Java:

Grundelemente von C++

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)

Einstieg in die Informatik mit Java

Am Anfang werden die Attribute deklariert public class Kreis {

3. Java - Sprachkonstrukte I

Hello World! Eine Einführung in das Programmieren Variablen

Abschnitt 2: Daten und Algorithmen

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Einstieg in die Informatik mit Java

Martin Unold INFORMATIK. Geoinformatik und Vermessung

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings

Grundlagen der Programmierung

Grundlagen der OO- Programmierung in C#

Primitive Datentypen und Felder (Arrays)

Projekt 3 Variablen und Operatoren

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Wertebereich und Genauigkeit der Zahlendarstellung

JAVA-Datentypen und deren Wertebereich

3. Java - Sprachkonstrukte I

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Zeiger, Arrays und Strings in C und C++

Werkzeuge zur Programmentwicklung

Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014

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

Wenn... dann... if (condition) statement. if (kontostand < 0) System.out.println("Oops..."); false. condition. true. statement

Übungen zur Vorlesung Wissenschaftliches Rechnen I

2.5 Primitive Datentypen

Einstieg in die Informatik mit Java

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

Einstieg in die Informatik mit Java

Rechnerorganisation. IHS 2015/2016 H.-D. Wuttke, K. Henke

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Rechnerorganisation. IHS 2018/2019 H.-D. Wuttke, K. Henke

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

Tag 2 Repetitorium Informatik (Java)

Grundlagen der Modellierung und Programmierung, Übung

Informatik I (D-ITET)

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

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

2.1 Fundamentale Typen

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

Transkript:

Programmierkurs Java Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer

#2 Überblick Welche Datentypen gibt es in Java? Wie werden Variablen eines Typs deklariert? Arrays Literale

#3 Variablen Adresse Inhalt Eine Variable ist ein Speicherplatz Eine (Start-)Adresse im Arbeitsspeicher Programme verwenden Namen statt Adressen (z.b. jahr, i, hallo) Compiler bzw. Betriebssystem kümmert sich um konkrete Zuordnung...... 1001 12 1002 123 1003 7 1004 7 1007 9 1008 11 Größe des belegten Speichers bestimmt durch Datentyp 32-Bit Ganzzahl 8-Bit vorzeichenbehaftete Ganzzahl...... 800023 800024 4 800025......

#4 Primitive Datentypen in Java Datentyp Bemerkung Min Max byte 8 Bit, 2er-Komplement -128 +127 short 16 Bit, 2er-Komplement -32.768 +32.767 int 32 Bit, 2er-Komplement -2.147.483.648 +2.147.483.647 long 64 Bit, 2er-Komplement -9.223.372.036.854.775.808 +9.223.372.036.854.775.807 float double 32-bit IEEE 754 floating point 64-bit IEEE 754 floating point boolean Größe nicht spezifiziert false true char Ein 16-bit Unicode Zeichen '\u0000' (oder 0) '\uffff' (oder 65.535)

Primitive Datentypen in Java byte: The byte data type is an 8-bit signed two's complement integer. It has a minimum value of -128 and a maximum value of 127 (inclusive). The byte data type can be useful for saving memory in large arrays, where the memory savings actually matters. short: The short data type is a 16-bit signed two's complement integer. It has a minimum value of -32,768 and a maximum value of 32,767 (inclusive). int: The int data type is a 32-bit signed two's complement integer. It has a minimum value of -2,147,483,648 and a maximum value of 2,147,483,647 (inclusive). For integral values, this data type is generally the default choice unless there is a reason (like the above) to choose something else. long: The long data type is a 64-bit signed two's complement integer. It has a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807 (inclusive). Use this data type when you need a range of values wider than those provided by int. Quelle: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html #5

Primitive Datentypen in Java float: The float data type is a single-precision 32-bit IEEE 754 floating point. This data type should never be used for precise values, such as currency. For that, you will need to use the java.math.bigdecimal class instead. Numbers and Strings covers BigDecimal and other useful classes provided by the Java platform. double: The double data type is a double-precision 64-bit IEEE 754 floating point. For decimal values, this data type is generally the default choice. As mentioned above, this data type should never be used for precise values, such as currency. Quelle: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html #6

#7 Primitive Datentypen in Java boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defined. char: The char data type is a single 16-bit Unicode character. It has a minimum value of '\u0000' (or 0) and a maximum value of '\uffff' (or 65,535 inclusive).

Variablen und Variablendeklaration

Deklaration von Variablen Eine Variable ist ein Speicherplatz Repräsentiert einen Wert aus einem bestimmten Wertebereich Wertebereich durch verwendeten Datentyp festgelegt Speicherbereich wird über einen Namen referenziert Eine Variable wird deklariert (d.h. erzeugt) Syntax: <Typ> <Name>; Dadurch wird Speicher reserviert Beispiele int myint; char c1; boolean flag; short myshort, myshort2; mehrere Variablen gleichen Typs #9

Beispiel Was tut dieses Programm? Datei: Beispiele\08-Java-Grundlagen\2-Variablen\Variablen.java #10

Was tut dieses Programm? Auf den ersten Blick: Nichts Zumindest erwartet es keine Eingabe Und es macht keine Ausgaben Es berechnet offensichtlich nichts Aber: es reserviert Speicher für Variablen Und gibt ihn sofort wieder frei Mit diesen Variablen könnten wir jetzt aber arbeiten Zwischenergebnisse und Ergebnisse von Berechnungen ablegen Diese Ergebnisse über den Namen der Variablen ansprechen #11

#12 Deklaration von Variablen: Identifier Wiederholung Deklaration: <Typ> <Name>; Der <Name> einer Variable ist ein Identifier Über diesen Identifier wird eine Variable eindeutig bezeichnet Es können nicht zwei Variablen den gleichen Identifier haben Zumindest nicht im gleichen Kontext (später) Identifier dürfen nur aus gewissen Zeichen bestehen Regeln für Identifier: nächste Folie

#13 Legale Identifier Bestehen aus Unicode Zeichen Nummern Währungssymbole Verbindungszeichen (Bsp.: Unterstrich _ ) Dürfen theoretisch beliebig lang sein Einschränkungen Muss mit Zeichen, Währungssymbol oder Verbindungszeichen starten Also auf keinen Fall mit einer Nummer Kein reserviertes Schlüsselwort(class, public, etc.). Details unter http://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html Keine Leerzeichen Identifier sind case-sensitive (Unterscheidung von Groß- und Kleinschreibung)

#14 Beispiele Legale Identifier Test Besteht nur aus Alphazeichen und ist daher korrekt. DAS_IST_TOTAL_TOLL Unterstriche sind erlaubt (auch am Anfang) bóolêáñ Gültige Unicode Zeichen DAGOBERT$$$$ Dollar-Zeichen ist ein gültiger Java- Buchstabe. $ Währungssymbole sind gültige Zeichen Ungültige Identifier 2good4u Erstes Zeichen muss ein Buchstabe sein und keine Ziffer das ist toll Leerzeichen sind nicht erlaubt Krass! Ausrufezeichen ist, wie viele Sonderzeichen, ungültig class Der Name ist schon von Java belegt (Class wäre ok)

Datei: Beispiele\08-Java-Grundlagen\3-Identifier\Identifier.java #15

#16 Konventionen Normalerweise hält man sich auch an gewisse Konventionen Zum Beispiel an den sog. Java Code Style Java Code Style für Identifier (Kurzfassung) Klein beginnen und im Camel Case weiterschreiben Beispiel: einevariablemiteinemlangennamen Für internationale Zusammenarbeit Am besten auf ASCII beschränken (kein ä, ü, ß,...) Details unter http://www.oracle.com/technetwork/java/javase/documentation/codecon ventions-135099.html#367

Typsicherheit Alle Daten, die wir verarbeiten, sind immer von einem bestimmten Typ Typ der Werte, die wir einer Variablen zuweisen, muss dem Typ der Variablen entsprechen Alternativ müssen wir konvertieren (später) Kann man einen Wahrheitswert (boolean) eine int-zahl zuweisen (z.b. 123)? Nein, das dient der Sicherheit von Programmen Sog. statische Typsicherheit Diese wird vom Compiler überprüft #17

Spezialfall von Deklarationen: Arrays #18

#19 Spezialfall: Arrays Beispiel: Wir benötigen zehn Integer-Variablen int i0, i1, i2, i3, i4, i5, i6, i7, i8 i9; Einfacher: Verwendung sog. Arrays int[] i = new int[10]; Zugriff über Indizes i[0], i[1],, i[9] Erster Index (0) Achtes Element an Index 7 0 1 2 3 4 5 6 7 8 9 5 66 777 338 1-56 4 0 1 4 Länge des Arrays: 10

#20 Arrays: Beispiel der Deklaration Deklaration im Prinzip wie eine normale Variable gleichen Type Wo das [] steht (davor, danach) ist egal new int[10] reserviert Speicher für 10 int Variablen Bedeutung von new: später

Größe / Länge eines Arrays In Java ist die Länge von Arrays abfragbar Komfortfeature von Java (nicht in allen Sprachen) arrayname.length (Variable vom Typ int) Beispiel: int[] i = new int[10]; int t[] = new int[20]; i.length ergibt 10 t.length ergibt 20 #21

Literale

#23 Typsicherheit und Literale Daten sind immer von einem bestimmten Typ Das gilt auch für Literale Literale: Konstante Werte im Quelltext Manchmal auch Konstanten genannt Beispiele 10 01364545 0xA 9.81 true z Welchen Datentyp haben diese Literale?

#24 Datentypen von Literalen (Ganzzahlen) Ganzzahlige Typen (standardmäßig vom Typ int) 10 (Dezimal) 012 (Oktal, Basis 8, wegen führender Null) 0xA (Hexadezimal, Basis 16 wegen führendem 0x, Groß-/Kleinschreibung egal) 0b1010 (Binär, Basis 2, wegen führendem 0b) Suffix l oder L Datentyp long statt int Beispiel: 12273; 12733L; int i = 10; long l = 10L; Java7 erlaubt Underscores zur besseren Übersichtlichkeit Beispiele: 1012_1234_1_4, 0xFFFF_ABCD, 0b1111 0101

#25 Datentypen von Literalen (Floating Point) Floating Point Werte sind standardmäßig vom Typ double Durch Anhängen von f wird ein Literal vom Typ float Optional kann ein d angehängt werden, um double explizit zu fordern Schreibweise von Floating Point Literalen Normale Schreibweise: 10.0 (alternativ: 10.) Normale Schreibweise: 0.1 (alternativ :.1) Eng. Schreibweise: 1E1 (entspricht 1 * 10 1 ) Float erzwingen: 10.0f Double erzwingen: 10.0d

#26 Datentypen von Literalen (Zeichen) Datentyp von Zeichen in Java: char In einfachen Anführungszeichen eingeschlossen (') Repräsentieren immer genau ein Zeichen Mehr als ein Zeichen nicht möglich (dafür spezieller Typ: String später) Beispiele: 'a' (das Zeichen a), 'ü' (das Zeichen ü) Manche Zeichen werden mit Backslash (\) escaped '\n' Zeilenumbruch '\'' Das Zeichen ' '\\' Das Zeichen \ selbst '\u00f1 Das Unicode-Zeichen mit der Nummer F1 16 (241 10 ): ñ Details unter: http://docs.oracle.com/javase/tutorial/java/data/characters.html

Beispiel Datei: Beispiele\08-Java-Grundlagen\4-Literale\Literale.java #27