17.01.2014 Aufrufe

Primitive Datentypen Operatoren

Primitive Datentypen Operatoren

Primitive Datentypen Operatoren

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!