Java01 Einfuehrung PDF
Java01 Einfuehrung PDF
Handbcher am RRZN
Programmierung.
Java: Grundlagen und Einfhrung
Java: Fortgeschrittene Techniken und APIs
Java und XML
Seite 2
Seite 3
Seite 4
Seite 5
Tutorials im Web
http://docs.oracle.com/javase/tutorial/
http://www.gailer-net.de/tutorials/java/
http://www4.fh-swf.de/media/java.pdf
https://www.youtube.com/channel/UCB6E_RGh9necQ5YOcIkpag/playlists
https://www.uni-trier.de/fileadmin/urt/doku/java/v70/Java7.pdf
http://www2.in.tum.de/~seidl/Courses/WS2011/info1/folien.pdf
https://www.itm.uni-luebeck.de/teaching/ws2012/prog/
http://www.java-tutorial.org/
http://www.vogella.com/java.html
Seite 6
Seite 7
Java-Technologie
Programmiersprache Java.
Java-Plattform bestehend aus einer Laufzeitumgebung (Java
Runtime Environment) und den Standard-Klassenbibliotheken.
Seite 8
Programmiersprache Java
Anlehnung an die Syntax der Programmiersprache C++.
Objektorientierte Programmiersprache. Daten und die
dazugehrigen Aktionen werden in ein Objekt
zusammengefasst.
Datenkapselung. Ein direkter Zugriff auf die Daten von auen
ist nicht mglich.
Speichervergabe und -freigabe erfolgt ber das Laufzeitsystem.
Implementierung einer Fehlerbehandlung (Expection-Handling).
Seite 9
Java-Plattform
Plattformunabhngig. Eine Ausfhrung auf den
unterschiedlichsten Betriebssystemen ist mglich.
Java Runtime Environment. Laufzeitumgebung fr JavaProgramme.
Seite 10
Anwendungsgebiete
Internet-Applikationen fr den Server.
Java-Applet.
Entwicklung von Apps fr Android.
Seite 11
Architektur
Texteditor / IDE
Quellcode
Compiler javac
(Java Development Kit )
Bytecode
Windows; Linux
Java - Einfhrung | 06.05.15
Seite 12
Seite 13
Klassenbibliotheken
Standard Edition (Java SE). Mathematische Berechnungen.
Arbeiten mit Datums- und Zeitangaben.Lesen und Schreiben
von Dateien und vieles mehr.
Micro Edition (Java ME). Bibliotheken fr Mobiltelefone. In der
Version 1.3 eingefroren.
Enterprise Edition (Java EE). Erweiterte Java SE.
Kommunikation in verteilten Systemen. Arbeiten mit
relationalen Datenbanken.
Informationen zu den Bibliotheken:
http://www.oracle.com/technetwork/java/api-141528.html.
Seite 14
Implementierungen
Oracle Java Development Kit (JDK):
http://www.oracle.com/technetwork/java/
javase/ downloads/index.html in der Version 8.
OpenJDK: http://openjdk.java.net/ in der Version 7 als
OpenSource.
Seite 15
Entwicklungsumgebungen (IDE)
Grafische Oberflche zur Entwicklung eines Programms.
Arbeitsumgebung zur Programmierung.
Bndlung von einer Laufzeitumgebung und eines Texteditors
fr eine oder mehrere Programmiersprachen.
Prfung des geschriebenen Codes auf Syntaxfehler.
Seite 16
Seite 17
BlueJ
Seite 18
IntelliJ IDEA
Entwicklung des tschechischen Softwarehauses JetBrains.
Die Community Edition ist frei.
Als weitere Programmiersprachen werden PHP und JavaScript
untersttzt.
Zustzlich zu den Java-APIs ist die Android API implementiert.
Download unter http://www.jetbrains.com/idea/
Seite 19
Eclipse
OpenSource.
2001 Grndung des Eclipse Projects durch IBM. 2004
Grndung der Eclipse Foundation zur Weiterentwicklung von
Eclipse.
Erweiterbarkeit durch PlugIns.
Als weitere Programmiersprachen werden C /C++, PHP und
JavaScript untersttzt.
Zustzlich zu den Java-APIs ist die Android API implementiert.
Download unter http://www.eclipse.org/.
Seite 20
Oracle JDeveloper
Seit 2005 frei verfgbar.
Einbindung in die Software-Palette von Oracle.
Sammlung von Oracle-Werkzeugen in einer IDE.
Erweiterbarkeit durch PlugIns.
Als weitere Programmiersprachen wird JavaScript und PHP
untersttzt.
Download unter http://www.oracle.com/technetwork/developertools/jdev/overview/index-094652.html/.
Seite 21
NetBeans ...
1996 entwickelt von Studenten aus der Tschechischen
Republik. 1999 bernahme durch Sun Microsystems. 2010
bernahme durch Oracle.
Als weitere Programmiersprachen werden C /C++, PHP und
JavaScript untersttzt..
Download unter https://netbeans.org/.
Seite 22
Seite 23
Startseite
Seite 24
IDE anpassen
Tools Options.
Seite 25
Mglichkeiten
Die Symbole am oberen Rand stellen die verschiedenen
Kategorien dar.
General. Einstellungen fr die Programmierung im Web.
Editor. Automatische Ergnzung von Schlsselwrtern etc.
Einstellung von Einrckungen im Codefenster.
Fonts & Color. Welche Schriftart und -farbe wird im
Codefenster genutzt?
Keymap. Welche Shortcuts werden genutzt?
Java. Einstellungen zum Debugger etc.
Seite 26
Seite 27
Projekt anlegen
File New Project.
Seite 28
Seite 29
Seite 30
Projekt schlieen
File Close Project (ProjectName).
Seite 31
Benutzeroberflche
Seite 32
Seite 33
Seite 34
Seite 35
Seite 36
Projekt-Explorer
Die Registerkarte Projects zeigt die
Struktur der Projekte an.
Im Ordner Source Packages befindet
sich der Programmcode. In diesem
Ordner werden die Quelldateien
(*.java) in verschiedenen Paketen
abgelegt. Die Pakete stellen
Unterordner des Ordners Source
Packages dar.
Im Ordner Libraries werden die
Bibliotheken zu dem Projekt
angezeigt. Standardmig ist die
JDK-Bibliothek vorhanden.
Seite 37
File-Explorer
Die Registerkarte Files zeigt die
Dateistruktur des gewhlten Projektes
an.
Im Ordner src befindet sich der
Programmcode.
Das JAR-Archiv (das kompilierte
Projekt) wird im Ordner build
abgelegt.
Seite 38
Navigator
Strukturierte Darstellung des Codes.
Auflistung von Methoden und Felder in dem Quellcode.
Seite 39
Codefenster
Die, im Projekt-Explorer
ausgewhlte Java-Datei wird
angezeigt.
Schlsselwrter in Java
werden standardmig mit
blauer Schrift gekennzeichnet.
Kommentare werden in grauer
Schrift dargestellt.
Benutzerdefinierte Bezeichner
werden mit schwarzer Schrift
gekennzeichnet.
Seite 40
Seite 41
Seite 42
Grundgerst in NetBeans
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package de.grundgerst;
/**
*
* @author NotebookBenutzer
*/
public class DeGrundgerst {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
}
Java - Einfhrung | 06.05.15
Seite 43
Kommentare
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author NotebookBenutzer
*/
Java - Einfhrung | 06.05.15
Seite 44
Licence Header
Lizenzierung von eigenen Bibliotheken zur Weiterverwendung.
Der Kommentar kann ber die Eigenschaften des Projekts
verndert werden.
Seite 45
Javadoc-Kommentare ...
Seite 46
Seite 47
Anweisungen in Java
package de.grundgerst;
Seite 48
Packages
package de.grundgerst;
Seite 49
Hinweise
Der Name sollte nur aus Buchstaben von A..Z oder a..z, den
Zahlen 0..9 und dem Unterstrich zusammengesetzt werden.
Mit Hilfe des Punktes werden die Namen hierarchisch
geordnet. Der Punkt wird als Pfad-Trennzeichen genutzt.
Fr Packages wird hufig die umgekehrte Domain-NamenSchreibweise genutzt.
Seite 50
Klassen ...
public class DeGrundgerst {
}
bestehen aus dem Klassenkopf public class DeGrundgerst.
haben einen Klassenrumpf, der durch die geschweiften
Klammern begrenzt wird.
sind Vorlagen fr ein Objekt.
Jedes Java-Programm hat mindestens eine Klasse.
Seite 51
Klassenkopf
public class DeGrundgerst {
}
public regelt den Zugriff auf die Klasse. Auf diese Klasse kann
von auen zugegriffen werden.
Das Schlsselwort class kennzeichnet eine Klasse in Java.
DEGrundgerst ist der Name der Klasse. Der Name ist frei
whlbar.
Seite 52
Methode main
public static void main(String[] args) {
// TODO code application logic here
}
Startpunkt eines Java-Programms.
Methodenkopf: public static void main(String[] args). Der
Methodenkopf muss exakt so deklariert werden.
Der Methodenrumpf beginnt und endet mit den geschweiften
Klammern. Der Rumpf enthlt Code, der fr den Start des
Programmes bentigt wird.
Seite 53
Methodenkopf
public static void main(String[] args) {
// TODO code application logic here
}
[Zugriff][Instanz][Rckgabe][Name]([paraList])
public regelt den Zugriff auf die Methode. Die Methode kann
auerhalb der Klasse aufgerufen werden.
main ist der Methodennamen.
Das Schlsselwort static kennzeichnet eine Methode die direkt
an der Klasse aufgerufen werden kann. Von der Klasse muss
kein Objekt erzeugt werden, um diese Klasse aufzurufen.
Seite 54
Seite 55
Seite 56
Seite 57
Beispiel
public static void main(String[] args) {
// TODO code application logic here
System.out.println("Hallo");
}
Mit Hilfe der Methode println() wird eine Zeile auf der Konsole
ausgegeben.
Der Methode wird der auszugebende Text in runden Klammern
bergeben. Der Text selber wird durch die Anfhrungszeichen
begrenzt.
Die Methode ist in der Klasse System.out definiert.
Seite 58
Seite 59
Projekte kompilieren
<F11>.
Klick mit der rechten Maustaste auf das Projekt. Build.
Run Build Project.
Seite 60
Seite 61
Ausgabe
Seite 62
Kompilierung
Quellcode (*.java)
Compiler
Seite 63
Compiler (javac)
berprfung des Codes auf Korrektheit.
bersetzung von lesbaren Code in ein ausfhrbares Format.
Syntax-Prfung.
Seite 64
Syntaxfehler in NetBeans
Seite 65
Ausfhrung
Class Loader
Bytecode Verifier
Garbage Collection
Interpreter / JIT-Compiler
Java API
Betriebssystem
Seite 66
Seite 67
Garbage Collection
Verwaltung von Objekten.
In Java wird jedes Objekt referenziert. Falls auf ein Objekt
keine Referenz mehr vorhanden ist, wird das Objekt
automatisch entfernt.
Seite 68
Seite 69
JIT-Compiler
bersetzung von Bytecode in Maschinencode des jeweiligen
Betriebssystems zur Laufzeit.
Vorteil: Beschleunigung von Programmen bei der Ausfhrung.
Seite 70
Konsole in NetBeans
Seite 71
Seite 72
Ordner Sources
Men Properties Sources.
Welche Java-Version wird genutzt?
Welche Zeichencodierung wird genutzt?
Seite 73
Seite 74