Grundlagen der Java-Programmierung1 Einführung in die Programmierung in JAVA AG SS 2003...

Preview:

Citation preview

Grundlagen der Java-Programmierung 1

Einführung in die Programmierung in JAVAAG SS 2003

Veranstalter: Tim Stockheim <stockheim@wiwi.uni-frankfurt.de>Jochen Franke <jfranke@wiwi.uni-frankfurt.de>Daniel Beimborn <beimborn@wiwi.uni-

frankfurt.de>

Donnerstag 14.00 – 16.00 Uhr – Raum 220 C

Grundlagen der Java-Programmierung 2

Ablaufplan

• 8.05.2003 Installation des JDK, Variablen,arithmetische Operatoren, Schleifen

• 15.05.2003 logische Operatoren, Bedingungen,Methoden, Eclipse als IDE

• 22.05.2003 Klassenkonzept und Vererbung, Pakete,Beispiele

• 05.06.2003 Exceptions, weitere Programmbeispiele

• 12.06.2003 Input/Output- Operationen auf Datei-system und Netzwerkebene

Grundlagen der Java-Programmierung 3

Die Programmiersprache JAVA

Literaturhinweise zu Java:

• Guido Krüger: Handbuch der Java-Programmierung, 3. Auflage Addison-Wesley, 2002kostenlos im Netz: http://www.javabuch.de

• David Flanagan: Java in a Nutshell, O‘Reilly Verlag, 4. Auflage, 2000

• David Flanagan: Java Examples in a Nutshell, O‘Reilly, 2. Auflage, 2001

WWW-Adresse: http://www.javasoft.com

Grundlagen der Java-Programmierung 4

Java EinführungTim Stockheim

Grundlagen der Java-Programmierung 5

• Entwickelt von SUN Microsystems mit dem Ziel einer Programmiersprache für PDAs

• Sprachkonzept erwies sich als ideal für die Anforderungen des WWW

• Erste Version 1995 vorgestellt

• Syntax ähnelt der von C bzw. C++, inhaltlich bestehen aber deutliche Unterschiede

Die Programmiersprache JAVA

Grundlagen der Java-Programmierung 6

JAVA ist plattformunabhängig

• Weil sich Java-Programme in ein plattformunabhängiges Byte-Codeformat übersetzen lassen, kann eine Java-Anwendung auf jedem System ausgeführt werden, solange auf diesem System die Java Virtual Machine implementiert ist.

Grundlagen der Java-Programmierung 7

• Das ist insbesondere für Anwendungen wichtig, die über das Internet oder andere heterogene Netzwerke verteilt werden.

• Ein architekturunabhängiger Ansatz ist aber auch über den Rahmen netzwerkbasierter Anwendungen hinaus sinnvoll.

JAVA ist plattformunabhängig

Grundlagen der Java-Programmierung 8

JAVA ist objektorientiert

• In einem objektorientierten System besteht eine Klasse aus einer Reihe von Daten, sowie aus Methoden, die mit diesen Daten arbeiten.

• Zusammengenommen beschreiben Daten und Methoden den Zustand und das Verhalten eines Objekts.

Grundlagen der Java-Programmierung 9

JAVA ist objektorientiert

• Klassen werden in einer Hierarchie angeordnet, so dass Unterklassen das Verhalten von übergeordneten Klassen (Superklassen) erben können.

• Eine Klassenhierarchie besitzt immer eine Stammklasse. Diese Klasse besitzt ein sehr allgemeines Verhalten.

Grundlagen der Java-Programmierung 10

Animal

Cats Dogs

DanielJochen Tim

Grundlagen der Java-Programmierung 11

JAVA ist objektorientiert

• Java wird mit einem sehr umfangreichen Satz von Klassen ausgeliefert. Diese sind in Paketen angeordnet, die in den Programmen verwendet werden können.

• Beispielsweise stellt Java Klassen zur Verfügung, mit denen Komponenten grafischer Benutzerschnittstellen erzeugt werden können (das java.awt-Paket).

