Programmieren mit einem einfachen Klassenkonzept

Programmieren mit einem einfachen Klassenkonzept Inhalt:  Programme in Java  Kommentare  Sequentielle Anweisungen  Verzweigungen  Schleifentypen...
Author: Kajetan Krüger
27 downloads 4 Views 230KB Size
Programmieren mit einem einfachen Klassenkonzept

Inhalt:  Programme in Java  Kommentare  Sequentielle Anweisungen  Verzweigungen  Schleifentypen  Sprunganweisungen  Funktionen in Java

Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren" , Springer-Verlag 2007

Sommersemester 2008

Marco Block

Programmieren mit einem einfachen Klassenkonzept Programm als Klasse Jedes Programm sehen wir erstmal als eine Klasse an. MeinErstesProgramm zeigt das Gerüst für ein Programm in Java.

Name des Programms mit Großbuchstaben

public class MeinErstesProgramm{ public static void main(String[] args){ //HIER KOMMEN DIE ANWEISUNGEN DES PROGRAMMS HIN } }

Marco Block

An diese Stelle schreiben wir das Programm.

Sommersemester 2008

Programmieren mit einem einfachen Klassenkonzept Kommentare Verschiedene Möglichkeiten, um Programme zu kommentieren. // Ich bin ein hilfreicher Kommentar in einer Zeile /* Falls ich mal Kommentare über mehrere Zeilen hinweg schreiben möchte, so kann ich das mit diesem Kommentarsymbol tun */ public class Kommentierung{ // ich kann auch hier stehen public static void main(String[] args){ /* An diese Stelle schreiben wir die Programmanweisungen */ } }

Sommersemester 2008

Marco Block

Programmieren mit einem einfachen Klassenkonzept Sequentielle Anweisungen Programm Sequentiell.java mit sequentiellen Anweisungen public class Sequentiell{ public static void main(String[] args){ int a=5; // Anweisung 1 a=a*2; // Anweisung 2 a=a+10; // Anweisung 3 a=a-5; // Anweisung 4 } }

Nach einer Anweisung steht ein „;“.

Sequentielle Anweisungen werden der Reihenfolge nach von oben nach unten verarbeitet.

a

Marco Block

5

Sommersemester 2008

Programmieren mit einem einfachen Klassenkonzept Sequentielle Anweisungen Ausgabe am Ende der Berechnung zur Überprüfung. public class Sequentiell{ public static void main(String[] args){ int a=5; // Anweisung 1 a=a*2; // Anweisung 2 a=a+10; // Anweisung 3 a=a-5; // Anweisung 4 System.out.println("a hat den Wert: "+a); } }

Anweisung zur Ausgabe im Konsolenfenster

Nach Ausführung des Programms erhalten wir folgende Ausgabe: C:\>javac Sequentiell.java C:\>java Sequentiell a hat den Wert: 15

Sommersemester 2008

Marco Block

Programmieren mit einem einfachen Klassenkonzept Verzweigungen Wenn eine Bedingung erfüllt ist, dann führe eine einzelne Anweisung aus: if () ; if (xjavac MeineEingaben.java C:\>java MeineEingaben Hallo 27 Eingabe 1: >Hallo< und Eingabe 2: >27
java MeineEingaben Hallo Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at MeineEingaben.main(MeineEingaben.java:5)

Marco Block

Sommersemester 2008

Daten laden und speichern Externe Programmeingaben III Dieser Fehler lässt sich vermeiden, wenn wir zuerst die Anzahl der übergebenen Elemente überprüfen. public class MeineEingaben{ public static void main(String[] args){ for (int i=0; ijava MeineEingaben Hallo 27 und noch viel mehr! Eingabe 0: >Hallo< Eingabe 1: >27< Eingabe 2: >und< Eingabe 3: >noch< Eingabe 4: >viel< Eingabe 5: >mehr!
type namen.dat Harald Liebchen Gustav Peterson Gunnar Heinze Paul Freundlich C:\>java Zeile 0: Zeile 1: Zeile 2: Zeile 3:

LiesDateiEin namen.dat Harald Liebchen Gustav Peterson Gunnar Heinze Paul Freundlich

Unser Programm kann eine Datei zeilenweise auslesen und gibt das eingelesene gleich auf der Konsole aus.

Marco Block

Sommersemester 2008

Daten laden und speichern Daten in eine Datei schreiben I Um Daten in eine Datei zu speichern, schauen wir uns mal folgendes Programm an: import java.io.*; public class SchreibeInDatei{ public static void main(String[] args){ // Dateiname wird übergeben String filenameOutput = args[0]; try{ BufferedWriter myWriter = new BufferedWriter(new FileWriter(filenameOutput, false)); // schreibe zeilenweise in die Datei filenameOutput myWriter.write("Hans Mueller\n"); myWriter.write("Gundel Gaukel\n"); myWriter.write("Fred Feuermacher\n"); // schliesse die Datei myWriter.close(); } catch (IOException eIO) { System.out.println("Folgender Fehler trat auf: "+eIO); } } }

Jetzt testen wir unser Programm und verwenden zur Überprüfung die vorher besprochene Klasse LiesDateiEin.java.

Sommersemester 2008

Marco Block

Daten laden und speichern Daten in eine Datei schreiben II Ausgabe: C:\>java SchreibeInDatei namen2.dat C:\>java Zeile 0: Zeile 1: Zeile 2:

LiesDateiEin namen2.dat Hans Mueller Gundel Gaukel Fred Feuermacher

Wir stellen fest: Es hat funktioniert!

Marco Block

Sommersemester 2008

Daten laden und speichern Daten von der Konsole einlesen Wir sind nun in der Lage, Daten beim Programmstart mitzugeben und Dateien auszulesen, oft ist es aber wünschenswert eine Interaktion zwischen Benutzer und Programm zu haben. Beispielsweise soll der Benutzer eine Entscheidung treffen oder eine Eingabe machen. Das ist mit der Klasse BufferedReader schnell realisiert: import java.io.*; public class Einlesen{ public static void main(String[] args){ System.out.print("Eingabe: "); try{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader bur = new BufferedReader(isr); // Hier lesen wir einen String ein: String str = bur.readLine(); // und geben ihn gleich wieder aus System.out.println(str); } catch(IOException e){} } }

Beispiel: C:\>java Einlesen Eingabe: Ich gebe etwas ein 4,5 a 1/2 Ich gebe etwas ein 4,5 a 1/2

Marco Block

Sommersemester 2008