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); Ausgabe: 22 System.out.print( zweiundzwanzig ); Ausgabe: zweiundzwanzig System.out.print( zwei + und + zwanzig ); Ausgabe: zweiundzwanzig System.out.print( 2+ und +20); 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.
systemunabhängig Java-Architektur.java.class Java- Programm (Textdatei) Java Byecode Java Virtual Machine Betriebssystem Ausführen Ausführen Java- Compiler 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 Objekt Instanz Klasse Person Vorname Nachname Geburtstag Person1 Hans Dampf 01.02.1990 Person2 Lieschen Müller 01.12.1991
Objekt Beispiel Klassendefinition Person Klasse Klasse Klasse class Person { String vorname; String nachname; Datum gebdatum; } Objekt Instanz Klasse Person Vorname Nachname Geburtsdatum Person1 Hans Dampf 01.02.1990 Person2 Lieschen Müller 01.12.1991
Objekt Beispiel Klassendefinition Person Klasse Klasse Klasse class Person { String vorname; String nachname; Datum gebdatum; } Objekt Instanz Person1 Hans Dampf 01.02.1990 Person2 Lieschen Müller 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 = 20 Person1 Hans Dampf 01.02.1990 Person2 Lieschen Müller 01.12.1991 Alter = 18
Objekt erweitertes Beispiel class Person { String: vorname; } } String: nachname; Datum: gebdatum; int alter() { Programm zur Berechnung Person Vorname Nachname Geburtstag int alter() Person1 Hans Dampf 01.02.1990 Person2 Lieschen Müller 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