Grundlagen der Java-Programmierung 12

JAVA ist objektorientiert

• Java stellt Klassen zur Verfügung, mit denen die Ein- und Ausgabe behandelt wird (das java.io-Paket), sowie Klassen, die die Netzwerkfunktionalität unterstützen (das java.net-Paket).

Grundlagen der Java-Programmierung 13

JAVA ist interpretiert

• Java ist eine interpretierte Sprache: Der Java-Compiler erzeugt einen Byte-Code für die Java Virtual Machine (JVM) und keinen direkten Maschinencode.

• Um ein Java-Programm auszuführen, wird der Java-Interpreter benutzt, der den kompilierten Byte-Code ausführt.

Grundlagen der Java-Programmierung 14

Begriffe

• Eigenständige Applikation ("normales, ausführbares Programm")

• Applet:– innerhalb eines Web-Browser oder eines Applet-Viewer ausführbar.– Container bildet zweites Betriebssystem– teilt Einschränkungen des Web-Browsers:

• kein Lese-Zugriff auf Dateisystem des Clientrechner (außer: Benutzer erlaubt es)

• nur Verbindung zum Host, von dem es geladen wurde• keine Möglichkeit des Starts von auf dem Clientrechner

vorhandenen Programmen

Diese Modell wird auch als Sandbox bezeichnet.

Grundlagen der Java-Programmierung 15

Java Development Kit (JDK)

• Plattformen:– Windows, Macintosh, Linux, Sun Solaris, ...

• Befehlszeilenorientiertes Tool

• JDK - Zusammensetzung aus mehreren Tools:– Compiler: javac

– Interpreter: java

– Disassembler: javap

– Appletviewer: appletviewer

– ...

Grundlagen der Java-Programmierung 16

JAVA Tutorial

Grundlagen der Java-Programmierung 17

JAVA: Die Syntax

• Jede Anweisung muß mit einem Semikolon (;) abgeschlossen werden.

• JAVA unterscheidet Groß-/Kleinschreibung, d.h. z.B. "anzahl" ungleich "Anzahl".

• Beliebiges Einfügen von Leerzeichen / Leerzeilen zwischen Anweisungen zulässig.

• Kommentare innerhalb eines JAVA-Programms werden mit "/*" eingeleitet und mit "*/" beendet, z.B. /* Dies ist ein Kommentar */

• Kommentare, die nur bis zum Zeilenende gehen, werden mit "//" eingeleitet, z.B. // Kommentar

Grundlagen der Java-Programmierung 18

Beispiel 1

class HelloWorld {public static void main( String[] args) {

System.out.println(“Hello World!“);}

}

• Dieses Programm besteht, wie jedes Java-Programm, aus einer Klassendefinition vom Typ public.

Grundlagen der Java-Programmierung 19

Beispiel 1

• Die Klasse enthält eine Methode namens main(), die den Einstiegspunkt für alle Java-Anwendungen darstellt, d.h. an diesem Punkt beginnt der Java-Interpreter mit der Ausführung des Programms.

• main()selbst besteht nur aus einer einzigen Zeile, die unsere Nachricht ausgibt:

Hello World!

Grundlagen der Java-Programmierung 20

Beispiel 1

• Das Programm muß in einer Datei gesichert werden, die den gleichen Namen besitzt, wie die public-Klasse, wobei noch die Erweiterung .java anzuhängen ist.

• Um das Programm zu kompilieren, verwendet man javacC:\>javac HelloWorld.java

• Dieser Befehl erzeugt die Datei HelloWorld.class im aktuellen Verzeichnis.

Grundlagen der Java-Programmierung 21

Beispiel 1

• Um das Programm auszuführen, wird der Java-Interpreter java verwendet:

C:\>java HelloWorld

• Beachten Sie beim Aufruf des Interpreters, daß der Dateiname ohne das anhängende .class angegeben wird.

