Einführung in die Programmierung mit Java 37 Universität Bremen Elementare Datentypen Datentyp Default Speicherplatz Wertebereich byte 0 1 Byte (8 Bits) -128 bis 127 short 0 2 Bytes (16 Bits) -32768 bis 32767 int 0 4 Bytes (32 Bits) -2147483648 bis 2147483647 long 0 8 Bytes (64 Bits) -9223372036854775808 bis 9223372036854775807 float 0.0 4 Bytes (32 Bits) ±1.40239846E-45 bis ±3.40282347E+38 double 0.0 8 Bytes (64 Bits) ±4.94065645841246544E-324 bis ±1.79769313486231570E+308 boolean false ? (min. 1 Bit) false, true char '\u0000' 2 Bytes (16 Bits) '\u0000' bis '\uFFFF'
30
Embed
Elementare Datentypen - Uni Bremenroefer/pi1help/2.pdf · Einführung in die Programmierung mit Java 38 Universität Bremen Ganzzahlige Datentypen Zahlensysteme Dezimal, es gibt die
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
In String-Literalen können alle Escape-Sequenzen aus char-Literalen verwendet werden
In String-Literalen können alle Escape-Sequenzen aus char-Literalen verwendet werden
Einführung in die Programmierung mit Java 42
Universität Bremen
Typkonvertierung
� Automatisch� byte → short → int → long → float → double
� Manuell� byte b; short s; int i; long l; float f = 1.5; double d = -1.5; char c;
� b = (byte) f; (b == 1)� f = (float) 178.2� l = (int) d; (l == -2)
� c = (char) 32
� char
Bei der Typumwandlung von double/float in einen Ganzzahltyp wird immer abgerundet
Bei der Typumwandlung von double/float in einen Ganzzahltyp wird immer abgerundet
� Durch Funktionen� String s = Integer.toString(i);� i = Integer.parseInt(s);� d = Double.parseDouble(s);
Einführung in die Programmierung mit Java 43
Universität Bremen
Wrapper-Klassen
� Datentyp Wrapper� byte Byte
� short Short� int Integer� long Long
� float Float� double Double� boolean Boolean
� char Character
� Datentyp Wrapper� byte Byte
� short Short� int Integer� long Long
� float Float� double Double� boolean Boolean
� char Character
� Generell� Wrapper.MAX_VALUE
� z.B. Byte.MAX_VALUE
� Wrapper.MIN_VALUE� Wrapper.parseWrap(String s)
� z.B. Integer.parseInt("1234");
� Wrapper.toString(type t)� z.B. Integer.toString(1234);
� Float und Double� Wrapper.NEGATIVE_INFINITY
� z.B. Double.NEGATIVE_INFINITY
� Wrapper.POSITIVE_INFINITY
� Wrapper.NaN
� Generell� Wrapper.MAX_VALUE
� z.B. Byte.MAX_VALUE
� Wrapper.MIN_VALUE� Wrapper.parseWrap(String s)
� z.B. Integer.parseInt("1234");
� Wrapper.toString(type t)� z.B. Integer.toString(1234);
� Float und Double� Wrapper.NEGATIVE_INFINITY
� z.B. Double.NEGATIVE_INFINITY
� Wrapper.POSITIVE_INFINITY
� Wrapper.NaN
Einführung in die Programmierung mit Java 44
Universität Bremen
Nachschlagen in der Dokumentation
Einführung in die Programmierung mit Java 45
Universität Bremen
int boolean String
i b s
Variablen
7 true "Hallo"
� Richtig� int i = 7;� boolean b = true;� String s = "Hallo";
� Falsch� boolean b = 7;� boolean b = "Hallo";
Einführung in die Programmierung mit Java 46
Universität Bremen
Konstanten
� Allgemein� Konstanten sind benannte Literale, können also überall verwendet werden, wo auch
Literale zulässig sind (z.B. hinter case in der switch-Anweisung)� Im Gegensatz zu Variablen kann sich der Wert einer Konstanten niemals ändern
� Beispiel:� final int IS_NUMBER = 1,
IS_KEYWORD = 2;:
switch(type){
case IS_NUMBER::
case IS_KEYWORD::
}
Einführung in die Programmierung mit Java 47
Universität Bremen
Bezeichner für Variablen/Konstanten
� Erstes Zeichen muss ein Buchstabe, '_' oder '$' sein� Alle weiteren Zeichen können Buchstaben, Ziffern, '_' oder '$' sein� Für Variablen keine Bezeichner von Schlüsselwörtern verwenden
� abstract default if private throwboolean do implements protected throwsbreak double import public transientbyte else instanceof return trycase extends int short voidcatch final interface static volatilechar finally long super whileclass float native switchconst for new synchronizedcontinue goto package this
� Groß- und Kleinschreibung wird unterschieden
Einführung in die Programmierung mit Java 48
Universität Bremen
Konventionen für Bezeichner
� Variablen� Für Laufvariablen in Schleifen: i, j� Für die Argumente von main: args� Variablen beginnen mit Kleinbuchstaben: stream
� Mehrere Worte werden durch Großbuchstabenaneinander gefügt: thisIsAVeryLongName
� '_' und '$' werden nicht verwendet
� Konstanten� Nur Großbuchstaben, Ziffern und '_' MAX_WORDS, Math.PI
� Klassen� Genau wie Variablen, beginnen aber mit einem System, Greetings
Großbuchstaben
Einführung in die Programmierung mit Java 49
Universität Bremen
Lebenszeit/Sichtbarkeit
� Lebenszeit� In Funktionen bis Ende des aktuellen Blocks {...}
� Ausnahme: Funktionsparameter� void f(int a) {...} ist eigentlich void f { (int a) {...} }
� Ausnahme: Definitionen in for� for(int i = 0; i < 10; ++i) {...} ist eigentlich
{ for(int i = 0; i < 10; ++i) {...} }
� Sichtbarkeit, Suchen nach Bezeichner� In Funktion rückwärts, aber nicht in Blöcke hinein� In Funktionsparametern
� In Klasse (auch hinter der aktuellen Funktion)
� Mehrfachdefinitionen� nicht in Funktionen, d.h. void f(int a) {int a; {int a;}} nicht erlaubt
class HideAndSeek{
static int target;static void main(String[] args){System.out.println(target);{int target = 17;System.out.println(target);
}System.out.println(target);
}}
class HideAndSeek{
static int target;static void main(String[] args){System.out.println(target);{int target = 17;System.out.println(target);
}System.out.println(target);
}}
Einführung in die Programmierung mit Java 50
Universität Bremen
Arrays
� Definition� Eine Reihung fester Länge von
Variablen gleichen Typs, auf die mit einem Index zugegriffen werden kann.
for(int i = 0; i < a.length; ++i)System.out.println(a[i][2] + " " +
a[i][0] + " " + a[i][1]);
Einführung in die Programmierung mit Java 53
Universität Bremen
Mehrdimensionale Arrays
� Dimensionen� Eine beliebige Anzahl von Dimensionen ist möglich
� Speicherplatzverbrauch bedenken!
� Ein zweidimensionales Array ist ein Array von Arrays
� Daher können die Arrays in weiteren Dimensionen selbst auch wieder unterschiedliche Größen haben
� Beispiel� int[.][.] a = new int[5][.];
a[0] = new int[3];a[1] = new int[2];a[2] = new int[4];
Einführung in die Programmierung mit Java 54
Universität Bremen
Operatoren
� Stelligkeiten� Unäre Operatoren, z.B die Vorzeichen '+' oder '-'
� Binäre Operatoren, z.B. die Rechenoperationen '+' oder '-'� Trinärer Operator '? :'
� Arten� Vergleichsoperatoren, z.B. '>' oder '<'
� Logische Operatoren, z.B. '&&' oder '||'� Arithmetische Operatoren, z.B. '+' oder '-'� Bit-Operatoren, z.B. '>>' oder '&'
� Zuweisungsoperatoren
� Operatoren können abhängig vom Typ der Operanden unterschiedliche Auswirkungen haben� z.B. ist 1+1 == 2, aber "1"+"1" ergibt "11"
Einführung in die Programmierung mit Java 55
Universität Bremen
Vergleichsoperatoren
� Allgemein� Vergleichsoperatoren liefern immer einen Wahrheitswert (boolean) zurück
� Beide Operanden müssen einen kompatiblen Typ haben
� Numerische Operatoren� Gleichheit: age == 18� Ungleichheit: age != 18
� Größer: age > 18� Größer oder gleich: age >= 18� Kleiner: age < 18
� Kleiner oder gleich: age <= 18
� Für Objekte (z.B. Strings)� Identität: s1 == s2 (Ist s1 dieselbe Zeichenkette wie s2?)� Gleichheit s1.equals(s2) (ist kein Operator sondern eine Funktion)
Einführung in die Programmierung mit Java 56
Universität Bremen
Logische Operatoren
� Allgemein� Logische Operatoren verrechnen ein oder zwei Wahrheitswerte zu einem
neuen Wahrheitswert
� Operatoren� Logisches Nicht: !(age > 18) == (age <= 18)� Logisches Und: age > 18 && age < 65� Logisches Oder: age <= 18 || age >= 65