Übersicht - peterziesche.de

Werbung
Praktikum ’Einführung in die Programmierung’
Login
Das Einloggen in die Arbeitsplatzrechner erfolgt mit den folgenden Daten:
Benutzername:
jbuilder
Kennwort:
borland
Erste Schritte
Für das Erstellen und Übersetzen einfacher Java-Anwendungen ohne grafische Benutzeroberflächen wird in diesem Praktikum das MS-DOS EingabeaufforderungsFenster benutzt. Mit den folgenden Schritten wird der Rechner auf die zu erstellenden Programme vorbereitet:
•
Öffnen des MS-DOS Eingabeaufforderungs-Fensters
Über ’Start->Programme->MS-DOS Eingabeaufforderung’ das Fenster öffnen
•
Anlegen eines Arbeitsverzeichnisses
Mit dem Befehl ’mkdir’ innerhalb der Eingabeaufforderung ein leeres Arbeitsverzeichnis für die Praktikumsaufgaben erstellen:
d:
mkdir praktikum
cd praktikum
•
<Enter>
<Enter>
<Enter>
Prüfen der Umgebungsvariablen ’PATH’
Damit ein Übersetzen des Quelltextes möglich ist, muss die WindowsUmgebungsvariable ’PATH’ auf die ausführbaren Dateien des JDK zeigen.
Die korrekte Einstellung kann über die Eingabe des Kommandos ’java’ im
Eingabeaufforderungs-Fenster getestet werden:
java
<Enter>
Bei fehlerfrei gesetzter Umgebungsvariablen erscheinen auf dem Bildschirm
die möglichen Parameter des Befehls ’java’.
Erscheint eine Fehlermeldung, muss die Umgebungsvariable ’PATH’ nachträglich auf das ’bin’-Verzeichnis des JDK gesetzt werden:
set PATH=%PATH%;d:\java\bin
24. April 2004
1
<Enter>
Praktikum ’Einführung in die Programmierung’
Compiler und Interpreter
Die Übersetzung von Java-Programmen geschieht durch den kombinierten Einsatz
von Compiler und Interpreter. Innerhalb der Windows-JDK werden diese durch die
beiden Programme ’javac’ und ’java’ repräsentiert.
’javac’ kompiliert den Quelltext mit der Endung ’.java’ in einen maschinenunabhängigen Bytecode. Dieser kann auf verschiedene Rechnerarchitekturen(z.B. Windows,
Linux, Mac…) verteilt werden, um dort interpretiert zu werden. Die Interpretation auf
Windows-Rechnern wird von ’java’ übernommen.
Erstellen einer einfachen Anwendung
Mit den folgenden Schritten wird eine klassische ‚’Hallo Welt’ -Anwendung erstellt.
•
Erstellen der Java-Datei
Innerhalb der Eingabeaufforderung eine Datei ’hallowelt.java’ erstellen
notepad hallowelt.java <Enter>
In die darauf erscheinende Notepad-Applikation den folgenden Quelltext
einfügen und die Daten sichern:
public class hallowelt
{
public static void main( String[] args )
{
System.out.println( "Hallo Welt!" );
}
}
•
Übersetzen
Übersetzen der gespeicherten Datei ’hallowelt.java’ durch folgende Eingabe
im MS-DOS Fenster:
javac hallowelt.java
•
<Enter>
Ausführen
Ausführen des Bytecodes durch:
java hallowelt
<Enter>
(!!!) Zur Behebung des evtl. auftretenden Fehlers ’Can’t find Class hallowelt’ muss
die Umgebungsvariable ’CLASSPATH’ auf das aktuelle Verzeichnis gesetzt werden.
set CLASSPATH=.
24. April 2004
<Enter>
2
Praktikum ’Einführung in die Programmierung’
MS-DOS Eingabeaufforderung
Im Folgenden einige wichtige Befehle für die Navigation im MS-DOS Eingabeaufforderungs-Fenster:
mkdir temp
cd temp
cd..
dir
rename a.txt b.java
notepad
cls
help
xy /?
javac hallo.java
java hallo
Legt ein Verzeichnis mit dem Namen “temp“ an
Wechselt in das Verzeichnis “temp“
Wechselt in das übergeordnete Verzeichnis
Gibt den Inhalt des aktuellen Verzeichnisses aus
Benennt die Datei “a.txt“ in “b.java“ um
Öffnet den Texteditor “Notepad“
Löscht den Bildschirminhalt
Gibt eine Liste der möglichen Befehle aus
Gibt eine Hilfe für den Befehl “xy“ aus
Übersetzt den Quelltext der Datei “hallo.java“ in maschinenunabhängigen Bytecode
Führt den übersetzten Bytecode aus
Zur Behebung des evtl. auftretenden Fehlers ’Can’t find Class hallo’ muss die
Umgebungsvariable ’CLASSPATH’ auf das aktuelle Verzeichnis gesetzt werden
set CLASSPATH=.
<Enter>
Grundgerüst eines Java-Programmes
public class SimpleClass
{
public static void main(String args[])
{
// ...hier gehts los....
}
}
Der Begriff “class“ leitet eine Klassendefinition mit dem Namen “SimpleClass“ ein.
Der Compiler ordnet den Inhalt zwischen dem ersten geschweiften Klammernpaar
der Klasse “SimpleClass zu.
Der Dateiname einer Java-Quelltextdatei muss immer denselben Namen tragen, wie
die Klasse, die in ihr definiert wurde (hier: SimpleClass.java).
Die Operation “main” wird als Startoperation für eine Java-Applikation automatisch
ausgeführt (Und zwar vom Java-Byte-Code-Interpreter). Als Parameter werden die
Kommandozeilenargumente des Aufrufs als Zeichenkette übergeben. Das Java-Programm bzw. die auszuführenden Klasse muss eine Operation “main“ enthalten.
24. April 2004
3
Praktikum ’Einführung in die Programmierung’
Quelltext-Ausschnitte
•
•
Variablen
int Hoehe;
int Alter = 15;
float pi = 3.14159
boolean Alarm = false
// deklariert Variable Hoehe vom Typ int
// deklariert Variable Alter vom Typ int und weist den Wert 15 zu.
// Variable pi, Typ float
// Variable Alarm, Typ boolean, Möglich: true/false
Hoehe = Hoehe + 10;
Hoehe += 10;
// Addiert den Wert 10 auf den Ausgangswert der Variablen Hoehe
Kontrollstrukturen (if / while / for)
Ausführen, wenn Bedingung
erfüllt
2 Bedingungen ODERVerknüpft
2 Bedingungen UND-Verknüpft
if(Hoehe > 1000)
{
Alarm = true;
}
if(Hoehe > 1000 || Hoehe < 0)
{
Alarm = true;
}
if(Hoehe > 1000 && Alarm == false )
{
Alarm = true;
}
Ausführen, solange
Bedingung erfüllt
100 mal ausführen
while(Zaehler < 100)
{
Zaehler +=1;
}
•
for(int i = 0; i < 100; i++)
{
…..
}
Operationen, Rückgabewerte und Parameter
Operation mit Parameter vom Typ String
Operation mit Rückgabetyp int und 2
übergebenen Parametern vom Typ int
static void Ausgabe(String Text)
{
System.out.println(Text);
}
static int addiere(int a, int b)
{
int c = a + b;
return c;
}
Operationsaufruf
Operation mit Parameter-Array vom Typ int
static void Ausgabe(int[] ZahlenFeld)
{
int Wert;
for(int i = 0; i < ZahlenFeld.length; i ++)
{
Wert = ZahlenFeld[i];
System.out.println(Wert);
}
}
24. April 2004
int Ergebnis;
Ergebnis = addiere(5, 20);
4
Praktikum ’Einführung in die Programmierung’
•
Felder/Arrays
Anlegen eines Feldes
Alternatives Anlegen eines Feldes
int[] ZahlenFeld;
String[] ZeichenFeld;
int ZahlenFeld[] = {4,3,2,99,17};
String ZeichenFeld[] = {“Karl“, “Peter“, “Udo“};
Zahlenfeld = new int[5];
ZeichenFeld = new String [8];
Auslesen und Zuweisen von Werten
Ermitteln der Feldgröße
int Wert;
String Text;
int Feldgroesse;
Feldgroesse = ZahlenFeld.length;
Feldgroesse = ZeichenFeld.length;
Wert = ZahlenFeld[0];
Text = ZeichenFeld[0];
ZahlenFeld[1] = 15;
ZeichenFeld[1] = “Hallo“;
•
Strings/Zeichenfolgen
Auslesen eines einzelnen Buchstabens
Ermitteln der Länge
String Text;
char Buchstabe;
String Text;
int
Laenge;
Text = “Hallo“;
Text = “Hallo“;
Buchstabe = Text.charAt(0);
Laenge = Text.length();
Vergleich zweier Strings
Ermitteln der Feldgröße
String Text1 = “Ernie“;
String Text2 = “Bert“;
int Feldgroesse;
Feldgroesse = ZahlenFeld.length;
Feldgroesse = ZeichenFeld.length;
if(Text1.equals(Text2) == true)
{
//....Vergleich trifft zu
}
24. April 2004
5
Praktikum ’Einführung in die Programmierung’
•
Einlesen von Werten
import java.io.*;
public class SimpleClass
{
public static void main(String args[])
throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
// Einlesen einer Zeichenfolge
System.out.println(“Geben Sie Ihren Namen ein”);
String Name = in.readLine();
// Einlesen einer Zahl. Komplizierter, da Zeichenkette umgewandelt werden muss
System.out.println(“Geben Sie Ihr Alter ein”);
String Eingabe = in.readLine();
Integer Hilfswert = new Integer(Eingabe);
int Alter = Hilfswert.intValue();
System.out.println(Name);
System.out.println(Alter);
}
}
Aufgaben
•
Schreiben Sie eine Klasse, die eine Operation enthält, die die n-Fakultät einer
übergebenen Zahl ermittelt und diese zurückgibt (z.B. bei 5: n! = 1*2*3*4*5)
•
Schreiben Sie eine Operation, die zu einem übergebenen Feld und einer
übergebenen Zahl prüft, ob die Zahl im Feld enthalten ist. Rufen Sie diese in der
main-Operation auf und benutzen Sie den Rückgabetyp boolean
•
Bestimmen Sie, wie oft ein bestimmtes Zeichen in einem Text vorkommt
•
Prüfen Sie, ob zwei gegebene Zeichenfolgen gleich sind
•
Schreiben Sie ein Programm, das eine Zeichenkette einliest und die einzelnen
Zeichen in umgekehrter Reihenfolge wieder ausgibt
24. April 2004
6
Herunterladen