CuP WS 2000/2001

Werbung
CuP - Java
Vierte Vorlesung
Entspricht ungefähr Kapitel 2.1 des Skriptums
Montag, 14. Oktober 2002
Zeichenketten (Strings)
Die Klasse für Zeichenketten in Java ist die Klasse Strings.
Initialisierung durch Stringliteral (z.B. wort = "ABCD") oder, wie sonst bei
Objekten, durch Instanziierung mit new.
public class Buchstaben0{
public static void main ( String args[ ] ) {
String wort = "ABCD";
String anderesWort = new String(" Hallo");
System.out.println ( wort + anderesWort);
}
}
14. Oktober 2002
CuP WS 2002/2003
2
Einige Methoden der Klasse String
length()
charAt(integer)
indexOf(character)
Diese Methoden können für jede Instanz der Klasse
String verwendet werden. Für die Instanz wort durch:
wort.length( ); wort.charAt(...); wort.indexOf(...);
Bemerkung: char ist ein primitiver Datentyp, Skriptum S 20
14. Oktober 2002
CuP WS 2002/2003
3
Beispiel für length()
public class Buchstaben1{
public static void main ( String args[ ] ) {
String wort = "ABCD";
System.out.println ( wort );
int i = wort.length( );
System.out.println( i );
}
}
14. Oktober 2002
CuP WS 2002/2003
4
Ausgabe:
ABCD
4
„wort“ ist eine Instanz der Klasse String, also ein
Objekt der Klasse String. Als solches stehen „wort“
alle Instanzmethoden dieser Klasse zur Verfügung.
14. Oktober 2002
CuP WS 2002/2003
5
Beispiel für charAt( ) und indexOf( )
public class Buchstaben2{
public static void main (String args[ ] ) {
String wort = "ABCD";
System.out.println("Der Buchstabe mit Index 3 ist: "
+ wort.charAt(3));
System.out.println("Der Index des Buchstaben C ist: "
+ wort.indexOf ( "C“ ) );
}
}
Ausgabe:
Der Buchstabe mit Index 3 ist: D
Der Index des Buchstaben C ist: 2
14. Oktober 2002
CuP WS 2002/2003
6
Wozu dient String[ ] args ?
public class Gruss{
public static void main(String[ ] args){
System.out.println(args[0]);
}
}
Dient zur Parameterübergabe. Beispiel:
java Gruss "Guten Morgen!"
14. Oktober 2002
CuP WS 2002/2003
7
Ausgabe:
Guten Morgen!
Schreiben wir aber
java Gruss Guten Morgen!
So erhalten wir die Ausgabe:
Guten
14. Oktober 2002
CuP WS 2002/2003
8
Mehrere Parameter
Neue Druckanweisung:
System.out.println(args[0] + " " + args[1]);
Durchführungsanweisung:
java Gruesse Guten Morgen!
Ausgabe:
Guten Morgen!
14. Oktober 2002
CuP WS 2002/2003
9
Typenumwandlung von Strings
Von welchem Typ ist args[2] nach folgender Eingabe:
java Gruesse Guten Morgen 42
Natürlich vom Typ String !
Umwandlung in den primitiven Typ int etwa so:
int i;
i = Integer.parseInt (args[2]);
14. Oktober 2002
CuP WS 2002/2003
10
Variable vom Typ int und double -Deklaration
int ist der Datentyp für ganze Zahlen. Wertebereich von
-2 147 483 648 bis +2 147 483 647.
double ist der Datentyp für Dezimalzahlen.
Wertebereich von etwa -1.7 e308 bis +1.7 e308.
Anweisungen der Form
int a, breite, i;
double x, y;
deklarieren int- und double-Variable.
14. Oktober 2002
CuP WS 2002/2003
11
Initialisierung von Variablen
Die Anweisungen
int n;
//
n = 5;
//
und
int n = 5;
//
sind gleichwertig.
Analog bei double:
double x;
//
x = 2.5;
//
oder
double x = 2.5; //
14. Oktober 2002
Deklaration
Initialisierung
Deklaration mit Initialisierung
Deklaration
Initialisierung
Deklaration und Initialisierung
CuP WS 2002/2003
12
Die wichtigsten Operationen mit Zahlen
Zuweisung
=
i = 25;
Addition
Subtraktion
+
-
a+b
a-b
Multiplikation
Division
Rest nach Division
*
/
%
a*b
a/b
7%4
Inkrementierung
++
i++
14. Oktober 2002
CuP WS 2002/2003
13
Test für Ganzzahloperationen
class Ganzzahltest{
public static void main(String args[]){
int x, y, z;
x= 7; y = 4;
System.out.println("x ist " + x + ", y ist " + y);
z = x + y;
System.out.println("x + y = " + z);
System.out.println("x + y = " + (x + y));
System.out.println("x - y = " + (x – y));
System.out.println("x * y = “ + (x*y));
System.out.println("x / y = " + (x / y));
System.out.println("x % y = " + (x % y));
}
}
14. Oktober 2002
CuP WS 2002/2003
14
14. Oktober 2002
CuP WS 2002/2003
15
Double Test
class DoubleTest{
public static void main(String args[]){
double a, b;
a = 7.46;
b = 4.23d;
System.out.println("a ist " + a + ", b ist " + b);
System.out.println("a + b = " + (a + b));
System.out.println("a - b = " + (a - b));
System.out.println("a * b = " + (a*b));
System.out.println("a / b = " + (a / b));
System.out.println("a % b = " + (a % b));
}
}
14. Oktober 2002
CuP WS 2002/2003
16
Umwandlung von Datentypen
int wert = 24;
double dwert = 2.8;
int i;
double x;
x = wert;
// x wird 24.0 durch
Zuweisung
i = (int) dwert;
x = (double) (22 -13) / 2;
// i wird 2
// x wird 4.5
Casting
Casting
x = 2. / 5;
14. Oktober 2002
durch
durch
// 2. / 5 wird automatisch als double berechnet
CuP WS 2002/2003
17
Hilfe Suchen und Finden – API
Specification
JavaTM 2 Platform,
Standard Edition, v
1.3.1 API
Specification:
 Wo?:
\jdk1.3.1\docs\api\
index.html
 Was finde ich?:
Dokumentation
aller Java Klassen
und Interfaces
14. Oktober 2002
CuP WS 2002/2003
18
Hilfe Suchen und Finden – SDK
Documentation
Java 2 SDK,
Documentation:
 Wo?:
\jdk1.3.1\docs\
guide\index.html
 Was finde ich?:
Die gesamten
Features des
Software
Development Kits
(SDK), von I/O
Funktionen bis zu
den Java
Foundation
Classes (JFC)
14. Oktober 2002
CuP WS 2002/2003
19
Hilfe Suchen und Finden - Internet
Tutorials & Short
Courses
 Wo?:
http://developer.ja
va.sun.com/devel
oper/
onlineTraining/
 Was finde ich?:
Kurzanleitungen
zu Java
spezifischen
Themen, von den
ersten Schritten
in Java („Your
First Cup of
Java“) bis zu GUI
Programmierung
14. Oktober 2002
CuP WS 2002/2003
20
Herunterladen