Primitive Datentypen Operatoren
Primitive Datentypen Operatoren
Primitive Datentypen Operatoren
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
<strong>Primitive</strong> <strong>Datentypen</strong><br />
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
<strong>Operatoren</strong><br />
• 2 Arten von <strong>Datentypen</strong>:<br />
• primitive <strong>Datentypen</strong> (heute)<br />
• Objekte (später)<br />
• Java ist streng typisiert, d.h. für jede Variable muß<br />
angegeben werden was für eine Art von Wert sie<br />
aufnimmt.<br />
• Beispiele:<br />
double radius;<br />
float umfang;<br />
int anzahl = 2;<br />
char a = ‘c’;<br />
Tabelle 1:<br />
Typ Größe Minimum Maximum Defaultwert Beispiel<br />
boolean 1-bit - - false false<br />
char 16-bit Unicode 0 Unicode<br />
2 16 -1<br />
\u0000<br />
(null)<br />
byte 8-bit -128 +127 (byte) 0 34<br />
short 16-bit -2 15 +2 15 -1 (short) 0 21345<br />
int 32-bit -2 31 +2 31 -1 0 42322554<br />
long 64-bit -2 63 +2 63 -1 0L 134567L<br />
float 32-bit 0.0f 3.1415f<br />
double 64-bit 0.0d 325.3245d<br />
void - - -<br />
‘a’<br />
• mathematische <strong>Operatoren</strong>:<br />
• logische <strong>Operatoren</strong><br />
Tabelle 1:<br />
Operator Bedeutung Art Resultat Beispiel<br />
==, != Gleichheit, Ungleichheit binär boolean a == 12<br />
= Vergleich binär boolean a >= 128<br />
+, - Addition, Subtraktion binär numerisch a + 12<br />
*, / Multiplikation, Division binär numerisch a / 2<br />
% Modulo binär numerisch a % 2<br />
++, -- Inkrement, Dekrement unär numerisch i++<br />
+=, -=, *=, /<br />
=, %=<br />
Zuweisungsoperator binär numerisch a *= 2<br />
Operator Bedeutung Art Resultat Beispiel<br />
==, != Gleichheit, Ungleichheit binär boolean b1 == b2<br />
! Negation unär boolean ! b2<br />
& Und (vollständig) binär boolean b1 & b2<br />
&& Und (kurzauswertung) binär boolean b1 && b2<br />
| Oder (vollständig) binär boolean b1 | b2<br />
|| Oder (kurzauswertung) binär boolean b1 || b2<br />
• Konstanten<br />
soll eine Variable nicht geändert werden dürfen, so<br />
wird es mit dem Attribut final versehen:<br />
final float PI = 3.141592f;<br />
A. Schmidt, W. Süß 1 11.10.2000<br />
A. Schmidt, W. Süß 2 11.10.2000
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Ausgabe<br />
• In der Klasse java.lang.System realisiert.<br />
• Drei Streams:<br />
• Standardausgabe:System.out<br />
• Standardfehlerausgabe: System.err<br />
• Standardeingabe: System.in<br />
• Ausgabe auf Konsole (stdout, stderr):<br />
System.out.println("Ich bin eine Zeile");<br />
System.out.print("Ich bin");<br />
System.out.println(" eine Zeile");<br />
System.err.println("Aaaargghh ich steeer....");<br />
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Ein erster Programmierversuch:<br />
• Datei HelloWorld.java in Editor (z.B. notepad)<br />
erstellen:<br />
class HelloWorld {<br />
}<br />
public static void main (String args[]) {<br />
System.out.println("Hello World!");<br />
}<br />
• DOS Fenster öffnen<br />
• Programm übersetzen:<br />
d:\user\smiff> javac HelloWorld.java<br />
• Wenn kein Fehler aufgetreten ist, wurde die<br />
Datei HelloWorld.class angelegt<br />
d:\user\smiff\> dir Hello*<br />
HelloWorld.class<br />
HelloWorld.java<br />
d:\user\smiff><br />
Hello World<br />
• Programm laufen lassen:<br />
d:\user\smiff> java HelloWorld<br />
Alternative:<br />
• Verwendung von Joe<br />
A. Schmidt, W. Süß 3 11.10.2000<br />
A. Schmidt, W. Süß 4 11.10.2000
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Eingabe<br />
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Beispielprogramm zur Eingabe<br />
• Einlesen von Konsole: (mit Ausnahmebehandlung)<br />
byte buffer[] = new byte[80];<br />
int num_char;<br />
String input = "";<br />
System.out.print("Bitte gib mal was ein: ");<br />
try {<br />
num_char = System.in.read(buffer, 0, 80);<br />
input = new String(buffer,0, num_char);<br />
}<br />
catch (IOException e) {<br />
System.err.println("IO Fehler");<br />
}<br />
System.out.println(">>>>>>" + input);<br />
• Benutzung der Klasse Utils:<br />
Zur Vereinfachung kann die Klasse Utils in das Programm importiert<br />
werden, die das Einlesen erleichtert.<br />
Utils ist auf der Homepage verfügbar.<br />
import Utils;<br />
class InputDemo {<br />
// kleines Demo Programm zur Demonstration<br />
// der Eingabemethoden<br />
// Utils.inputInteger(...)<br />
// Utils.inputString(...)<br />
// Utils.inputFloat(...)<br />
public static void main(String argv[]) {<br />
String str = Utils.inputString(" gib Text ein:");<br />
int z = Utils.inputInteger("und jetzt ne Zahl:");<br />
float f = Utils.inputFloat("und ne Gleitkommazahl:");<br />
System.out.println(" String: " + str );<br />
System.out.println("Integer: " + z );<br />
System.out.println("Float: " + f);<br />
}<br />
}<br />
A. Schmidt, W. Süß 5 11.10.2000<br />
A. Schmidt, W. Süß 6 11.10.2000
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Kontrollfluß und Schleifen<br />
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Beispiel:<br />
• if - else<br />
if (boolscher Ausdruck)<br />
statement<br />
else<br />
statement<br />
• Beispiel:<br />
if (a % 2 == 0) {<br />
System.out.println(“a ist gerade“);<br />
} else {<br />
System.out.println(“a ist ungerade“);<br />
}<br />
• While Schleife<br />
while (boolscher Ausdruck)<br />
statement<br />
• Beispiel:<br />
i = 1;<br />
a = 0;<br />
while (a < 10) {<br />
a = a + i;<br />
i = i + 1;<br />
}<br />
• Ausgabe der Zahlen von 1 bis 100:<br />
class Ausgabe1bis100<br />
{<br />
public static void main (String args [])<br />
{<br />
int i=1;<br />
while ( i
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Schleifen<br />
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Beispiel:<br />
• do - Schleife<br />
do<br />
statement<br />
while (boolscher Ausdruck);<br />
• Beispiele (Test zu Beginn/Ende der Schleife):<br />
do {<br />
System.out.println(a);<br />
a++;<br />
} while (a < 50);<br />
while (a < 50) {<br />
System.out.println(a);<br />
a++;<br />
}<br />
• for - Schleife<br />
for (init; boolscher Ausdruck; Schritt)<br />
statement<br />
• Beispiel:<br />
for (int i = 1; i < 100; i++) {<br />
System.out.println(“i = “ + i);<br />
}<br />
• Ausgabe der Zahlen von 1 bis 100 mit do-while:<br />
class Ausgabe1bis100<br />
{<br />
public static void main (String args [])<br />
{<br />
int i=1;<br />
do<br />
{<br />
System.out.println(i);<br />
i++;<br />
}<br />
while ( i
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Beispiel:<br />
• Aufsummieren der Zahlen von 1 bis 50<br />
public class Summe<br />
{<br />
public static void main (String args[])<br />
{<br />
int summe=0;<br />
for (int i= 1; i 100)<br />
break;<br />
System.out.println(“i=“ + i);<br />
}<br />
• continue: Abbruch des aktuellen Schleifendurchlaufs<br />
und Sprung zum nächsten Schleifendurchlauf<br />
while (i
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
• Switch Statement<br />
switch (Selektor) {<br />
case wert1: statement; break;<br />
case wert2: statement; break;<br />
// ...<br />
default: statement;<br />
}<br />
• Beispiel:<br />
public class Switch<br />
{<br />
public static void main (String args[])<br />
{for (char c=65; c < 91; c++) {<br />
switch (c) {<br />
case ‘A’:<br />
case ‘E’:<br />
case ‘I’:<br />
case ‘O’:<br />
case ‘U’:<br />
System.out.println(c + „ ist ein Vokal“);<br />
break;<br />
case ‘X’:<br />
System.out.println(„Das „ + c +“ ist mein Lieblingsbuchstabe“);<br />
break;<br />
default:<br />
System.out.println(c + „ ist ein Konsonant“);<br />
}<br />
}<br />
}<br />
}<br />
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
• Ein String ist ein Java Objekt<br />
• Erzeugung:<br />
String s1 = "Hallo";<br />
String s2 = new String("wie gehts");<br />
String s3 = "Ein \"String\" mit Anführungszeichen";<br />
• Verkettung von Strings:<br />
String s4 = s1 + " " + s2 + "?";<br />
• Umwandlung einfacher <strong>Datentypen</strong> in Strings:<br />
float f = 1.234f;<br />
Strings<br />
String s = Float.toString(f);<br />
• Umwandlung von Strings in einfache <strong>Datentypen</strong>:<br />
String intStr = "353";<br />
int i = Integer.parseInt(intStr);<br />
short s = Short.parseShort(intStr);<br />
• Methoden der Klasse String:<br />
• Vergleich: boolean equal = s1.equals(s2)<br />
equal = s1.equalsIgnoreCase(s2);<br />
• Länge ermitteln: int len = s1.length()<br />
• Liste aller Methoden :<br />
http://java.sun.com/products/jdk/1.2/docs/api/java/<br />
lang/String.html<br />
A. Schmidt, W. Süß 13 11.10.2000<br />
A. Schmidt, W. Süß 14 11.10.2000
Problemorientierte Programmiersprachen - Java I WS 2000/01<br />
Beispiele:<br />
• Programm das alle durch 3, 5 oder 7 teilbaren Zahlen<br />
kleiner 200 ausgibt:<br />
class C357<br />
{<br />
public static void main (String args [])<br />
{<br />
for (int i=1; i0; i--)<br />
{<br />
for(int j=0;j