Upload
liese-bogenschutz
View
105
Download
0
Embed Size (px)
Citation preview
CuP - JavaErste Vorlesung
Entspricht ungefähr Kapitel 1.1 des Skriptums
Wilfried ImrichWilfried ImrichMontanuniversität Leoben
Freitag, 4. Oktober 2002
4. Oktober 2002
CuP WS 2002/2003 2
Literatur Skriptum Dirk Ammelburger, Java2 für Einsteiger, KnowWare Plus
2001 Douglas Bell und Mike Parr, Java for Students, Second
edition, Prentice Hall 1999 (UB MUL Nr. 32250) Judy Bishop, Java Gently, Addison Wesley 1997 (auch auf
Deutsch erhältlich) The Java Tutorial, Third Edition, A short course on the
basics, Sun 2001 John R. Hubbard, Programmieren in Java, Schaum‘s
Überblicke und Aufgaben, McGraw-Hill 1999
4. Oktober 2002
CuP WS 2002/2003 3
Java
Was braucht man, um mit Java zu arbeiten?
Man benötigt einen Texteditor um die Programme zu schreiben - auf jedem Rechner vorhanden -
und eine Java Virtual Machine (JVM) um die Programme laufen zu lassen - wobei die JVM gratis aus dem Netz geladen werden kann.
4. Oktober 2002
CuP WS 2002/2003 4
Inhalt der Vorlesung
Grundlagen der objektorientierten
Programmierung Grundlagen der prozeduralen Programmierung Graphische Oberflächen Steuerflächen und Ereignisse
4. Oktober 2002
CuP WS 2002/2003 5
Grundlagen der objektorientierten Programmierung
Klassen Objekte Attribute Methoden Datenkapselung Vererbung Polymorphismus
4. Oktober 2002
CuP WS 2002/2003 6
Grundlagen der prozeduralen Programmierung
Variable und Anweisungen Programmverzweigungen und Schleifen
4. Oktober 2002
CuP WS 2002/2003 7
Graphische Oberflächen
Applets - das sind Javaprogramme, die durch einen Appletviewer oder einen Webbrowser durchgeführt werden. Können auch über das Internet geladen werden. Werden in der zweiten Vorlesungshälfte behandelt.
4. Oktober 2002
CuP WS 2002/2003 8
Steuerflächen und Ereignisse
Steuerung von Programmen durch vom Benutzer verursachte Ereignisse oder durch andere, wie etwa die Uhrzeit.
4. Oktober 2002
CuP WS 2002/2003 9
Das erste Programm
class Hallo{public static void main(String args[ ]) {
System.out.println (“Willkommen”);}
}
Bemerkung: Ein Programm mit einer main-Methode heißt Applikation
4. Oktober 2002
CuP WS 2002/2003 10
Ausführung
Diesen Text in eine Datei mit dem Namen Hallo.java schreiben. (Quellcode)
Durch die Anweisung javac Hallo.java die Datei Hallo.class erzeugen. (Kompilierung)
Durch die Anweisung java Hallo die main-Methode durch den Interpreter ausführen. (Ausführung)
4. Oktober 2002
CuP WS 2002/2003 11
Compilierung und Ausführung
Java QuellcodeHallo.java
JavaCompiler
Java BytecodesHallo.class
Netzwerk
ClassLoader
Interpreter CodeGenerator
Hardware
Compilierung Ausführung
4. Oktober 2002
CuP WS 2002/2003 12
Eine ganz einfache Klasse
public class Turm{
int hoehe;
}
4. Oktober 2002
CuP WS 2002/2003 13
public class Turm{
int hoehe;
}
public Modifikator der KlasseTurm Name der Klasseint hoehe Deklariert eine Ganzzahlvariable mit dem Namen „hoehe“
Dateiname dieser Klasse?Was kann man mit dieser Klasse tun? Man kann sie kompilieren. Wie? Was geschieht dabei?
4. Oktober 2002
CuP WS 2002/2003 14
Ein Objekt der Klasse Turm
public class TurmTestA{
public static void main(String[ ] args){
Turm turm1;
turm1 = new Turm( );
System.out.println(turm1.hoehe);
}
}
4. Oktober 2002
CuP WS 2002/2003 15
public class TurmTestB{
public static void main(String[ ] args)
Turm turm1;
turm1 = new Turm( );
// Wertzuweisung
turm1.hoehe = 25;
System.out.println(turm1.hoehe);
}
}
4. Oktober 2002
CuP WS 2002/2003 16
Objekte der Klasse Turm
public class TurmTestC{
public static void main(String[ ] args){
Turm turm1, turm2;
turm1 = new Turm( );
turm2 = new Turm( );
turm2.hoehe = 38;
System.out.println(turm1.hoehe + " " + turm2.hoehe);
}
}
4. Oktober 2002
CuP WS 2002/2003 17
Konstruktoren und Objektvariable
Turm( ) ist ein Konstruktor; dient zur Erzeugung eines Objekts, also einer Instanz einer Klasse.
turm2.hoehe ist eine Objektvariable, auch Instanzvariable genannt. Wenn man sie nicht initialisiert; d.h. wenn man ihr keinen Wert zuweist, wird sie durch Java mit dem Wert 0 initialisiert.
(Außer Objektvariablen gibt es nur noch Klassenvariable und lokale Variable)
4. Oktober 2002
CuP WS 2002/2003 18
Was ist ein Programm?
Ein Programm besteht aus einer oder mehreren Klassen,
zum Beispiel aus der Klasse „Hallo“ oder den Klassen
„Turm“ und „TurmTestA“.
Was charakterisiert eine Klasse?
Die Deklaration
[Modifikator] class Name{ }
4. Oktober 2002
CuP WS 2002/2003 19
Was charakterisiert eine Applikation?Die Methode
public static void main (String args[]){ }
Wie druckt man Text aus?Durch System.out.println("Text"); // Zeilenvorschub nach der Ausgabeoder System.out.print("Text"); // Kein Zeilenvorschub nach der Ausgabe
Innerhalb des Klammernpaares { } der main-Methode!
4. Oktober 2002
CuP WS 2002/2003 20
Die Verknüpfung +
Die Anweisung
System.out.println("Hoehe von turm1: " + turm1.hoehe);
in TesteTurm bewirkt, dass der Text "Hoehe von turm1: "
mit dem Wert von turm1.hoehe verknüpft wird. Dabei
wandelt Java die ganze Zahl turm1.hoehe vor der
Verknüpfung zuerst in Text um.
4. Oktober 2002
CuP WS 2002/2003 21
Wie erzeugt man ein Objekt einer Klasse?
Durch die Anweisungen
Klassenname Objektname;
Objektname = new Klassename( );
oder
Klassenname Objektname = new Klassenname( );
z.B. Turm schwammerlturm;
schwammerlturm = new Turm();
4. Oktober 2002
CuP WS 2002/2003 22
Wie erzeugt man eine Objekvariable vom Typ integer?
Durch die Anweisungen
int variablenname;
in der Definition der Klasse, z.B.
int hoehe;
Wertezuweisung durch
objektname.variablenname = wert;
nach Erzeugung des Objekts, z.B.
turm1.hoehe = 25;
4. Oktober 2002
CuP WS 2002/2003 23
Wichtige bisher gebrachte Begriffe
Javaapplikation, Quellcode, Kompiler, Interpreter,
Klasse, Instanz oder Objekt, Instanz- oder Objektvariable,
Deklaration, Initialisierung,
Modifikator, Methode, Programm
4. Oktober 2002
CuP WS 2002/2003 24
Was macht der Kompiler, was der Interpreter?
Können Sie Beispiele zu allen anderen Begriffen geben?
Lässt sich die Klasse
public class KannNichts{ }
ohne Fehlermeldung übersetzten?
Fragen