Grundlagen der Java-Programmierung 22

JAVA: Variablen

• Variablen repräsentieren Speicherplätze zur Aufnahme veränderlicher Werte in einem Programm.

• erlaubte Zeichen für Variablennamen: – Buchstaben des engl. Alphabets (ohne Umlaute), – 10 Ziffern, – Unterstrich "_".

• Die erste Stelle darf keine Ziffer sein!

• Programmierer dürfen keine reservierten Wörter für eigene Namen verwenden (z.B. main, int,...)

Grundlagen der Java-Programmierung 23

JAVA: Datentypen

• Alle Variablen müssen deklariert werden, bevor sie benutzt werden können.

• Notation für Variablendeklaration:

Datentyp variable1,...,variablen;– Bedeutung: Variable1,...,Variablen sind vom

angegebenen Datentyp.

• Beispiel:int v1, v2, v3;char v4;byte v5;

Grundlagen der Java-Programmierung 24

JAVA: Datentypen

• Datentypen definieren Struktur und Wertebereiche der von einem Programm zu verarbeitenden Daten.

• elementare Datentypen in JAVA (Call by value):boolean - Wahrheitswertbyte, short, int, long - ganze Zahlen

Beispiel:int a; // erzeugt eine Variable vom Typ int.boolean b = true; /* erzeugt einen

Wahrheitswert und setzt diesen auf true */

Grundlagen der Java-Programmierung 25

Wiederholung

Schleife:Solange (Bedingung)erfüllt ist:

führe Anweisungenaus!

while ( Bedingung) { Anweisung1; Anweisung2;

… AnweisungN;}

Beispiel:• Anweisungen: i = i + 1;

Ausgabe von “Zähler ist: “ + i• Bedingung: (i < 10)

Grundlagen der Java-Programmierung 26

Ablaufstruktur: Wiederholung

Beispiel für Ablauf mit Wiederholung:

