Einführung in Java Ausgewählte Quellen zu Java Anforderungen

Werbung
Einführung in Java
Wesentliche Eigenschaften und
Merkmale der Programmiersprache Java
Ausgewählte Quellen zu Java
• Java gibt es kostenlos von Sun unter
http://java.sun.com/j2se/1.4.2/downloads/index.html
• Online-Dokumentation zu Java ebenfalls unter
Prof. Dr. Stefan Böttcher
Universität Paderborn
im Rahmen der Vorlesung:
Webbasierte Informationssysteme
SS 2004
http://java.sun.com/j2se/1.4.2/docs/index.html
• empfohlenes Einführungsbuch zu Java:
Bell / Parr: Java für Studenten, Pearson 2003.
• (es tut aber auch fast jedes andere Einführungsbuch zu Java)
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/1
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/2
Anforderungen aus dem
Software-Engineering (1)
Anforderungen aus dem
Software-Engineering (2)
Praktischer Einsatz von Software :
Ziel: wirtschaftliche Software-Entwicklung
•
•
•
•
• wiederverwendbar
portabel
korrekt / fehlerfrei
robust
sicher
auf andere Betriebssysteme/...
( z.B. keine Speicherfehler )
Ausnahme-Behandlung am Ort
Vor Java keine durchgängige Technologie dafür
• wartbar
• anpaßbar
z.B. an Sprachen, Geräte, ...
• erweiterbar
z.B. um zusätzliche Funktionalität
Usability-Anforderungen :
• lesbar
• effizient
• leicht verständlich
• im Team entwickelbar
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/3
Anforderungen durch das Internet (1)
in verschiedenen Anwendungen
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/4
Anforderungen durch das Internet (2)
• Client-/Server-Anwendungen
• WWW-Zugriff , Unterstützung von URLs
• Interaktive Anwendungen und Sitzungen (Session-Konzept)
• Zugriff auf entfernte Rechner , HTTP-Unterstützung
• verteilbare Anwendungen
• Client-/Server-Anwendungen
• Transparenz des Ortes (entfernter Methoden-Aufruf)
• Flexible Programmierung von Clients (durch Applets)
• Flexible Lastverteilung zwischen Client und Server
• Sicherheitsstandards für Applets (Sandbox)
• Effiziente Programmierung von Servern
• Unterschiedliche Grade von Vertrauenswürdigkeit
• Sicherheit für den Server
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/5
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/6
1
Java-Applikationen (Programme)
Programme übersetzen und ausführen
( = eigenständig, ohne einen Browser ausführbare Programme )
Kunde.java
class Kunde
{
public static void main( String[ ] args )
{
String ausgabe =
“Herzlich willkommen in unserem Internet-Shop“ ;
Java-Programm
Java-Compiler
Kunde.class
Java-Byte-Code
Eingabe
Byte-Code-Interpreter
System.out.println( ausgabe );
// ... weitere Anweisungen
}
beliebige Zielmaschine
}
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/7
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/8
Programme übersetzen und ausführen
Bei Java-Programmen in der DOS-Box:
C:\java> javac Kunde.java
Portabilität von Java
•
Einheitliche virtuelle Maschine (Interpreter)
für alle Zielmaschinen ( statt Maschinen-Code )
•
Einheitliche Datentypen (anders als in C/C++),
z.B. immer 32 Bit für Integerzahlen (int)
erzeugt Kunde.class
erfordert, dass der Java-Compiler im Pfad PATH enthalten ist, z.B. durch
C:\java> SET PATH = C:\j2sdk1.4.0_01\bin
C:\java> java Kunde
startet Kunde.class
erfordert, dass die Java-Bibliothek(en) und das aktuelle Verzeichnis im
Klassenpfad CLASSPATH enthalten sind, z.B. durch
C:\java> SET CLASSPATH = .;C:\j2sdk1.4.0_01\lib\dt.jar;C:\j2sdk1.4.0_01\lib\tools.jar
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/9
==> Portabilität:
Byte-Code: Betriebssystem-übergreifend lauffähige Programme
Write once run everywhere
•
Applets sind über das Internet in jeden Java-fähigen
Browser ladbar.
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/10
Internationalität von Java
Elementare Datentypen in Java
Internationaler Zeichensatz
Für ganze Zahlen:
- byte 8 Bit -128, ..., 0, ..., 128
- short 16 Bit -32768, ..., 0, ..., 32767
- int
32 Bit -231, ..., 0, ..., 231-1
- long 64 Bit -263, ..., 0, ..., 263-1
(über 1018)
Initialwert: 0
Initialwert: 0
Initialwert: 0
Initialwert: 0
Für Kommazahlen:
- float 32 Bit
- double 64 Bit
Ausgabe
(über 10308)
(über 10308)
Initialwert: 0.0
Initialwert: 0.0
• Unicode statt Bytes für Zeichen
inklusive Umlaute: deutsche, skandinavische, ... ,
japanische, chinesische Sonderzeichen, ...
• C/C++
8 Bit
• Java
16 Bit ==> verbraucht doppelt soviel Speicherplatz, aber
bietet 256 mal soviele Zeichen zur Auswahl
==> 256 Zeichen
Für logische Werte
- boolean
false , true
Lokale Umgebungen (landesspezifisch)
Für Zeichen
==> Portabilität von Anwendungen in andere Staaten/Sprachen
- char 16 Bit
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/11
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/12
2
Operatoren in Java
• Rechenoperatoren: + , - , * , / , ...
• Vergleichsoperatoren: < , > , == , != , >= , <=
• logische Operatoren: && (und) , || (oder) , ! (nicht)
• Zuweisungsoperatoren: = , += , ... z.B. x+=4 Kurzform für x=x+4
• Typumwandlung, z.B. x = ( int ) 3.14 ;
Kontrollstrukturen in Java
• if ( Bedingung ) { Anweisung1 ; ... ; AnweisungN ; }
else
{ Anweisung ; ... }
• for ( InitialisierungsAnweisung ; Bedingung ; SchrittAnweisung )
{ Anweisung ; ... }
• while ( Bedingung ) { Anweisung ; ... }
• do { Anweisung ; ... } while ( Bedingung ) ;
und ein paar weitere
und ein paar weitere ( switch, break, continue, return )
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/13
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/14
try-Anweisung und Ausnahmen
Funktionen in Java
try
{
//
//
//
//
}
public static void main( String[ ] args )
{
// Anweisungen der Funktion
}
Anweisungen, die (höchstens) 1x ausgeführt werden.
Falls eine Ausnahme auftritt
(Division durch 0, Datei (Datenbank,Klasse) nicht da, ...),
wird der try-Block vorzeigt beendet: Sprung zu catch
• ähnlich wie in anderen Sprachen (z.B. C/C++)
• können ohne (void) oder mit Ergebnis (int/double/...) arbeiten
catch ( Exception e )
// fange Ausnahme auf
{
System.out.println( e.message() ) ; // Ausnahme ausgeben
}
• 2 Arten: normale Funktionen (static) und Methoden (nicht static)
Wo eine Anweisung stehen darf, darf auch ein Funktionsaufruf stehen.
Wo ein Wert stehen darf, darf auch F.-Aufruf mit Ergebnis stehen.
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/15
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/16
„Alles Klasse“
Objekte
• jede Funktionen steht in einer Klasse
• Klassen bieten diese Funktionen an (liefern eine Implementierung)
• jede Variable ist in einer Funktion oder einer Klasse definiert
( es gibt keine globalen Variablen , Klassen verstecken Variablen )
von jeder Klasse kann man Objekte definieren.
...
{
Kasse meineKasse ;
// 1. Kassenobjekt
meineKasse . geld_in_der_kasse = 1000 ; // Variable zugreifen
meineKasse . bezahlen( 500 ) ;
class Kasse
{
int geld_in_der_kasse ;
void bezahlen( int betrag )
{ // Implementierung der Funktion(Methode) bezahlen
}
... // weitere Variablen und Methoden
// Funktion aufrufen
Kasse meineKasse2 ;
// 2. Kassenobjekt
meineKasse2 . geld_in_der_kasse = 2000 ; // Variablenzugriff
meineKasse2 . bezahlen( 600 ) ;
// Funktionsaufruf
}
}
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/17
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/18
3
Strings in Java
Schreiben Sie ein Java-Programm Willkommen.java ,
das Ihren Namen ausgibt.
Übersetzen Sie es ( mit javac Willkommen.java )
und führen Sie es in der DOS-Box aus ( mit java Willkommen ) .
Vordefinierte Klasse String
String s1 = “abc“ ;
String s2 = s1 + “def“ ; // Strings s1 und “def“ aneinanderhängen
s2 += “ghi“ ;
Übung: Java-Programm schreiben
// an s2 hinten “ghi“ anhängen
Ungefähr so sieht es aus,
wenn es geklappt hat.
System.out.println( s2 ) ; // String s2 ausgeben
String s3 = s2.substring( 2, 4 ) ;
// Teilstring herausholen
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/19
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/20
Fehlerbehebung beim Java-Programmieren
Fehlerbehebung beim Java-Programmieren
Wenn Java-Programmierumgebung nicht richtig eingestellt ist:
Java-Pfad nicht gefunden!
Pfad "path" setzen
danach läuft der Compiler
Wenn Dateinamen und Klassennamen nicht übereinstimmen:
Dateiname falsch
Dateiname korrekt
Klassenname falsch
Programm läuft nicht
Pfad "classpath" setzen
danach läuft es evtl.
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/21
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/22
Fehlerbehebung beim Java-Programmieren
Webseite mit Java-Programm generieren
Reaktionen von Compiler und JVM auf Syntaxfehler:
Editieren
Umlaute
; fehlt am Ende des Befehls
} fehlt am Ende des Blocks
Funktion hinter ^ (println) ist
falsch geschrieben
main-Funktion fehlt
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/23
Compilieren
und ausführen
ausführen mit
Ausgabeumleitung
und im Browser ansehen
Einführung in Java im Rahmen der Vorlesung Webbasierte Informationssysteme SS2004 - Prof. Dr. Böttcher S. 5/24
4
Herunterladen