Java für Anfänger

Werbung
Java für Anfänger
Teil 1: Intro
Programmierkurs
11.-15.10.2010
Manfred Jackel
1
1. Handwerkszeug
Eclipse Workbench mit Java-Compiler
 Java Runtime Environment

Notwendige Software

Java Runtime Environment
 JRE
6 von
http://java.sun.com/javase/downloads/index.js
p ca. 14 MB


Nur JRE, nicht JDK, SE oder EE (schadet nicht,
braucht sehr viel Platz)
Eclipse Entwicklungsumgebung
 Eclipse
IDE for Java Developers ca. 78 MB
 www.eclipse.org

In dieser Reihenfolge installieren
Download JRE
Software hat
Installer
Download Eclipse
Kein Installer,
In Verzeichnis
entpackenr
Eclipse.exe starten …

File
 New

Java Project
Eclipse.exe starten …

File
 New

Java Project
Exklusives
Verzeichnis
wählen
Eclipse starten …

File
 New

Java Project
Projektdialog ausfüllen



Frei wählbaren
Projektnamen
eingeben, z.B.
„WelcomeProject“
Sonst die
Vorgabewerte
belassen
Finish drücken
Neue Klasse einfügen


Projekt markieren, in
dem die Klasse
erzeugt werden soll
File
 New

Class
Klassen-Dialog ausfüllen





Einen Klassennamen
in das Feld „Name“
eingeben: Welcome
Konvention:
Klassenname beginnt
mit Großbuchstabe
main-Methode für
ausführbare Klassen
Sonst Vorgaben
belassen
public static void main(String[] args)

Einsprung ins Programm
Kontextsensitive Hilfe
Die Klasse System

Die Klasse System beinhaltet mehrere
nützliche Felder und Methoden.
Strings=Zeichenketten

“Welcome to Java“ ist ein Stringliteral
Workspace
Editor
console
2 ist Zahlliteral, zwei ist Zahlwort,
“zwei“ und “2” sind Stringliterale

System.out.print (22);


System.out.print( “zweiundzwanzig“);


Ausgabe: zweiundzwanzig
System.out.print( 2+“und“+20);


Ausgabe: zweiundzwanzig
System.out.print( “zwei“+“und“+“zwanzig“);


Ausgabe: 22
Ausgabe: 2und20
System.out.print(20+2);

Ausgabe: 22
Was Eclipse für uns gemacht hat:

Im workspace-Verzeichnis:

Ein Unterverzeichnis „WelcomeProject“

Im Unterverzeichnis WelcomeProject



Ein Unterverzeichnis „src“
 Darin die Datei „Welcome.java“ mit Quellcode
Ein Unterverzeicnis „bin“
 Darin die Datei „Welcome.class“ mit Bytecode
Ohne Eclipse:

Übersetzen mit Befehl: javac Welcome.java
 Ausführen mit Befehl: java Welcome.class

Java-Dateien werden ín Bytecode übersetzt. Die Java
Virtual Machine führt diesen Bytecode dann aus.
Java-Architektur
systemunabhängig
.class
.java
JavaProgramm
(Textdatei)
Java
Byecode
Ausführen
JavaCompiler
Java
Virtual
Machine
Betriebssystem
Ausführen
systemabhängig
Java von der Kommandozeile

javac
 Java-
Compiler

java
 Bytecode-
Interpreter
nur mit
JDK
2. Stoff
Java- Geschichte








Entwickelt 1995 für Sun Microsystems, Vorläufer Oak
(Heimelektronik), James Gosling u.a.
Push durch Applet für NetScape Mosaic Browser
JDK 1.0 1996 Java Development Kit
JDK 1.1 1997
JDK 1.2 1999 ab hier Java 2 Platform
JDK 1.3 2000, JDK 1.4 2003
JDK 1.5 2004: J2SE 5.0 Java 2 Standard Edition 5.0
JDK 1.6 2006
Begriff Objekt (Wikipedia)




8.10.2009
Objekt bezeichnet:
allgemein etwas Unspezifiziertes, siehe Sache oder
Gegenstand
im Sinne der Dialektik das, worauf ein Subjekt seine
beobachtende, sinnliche, empirische und praktischverändernde Aktivität richtet, siehe Objekt (Philosophie)
ein Gegenstand mathematischer Untersuchungen
Mathematisches Objekt
Begriff Objekt (Wikipedia)