class Schleife { /* Diese Klasse testet, das Zählen von 1 bis 10! */ public static void main(String[] args) { int i = 0; while (i<10) { i=i+1; System.out.println(„Zähler: "+i); } }}

Grundlagen der Java-Programmierung 27

JAVA: Datentypen

• weitere elementare Datentypen in Java

float Gleitkommazahldouble Gleitkommazahlchar einzelnes Zeichen

Grundlagen der Java-Programmierung 28

Gleitkommazahlen

(Fließkommazahlen, Floating Point Numbers)• zur näherungsweisen Darstellung reeller Zahlen

auf Rechnern.• Zahlen werden dargestellt in der Form m . be

– b, e ganze Zahlen– m = Mantisse, gibt Zahlenwert an– e = Exponent, charakterisiert die Größenordnung der

Zahl– b = Basis (z.B. 10)

• z.B. 12.25: 0.1225 . 102

122.5: 0.1225 . 103

Grundlagen der Java-Programmierung 29

JAVA: Arithmetik

Operatoren werden nur auf elementare Datentypen (und Strings [+]) angewendet.

+ Addition- Subtraktion; Vorzeichen* Multiplikation/ Division (int-Typen: ganzzahliger Anteil: 17/3 = 5)

% Divisionsrest (nur bei int-Typen: 17%3 = 2)

Grundlagen der Java-Programmierung 30

Java Einführung

- Beginn zweiter Teil -

Grundlagen der Java-Programmierung 31

JAVA: Arrays

• Felder zur Erfassung mehrerer Variablen vom selben Typ

• Arrays müssen initialisiert werden.• Auslesen bzw. beschreiben darf nur im

initialisierten Bereich erfolgen.

Beispiel:

int[] b = new int[10]; /* erzeugt ein Feld vom Typ int mit 10 Speicherplätzen */

Grundlagen der Java-Programmierung 32

JAVA: Arrays

• Beispielprogramm:

public class Schleife2 {public static void main( String[] args) { int a[] = new int[10];

int i = 0; a[0] = 2; while (i<10) { System.out.println( "a["+i+"] ist : "+a[i]); i = i+1; a[i] = 2*a[i-1]; }}

}

Grundlagen der Java-Programmierung 33

JAVA: Methoden

• Eine Methode besteht aus der Deklaration und einem Methodenkörper, wobei dieser in geschweiften Klammern steht.Bsp.: public boolean funct ( int a) {

return true; }

• public gibt hier die Zugriffsberechtigungen an (jeder)• boolean bedeutet, dass die Methode einen boolean-

Wert zurückgeben muss ( true oder false)• int a beschreibt, den Typ und Namen des

übergebenen Wertes, wobei a dem Namen innerhalb der Methode entspricht

Grundlagen der Java-Programmierung 34

JAVA: Methoden

• "void" weist darauf hin, daß eine Funktion keinen Funktionswert zurückgibt.

Bsp.: void funct( int a) gibt keinen Funktionswert zurück.

• Falls kein Eingabeparameter benötigt wird, verwendet man ein leeres Klammerpaar:

Bsp.: int funct() kann kein Wert übergeben werden

Grundlagen der Java-Programmierung 35

Ablaufstruktur: Alternative

if (ausdruck) {anweisung1;

} else { anweisung2;

}

ausdruckja nein

anweisung1 anweisung2

Grundlagen der Java-Programmierung 36

Logische Ausdrücke(Bedingungen)

Logische Operatoren werden nur auf elementare Datentypen.

&& AND

|| OR

! NOT

(einfaches & oder | auch möglich beide Seiten werden dann garantiert ausgeführt.)

Grundlagen der Java-Programmierung 37

Ablaufstruktur: Alternative

• Switch-Bedingung

Ausdruck

Fall 1

Fall N... others

Anw. 1

Anw. N Ausnahme- Anw.

Grundlagen der Java-Programmierung 38

Ablaufstruktur: Alternative

Switch-Bedingung

class unterscheidung {public static void main(String[] args) {

int zahl;zahl = Integer.parseInt(args[0]);

switch(zahl) {case 1: System.out.println("sehr gut"); break;case 2: System.out.println("gut"); break;case 3: System.out.println("befriedigend");

break;case 4: System.out.println("ausreichend");

break;case 5: System.out.println("mangelhaft"); break;default: System.out.println("Falsche Eingabe!");

}}

}

Grundlagen der Java-Programmierung 39

Ablaufstruktur: Wiederholung

• abweisende Schleife

While bedingung

anweisung

while ( bedingung) anweisung;

Bedeutung:• Solange bedingung "wahr" (true) ist, wird

anweisung ausgeführt.• Abbruchtest vor jedem Schleifendurchlauf.

Grundlagen der Java-Programmierung 40

Ablaufstruktur: Wiederholung

Abweisende Schleife: while

class Produkt2 {public static void main(String[] args) {

int produkt = 1;int i = 0;while ( Integer.parseInt(args[i]) != 0) {

produkt *= Integer.parseInt(args[i]);i++; // gleichbedeutend mit i=i+1;

}System.out.println("Ergebnis: "+produkt);

}}

Grundlagen der Java-Programmierung 41

Ablaufstruktur: Wiederholung

• Wiederholung: annehmende Schleife

do anweisung

while bedingung

do anweisung;while (bedingung)

Bedeutung:• anweisung wird ausgeführt, solange bedingung „wahr“ ist.• Abbruchtest nach dem Schleifendurchlauf.• anweisung wird also mindestens einmal ausgeführt.

Grundlagen der Java-Programmierung 42

Ablaufstruktur: Wiederholung

Annehmende Schleife: do ... while

class Produkt3 {public static void main(String[] args){

int produkt = 1;int i = 0;do {

produkt *= Integer.parseInt(args[i]);i++;

} while ( Integer.parseInt(args[i]) != 0); System.out.println( "Ergebnis: "+produkt);

}}

Grundlagen der Java-Programmierung 43

Exkurs: Wiederholungfor-Schleife

Schleife: for( Initialisierung; Bedingung; Änderung) { … }

class Produkt3 {public static void main(String[] args){

int produkt = 1;

for( int i=0; i<args.length; i++) {produkt *= Integer.parseInt(args[i]);

}System.out.println( "Ergebnis: "+produkt);

}}

Grundlagen der Java-Programmierung 44

Kommandozeilen-argumente

• Das einzige Argument an main()ist ein Array von Strings, der üblicherweise args genannt wird.

• Die Länge dieses Arrays ist über args.length verfügbar.

• Die Elemente dieses Arrays sind die Argumente, die in der Kommandozeile nach dem Klassennamen angegeben wurden.

• Beispiel 2 zeigt ein Programm, das einfach seine Argumente ausgibt:

Grundlagen der Java-Programmierung 45

class echo {public static void main(String[] args) {

for( int i=0; i < args.length; i++)System.out.print(args[i] + “ “);

System.out.print(“\n“);System.exit(0);

}}• Zu beachten: main()muß so deklariert sein, daß es void

zurückgibt.• Aus einem Java-Programm kann also kein Wert

zurückgegeben werden, indem eine return-Anweisung in main() verwendet wird.

Beispiel 2

Grundlagen der Java-Programmierung 46

Beispiel 2

• Wenn ein Wert zurückgeliefert werden soll, wird System.exit() mit dem gewünschten Integer-Wert aufgerufen(vgl. Beispiel 2).

• Zu beachten: die Verarbeitung und Interpretation dieses Exit-Wertes hängt vom Betriebssystem ab.

Grundlagen der Java-Programmierung 47

Einführung in Klassen und Objekte

• Eine Klasse ist eine Sammlung von Daten sowie von Methoden, die mit diesen Daten arbeiten.

• Die Daten und Methoden dienen zusammengenommen üblicherweise dazu, den Inhalt und die Fähigkeit irgendeiner Art von Objekt zu definieren.

Grundlagen der Java-Programmierung 48

Einführung in Klassen und Objekte

• Zum Beispiel kann ein Kreis durch die X/Y-Position seines Mittelpunktes und durch seinen Radius beschrieben werden.

• Auf Kreisen können verschiedene Operationen ausgeführt werden: ihren Umfang berechnen; ihre Flächen berechnen; prüfen, ob bestimmte Punkte innerhalb des Kreises liegen usw.

Grundlagen der Java-Programmierung 49

Einführung in Klassen und Objekte

• Jeder konkrete Kreis besitzt individuelle Werte (d.h. einen konkreten Mittelpunkt und Radius), aber als Klasse betrachtet besitzen Kreise bestimmte gemeinsame Eigenschaften, die in einer Definition zusammengefaßt werden können.

• Zu beachten: die Klassendefinition im folgenden Beispiel 3 enthält Daten und Methoden.

Grundlagen der Java-Programmierung 50

Beispiel 3

public class Circle {public double x, y; // Die Koordinaten des

// Mittelpunktes.public double r; // Der Radius.

/* Methoden zur Ermittlung des Umfangs und der Fläche des Kreises */

public double circumfence() {return 2 * 3.14159 * r;

}public double area() {

return 3.14159 * r*r;}

}

Grundlagen der Java-Programmierung 51

Objekte sind Instanzen einer Klasse

• Um die Circle-Klasse "anwenden" zu können, wird ein konkreter Kreis benötigt.

• Mit anderen Worten: es wird eine Instanz der Klasse Circle benötigt, ein konkretes Circle-Objekt.

Grundlagen der Java-Programmierung 52

Objekte sind Instanzen einer Klasse

• Durch Definition der Circle-Klasse in Java wurde ein neuer Datentyp erzeugt. Nun können Variablen dieses Typs deklariert werden:Circle c;

• Diese Variable c ist aber nur ein Name, der auf ein Kreisobjekt verweist, er ist nicht das Objekt selbst.

• Bei Java müssen alle Objekte dynamisch erzeugt werden, dies geschieht meist mit dem Schlüsselwort new:Circle c;c = new Circle();

Grundlagen der Java-Programmierung 53

Objekte sind Instanzen einer Klasse

• Damit wird eine Instanz des Circle-Objektes - ein Kreisobjekt - erzeugt und der Variable c zugewiesen, die vom Typ Circle ist.

Grundlagen der Java-Programmierung 54

Zugriff auf Objektdaten

• Nachdem nun ein Objekt erzeugt worden ist, können seine Datenfelder verwendet werden:

Circle c = new Circle();

c.x = 2.0;

c.y = 2.0;

c.r = 1.0; /* Initialisiere den Kreis mit dem Mittelpunkt an (2, 2) und dem Radius 1.0 */

Grundlagen der Java-Programmierung 55

Verwendung von Objektmethoden

• Um auf die Methoden eines Objekts zuzugreifen, wird die gleiche Syntax verwendet wie für den Zugriff auf die Daten eines Objektes:

Circle c = new Circle();

double a;

c.r = 2.5;

a = c.area();

Grundlagen der Java-Programmierung 56

public class Circle {public double x, y; // Koordinaten des Mittelpunktespublic double r; // Der Radiuspublic double circumfence() { return 2 * 3.14159 * r; } public double area() { return 3.14159 * r*r;}public static void main(String[] args) {

Circle c = new Circle(); // Erzeuge Objektc.x = 2.0; c.y = 2.0; // Initialisiere Kreisc.r = Double.parseDouble(args[0]); // Radius einlesendouble flaeche, umfang; // Variablendeklarationumfang = c.circumfence(); // Methodenaufruf auf Objekt flaeche = c.area(); // Methodenaufruf auf Objekt System.out.println( "Der Umfang eines Kreises mit einem Radius von " + c.r + " betraegt " + umfang + "\n");System.out.println("Die Flaeche betraegt " + flaeche);

} }

Beispiel 4

Grundlagen der Java-Programmierung 57

Einführung in die Programmierung in JAVAAG SS 2003

Veranstalter: Tim Stockheim <stockheim@wiwi.uni-frankfurt.de>Jochen Franke <jfranke@wiwi.uni-frankfurt.de>Daniel Beimborn <beimborn@wiwi.uni-

frankfurt.de>

Donnerstag 14.00 – 16.00 Uhr – Kleiner PC PoolEinheit III

Grundlagen der Java-Programmierung 58

Packages

• Packages als Mittel, um Klassen zu strukturieren

• Jede Klasse in Java ist Bestandteil eines Packages

• Vollständiger Klassenname: Paket.KlassennameBsp. java.lang.Integer

• Umgekehrte Domainnamen als Paketnamen

• Durch Punkte getrennte Namensbestandteile geben jeweils Unterverzeichnisse anBsp: com.sun.image.codec.jpeg -> com/sun/image/codec/jpeg

• Zugriff auf Klassen anderer Packages nur erlaubt, wenn Zielklasse als public definiert ist

Grundlagen der Java-Programmierung 59

Beispiele für Packages

• java.lang -> Elementare Sprachunterstützung

• java.math -> Fliesskommaarithmetik

• java.util -> Diverse Hilfsklassen

• java.net -> Netzwerkunterstützung

• java.sql -> Datenbankzugriff

• java.io -> Bildschirm und Datei I/O

Grundlagen der Java-Programmierung 60

Eclipse als IDE

Grundlagen der Java-Programmierung 61

Interfaces

• Keine Mehrfachvererbung in Java• Eine Klasse kann nicht von zwei Klassen

gleichzeitig abgeleitet werden• Interfaces, um Schnittstellendefinitionen zu

vererben• Interfaces enthalten ausschließlich abstrakte

Methoden und Klassen• Klassen müssen ein Interface implementieren

Grundlagen der Java-Programmierung 62

Interface - Beispiel

• Definition eines Interfaces• Statt class wird das Schlüsselwort interface

verwendet

public interface Groesse{

public int laenge();

public int breite();

public int hoehe();

}

Grundlagen der Java-Programmierung 63

Interface - Beispiel

• Implementierung des Interfaces durch eine Klasse

public class Auto implements Groesse{ public int laenge(){ return 465; } public int hoehe(){ return 186; } public int breite(){ return 195; }}

Grundlagen der Java-Programmierung 64

Interfaces - Nutzen

• Eine Interface-Variable ist kompatibel zu allen Klassen, die ein solches Interface implementieren

• Oder anders: Klassen, die ein bestimmtes Interface implementieren sind zu dem Datentyp des Interfaces kompatibel

• Beispiel Vergleich von Äpfeln, Birnen und Autos -> Eclipse

Grundlagen der Java-Programmierung 65

Einführung in die Programmierung in JAVAAG SS 2003

Veranstalter: Tim Stockheim <stockheim@wiwi.uni-frankfurt.de>Jochen Franke <jfranke@wiwi.uni-frankfurt.de>Daniel Beimborn <beimborn@wiwi.uni-

frankfurt.de>

Donnerstag 14.00 – 16.00 Uhr – Kleiner PC PoolEinheit IV

Grundlagen der Java-Programmierung 66

JAVA: Exception Handling

• Ausnahmebehandlung erfolgt in Java durch Exceptions und Errors beide Subtyp von Throwable

• Exceptions werden abgefangen durch Verwendung der Schlüsselworte try und catch

• Errors werden nicht abgefangen(führen zu Programmabbruch)

Grundlagen der Java-Programmierung 67

Beispiel 6

java.io.File f = null;java.io.FileOutputStream stream = null;file = new File( "../daten/", "test.txt");

try { stream = new java.io.FileOutputStream( file);

} catch ( java.io.FileNotFoundException e) {System.out.println(e);

}

Grundlagen der Java-Programmierung 68

Beispiel 7

java.io.OutputStreamWriter oWriter = new

java.io.OutputStreamWriter( stream);java.io.BufferedWriter bWriter =

new java.io.BufferedWriter( oWriter);try {

bWriter.write('My first line!\n');bWriter.flush();

} catch ( java.io.IOException e) { System.out.println(e); }

}

Grundlagen der Java-Programmierung 69

JAVA: Pakete

• Zusammenfassung ähnlicher Klassen in Paketen. (z.B.: java.io.File, java.io.FileReader, java.io.FileWriter, …)

• Zugriff verkürzt durch import-Anweisung• Referenzierung ganzer Pakete durch *

(Wildcard)

Grundlagen der Java-Programmierung 70

JAVA: Pakete

• Beispiel:

import java.io.File; oderimport java.io.*;

class NewFile {NewFile ( Sting name ) {

File nf = new File( name);}

}

Grundlagen der Java-Programmierung 71

JAVA-Schlussbemerkung

• Dieser Teil der Vorlesung stellte lediglich eine kurze Einführung in Java dar.

• Im Vordergrund die für JADE benötigten Konzepte.

• Vertiefung durch Übung und eigene Nachbearbeitung

Grundlagen der Java-Programmierung 72

JAVA-Beispiel

public static void main(String[] args){int max = Integer.parseInt( args[0]);int a = 1, b = 1, c = 0;DecimalFormat df = new DecimalFormat();df.setMaximumFractionDigits(6);do {

double d = a; d /= b;System.out.println(

"A = "+a+" B = "+b+" A/B= "+df.format( d));

c = a+b;a = b;b = c;

} while ( b<=max);

}

Grundlagen der Java-Programmierung 73

JAVA-Aufgabe

Entwickeln sie ein Programm, welches die Primzahlen von 2 bis zu einer vorgegebenen Zahl ausgibt.

java Prim 200

2 3 5 7 ....

Recommended