JAVA BASICS

Werbung
Informatik 1, Kurzeinführung in Mini-Java
WS 2000
JAVA BASICS
Informatik 1, Kurzeinführung in Mini-Java
WS 2000
2. Primitive Datentypen
a) Boolean (logische Werte wahr & falsch)
1. Warum Java?
Deklarationen
boolean b;
boolean b = true;
final boolean b = false;
(-> Konstantendeklaration)
• weit verbreitet
• einfach und (relativ) sicher
keine Pointer (?)
keine gotos
kein Präprozessor
keine globalen Variablen
garbage collection
Literale
true, false
Operationen
= (Zuweisung), ! (Negation),
&& (und),
|| (oder),
== (gleich),
!= (ungleich)
• objekt-orientiert
Beispiele
true && false
true || false
! true
boolean b = false;
!b
• interpretiert, d.h.
plattformunabhängig
• Programme mit Parallelverarbeitung möglich
• “Internet - Sprache”
[email protected]
1 / 12
[email protected]
2 / 12
Informatik 1, Kurzeinführung in Mini-Java
WS 2000
Informatik 1, Kurzeinführung in Mini-Java
b) Character (Zeichen)
c) Integrale Typen
Deklarationen
char a;
char a = 'a';
final char b = 'a';
• byte
Literale
ASCII: 'a', 'b', ..., 'z',
'A', 'B', ..., 'Z',
'0', '1', ..., '9'
escape char’s: '\t' (tab), '\n' (return),
'\\' (\), '\”' (“)
WS 2000
-128 .. 127
8 Bits
• short -32768 .. 32767
16 Bits
• int
-2147483648 .. 2147483647
32 Bits
• long
...
64 Bits
Deklarationen
byte b;
short k = -128;
final int i = 043;
long l = 0xFF;
Operationen
=, ==, !=, +, -, *, /,
% (modulo division),
++ (pre/post increment),
-- (pre/post decrement)
Operationen
=, ==, !=
Beispiele
'a' == 'b'
'a' != 'b'
Beispiele
this = 8; that = 2;
char a = 'a';
char b;
b = a;
this = that++
this = ++that
x = this / that
x = this % that
(->
(->
(->
(->
this
this
x ==
x ==
== 2, that == 3)
== 3, that == 3)
4)
0)
Zuweisungskompatibilität
byte < short < int < long,
d.h byte kann short- oder int-Variablen zugewiesen
werden, jedoch nicht umgekehrt.
[email protected]
3 / 12
[email protected]
4 / 12
Informatik 1, Kurzeinführung in Mini-Java
WS 2000
• float
32 Bits
• double
64 Bits
Deklarationen
float f;
double d = 0.5;
final double pi = 3.14156;
.3
1e1
1e-10
Index
0 .. size - 1
Beispiele
float f = 1.0;
double d = 1e10;
double e = 1e100;
=
=
=
=
f;
d;
(float)d;
(float)e;
Operationen
[]
length()
(-> d == 1.0)
(Fehler!)
(-> f == 1e10)
(-> ??)
Beispiele
b[0] = 3;
3 == b[0]
b[1] = b[0] + 4;
b[1024] = 5;
b.length()
Zuweisungskompatibilität
. . . long < float < double
[email protected]
-> Reihungen beliebiger Datentypen
Deklarationen
byte b[] = new byte[1024];
char[] c, d = new char[5];
int [] p = {1, 2, 3, 4};
Operationen
=, ==, !=, +, -, *, /,
d
f
f
f
WS 2000
3. Arrays (Reihungen, Felder)
d) Gleitkomma-Typen
Literale
1.3
Informatik 1, Kurzeinführung in Mini-Java
5 / 12
[email protected]
(->
(->
(->
(->
(->
b[0] == 3)
true)
b[1] == 7)
FEHLER!!)
1024)
6 / 12
Informatik 1, Kurzeinführung in Mini-Java
WS 2000
4. Strings (≈
≈ Array’s of char)
Informatik 1, Kurzeinführung in Mini-Java
WS 2000
5. Anweisungen
a) Zuweisung
x = 3;
y = x + 123;
Deklarationen:
String gruss = new String ("hallo");
String gruss1 = "hallo";
String gruss2 = new String(gruss);
b) if-Anweisung
if (x == 3) {
Anweisungsfolge
} else {
alternative Anweisungsfolge, optional
}
Literale
"...", "42", "hallo\n", "\”"
Operationen
length(),
+ (Konkatenation),
charAt()
c) switch-Anweisung
Beispiele
(sei int x = 10)
gruss + "xyz"
gruss + 42
gruss + x + true + "x"
gruss.length() == 5
gruss2.charAt(4)
(-> “halloxyz”)
(-> "hallo42")
(-> hallo10truex)
byte b;
...
switch (b) {
case 1:
Anweisungsfolge break;
case -100: Anweisungsfolge break;
. . .
default:
Anweisungsfolge
}
Achtung:
• Immer break & default verwenden!!!
(-> o)
• Mögliche Typen für die Auswahl:
boolean, byte, char, short, int, long
[email protected]
7 / 12
[email protected]
8 / 12
Informatik 1, Kurzeinführung in Mini-Java
WS 2000
Informatik 1, Kurzeinführung in Mini-Java
6. Das erste Java-Programm
d) while-Schleife
int i = 10;
while (i < 0) {
Anweisungsfolge
}
Datei Hello.java
public class Hello {
// Kommentar:
// Jedes Javaprogramm besteht aus einer
// Ansammlung von “Klassen”, wobei jede
// Klasse in ihrer eigenen Datei
// untergebracht ist. Diese Datei muss
// ebenso wie die Klasse heissen!
e) do-while-Schleife
do {
Anweisungsfolge
} while (i > 10)
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.
*/
String s = “hello”;
System.out.println(s + “ World\n”);
// Ausgabe
System.exit(0);
// Termination mit Rueckgabewert 0
}
f) for-Schleife (Zählschleife)
for (int i = 0; i < 10; i++) {
Anweisungsfolge
}
entspricht
}
int i = 0;
while (i < 10) {
Anweisungsfolge
i++;
}
[email protected]
WS 2000
9 / 12
[email protected]
10 / 12
Informatik 1, Kurzeinführung in Mini-Java
WS 2000
Informatik 1, Kurzeinführung in Mini-Java
WS 2000
7. Java-Programm Max
Problem: Eingelesen werden k Zahlen,
ausgegeben wird deren Maximum!
import dssz.io.stdin;
public class Max {
private static int maximum(int[] numbers) {
...
}
public static void main(String argv[]) {
int i = 0;
int k = 0;
int[] numbers;
stdin eingabe = new stdin();
System.out.print(“Wieviel Zahlen: “);
k = eingabe.getIntNumber();
numbers = new int[k];
for(i = 0; i < k; i++) {
numbers[i] = eingabe.getIntNumber();
}
System.out.println(
“Maximum ist“ + maximum(numbers));
System.exit(0);
}
private static int maximum(int[] numbers) {
int i = 0;// Zaehlvariable
int max = 0;// Ergebnisvariable
if(numbers.length == 0) {
max = 0;
} else if (numbers.length == 1) {
max = numbers[0];
} else {
max = numbers[0];
for(i = 1; i < numbers.length; i++) {
if(max < numbers[i]) {
max = numbers[i];
}
}
}
return max;
}
}
[email protected]
11 / 12
[email protected]
12 / 12
Herunterladen