ein Satzglied, siehe Objekt (Grammatik)
einen Himmelskörper, siehe Astronomisches Objekt
eine Einheit in einem Geoinformationssystem, siehe
Geoobjekt
eine Einheit in der Programmierung, siehe Objekt
(Programmierung)
eine bestimmte Art künstlerischer Werke, siehe
Objektkunst
einen selbstständigen Betrieb der ehem. Wismut AG
Objekt (Programmierung
Wikipedia)
Ein Objekt bezeichnet … ein Exemplar eines
bestimmten Datentyps oder einer bestimmten
Klasse (auch "Objekttyp" genannt). Im Kontext
der objektorientierten Programmierung werden
Objekte auch als „Instanzen einer Klasse“
bezeichnet. Objekte sind also konkrete
Ausprägungen („Instanzen“) eines Objekttyps.
Die Klasse beschreibt das Muster aller Objekte,
die zu ihr gehören.
Einfaches Objekt Beispiel
Person1: Hans Dampf 01.02.1990
Person2: Lieschen Müller 01.12.1991
Muster: Vorname Nachname (Geburts-)Datum
Klasse
Person
Person1
Person2
Vorname
“Hans“
“Lieschen“
Nachname
“Dampf“
“Müller“
Geburtstag
01.02.1990
01.12.1991
Objekt
Instanz
Klassendefinition
Person
Objekt Beispiel
Klasse
Klasse
Klasse
class Person {
String vorname;
String nachname;
Datum gebdatum;
}
Objekt
Instanz
Klasse
Person
Person1
Person2
Vorname
“Hans“
“Lieschen“
Nachname
“Dampf“
“Müller“
Geburtsdatum
01.02.1990
01.12.1991
Klassendefinition
Person
Objekt Beispiel
Klasse
Klasse
Klasse
class Person {
String vorname;
String nachname;
Datum gebdatum;
}
Objekt
Instanz
Person1
Person2
Hans
Lieschen
Dampf
Müller
01.02.1990
01.12.1991
Objekt (Programmierung
Wikipedia)
Jedes Objekt hat einen Zustand, ein Verhalten
und eine Identität.
Der Zustand des Objekts setzt sich aus seinen
Attributen und Verbindungen zu anderen
Objekten zusammen.
Das Verhalten des Objekts wird durch die Menge
seiner Operationen ("Methoden") beschrieben.
Die Identität unterscheidet ein Objekt von
anderen Objekten, auch wenn diese anderen
Objekte den gleichen Zustand und das gleiche
Verhalten haben.[
Objekt, erweitertes Beispiel
Das Verhalten des Objekts wird durch die Menge
seiner Operationen ("Methoden") beschrieben.
Alter =
18
Alter =
20
Person1
Person2
“Hans“
“Lieschen“
“Dampf“
“Müller“
01.02.1990
01.12.1991
Objekt erweitertes Beispiel
class Person {
String: vorname;
String: nachname;
Datum: gebdatum;
int alter() {
…
}
}
Programm
zur
Berechnung
Person
Vorname
Nachname
Geburtstag
int alter()
Person1
Person2
“Hans“
“Lieschen“
“Dampf“
“Müller“
01.02.1990
01.12.1991
Objekt erweitertes Beispiel

Klasse für Datum
class Datum {
int jahr;
int monat;
int tag;
}
30
Methode: Erweitertes Beispiel
int alter() {
Datum heute = new Datum();
heute.jahr=2010; heute.monat=10; heute.tag=11;
int grob = heute.jahr - gebdatum.jahr;
if (heute.monat > gebdatum.monat)
return grob - 1;
if (heute.monat == gebdatum.monat && heute.tag >
gebdatum.tag)
return grob - 1;
return grob;
Demo
}
Altersberechnung
Java Eigenschaften








Java-Verwandte: C++, C#, Objective C, Smalltalk,
Delphi
hat Klassen und Objekte
Vergleichsweise einfach
Interpreter-gestützt (VM)
Robust (z.B. keine Pointer-Arithmetik)
Architekturneutral (nicht OS- oder rechnerspezifisch)
Portierbar (Bytecode)
Nebenläufig
Java Runtime Environment
C1.java C2.java
CN.java
Java-Compiler
C1.class
C2.class
CN.class
Java Virtual Machine
Betriebssystem
Hardware
Herunterladen