UnterprogramUnterprogramme in JAVAme in JAVA
Eine Powerpoint-Präsentation von
Christoph Alexander Martsch, 11f
Informatik Smit-Fornfeist
2
InhaltsverzeichnisInhaltsverzeichnis
1. Was sind Unterprogramme?
2. JAVA-Syntax
3. Programm 1: Begruessung.java
4. Programm II: Wurzelzieher.java
5. Programm III: Lottozahlen.java
3
Was sind Was sind Unterprogramme?Unterprogramme?
• auch Methoden einer Klasse genannt
• „lagern“ Programmteile aus
• können innerhalb des Hauptprogramms beliebig oft aufgerufen werden
• beinhalten bestimmte Arbeitsschritte
• können auch Werte zurückliefern
• können Parameter verlangen:
– mit diesen Werten wird weitergearbeitet
4
Was sind Was sind Unterprogramme?Unterprogramme?
Vorteile:
• Komplexe Programme werden in kleine Teilprogramme zerlegt
• Kontrollfluss ist leichter zu erkennen
• wiederkehrende Programmteile müssen nicht immer wieder neu programmiert werden
• werden an einer Stelle angeboten
• Änderungen lassen sich leichter ausführen
5
Was sind Was sind Unterprogramme?Unterprogramme?
bestehen aus mehreren Bestandteilen:
• Methodenkopf:
1. Rückgabetyp / Ereignistyp
2. Methodenname
3. Parameterliste
• Methodenrumpf
• Methodenname, Parameter und Typen definieren die Signatur des Unterprogrammes
• es darf pro Programm immer nur ein Unterprogramm mit dieser Signatur geben
6
JAVA-SyntaxJAVA-Syntax
static void static void Methodenname Methodenname ((TypTyp ParameterParameter) { }) { }
staticstatic: notwendig, damit das Unterprogramm im Hauptprogramm aufgerufen werden kann
void:void: In diesem Unterprogramm wird nur was getan aber nichts an Werten zurückgegeben (z.B. wie bei Math.round())Name des Unterprogrammes
Soll das Unterprogramm Daten verarbeiten und berechnen, werden hier der Typ und die Namen der Parameter eingetragen
7
JAVA-SyntaxJAVA-Syntax
class Unterprogrammclass Unterprogramm{{ static void tollHier ()static void tollHier () {{ System.out.println( "Toll hier im Java-Land" );System.out.println( "Toll hier im Java-Land" ); }} public static void main (String args[])public static void main (String args[]) {{ tollHier();tollHier(); }}}}
einfaches Unterprogramm ohne Wertübergabe
8
JAVA-SyntaxJAVA-Syntax
class Wertuebergabeclass Wertuebergabe{{ static void max (double a, double b) static void max (double a, double b) {{ if ( a > b ) if ( a > b ) System.out.println( a ); System.out.println( a ); else else System.out.println( b ); System.out.println( b ); }} public static void main (String args[])public static void main (String args[]) {{ double zahl1 = 5;double zahl1 = 5; double zahl2 = 4;double zahl2 = 4; max(zahl1, zahl2);max(zahl1, zahl2); }}}}
einfaches Unterprogramm mit Wertübergabe („Copy by Value“)
9
JAVA-SyntaxJAVA-Syntax
class einefueralleclass einefueralle{{ static double Ergebnis;static double Ergebnis; static void Zahnarzt (double input) static void Zahnarzt (double input) {{ Ergebnis = Math.sqrt(input);Ergebnis = Math.sqrt(input); }} public static void main (String args[])public static void main (String args[]) {{ Zahnarzt(100);Zahnarzt(100); System.out.println(Ergebnis);System.out.println(Ergebnis); }}}}
Variablen definieren, die in allen Unterprogrammen verwendet werden:
10
Programm I: Programm I: Begruessung.javaBegruessung.java
Aufgabe:
Es soll ein Programm geschrieben werden, welches den Benutzer mit den Worten „Hallo, Welt!“ o.ä. begrüßt.
Dabei soll die Begrüßung in das Unterprogramm hallo() verschoben und im Hauptprogramm aufgerufen werden. Hallo, Welt!
11
Programm I: Programm I: Begruessung.javaBegruessung.java
class Begruessungclass Begruessung{{
static void hallo()static void hallo(){{
System.out.println("Hallo, Welt!");System.out.println("Hallo, Welt!");}}
public static void main (String args [])public static void main (String args []){{
hallo();hallo();}}
}}
eine Lösung:
12
Programm II: Programm II: Wurzelzieher.javaWurzelzieher.java
Aufgabe: Schreibe ein Programm zur Wurzelberechnung.
Benötigt werden Unterprogramme für:
1. die Zahleneingabe,
2. die Berechnung der Wurzel
3. und der Ausgabe des Ergebnisses.
Desweiteren soll das Programm mehrmals ausgeführt werden können.
13
Programm III: Programm III: Lottofee.javaLottofee.java
Aufgabe: Das Programm Lotto.java soll in kleine Unterprogramme aufgeteilt werden:
1. die Ziehung (und der damit verbundenen Doppelt-Prüfung),
2. der Sortierung der Zahlen
3. und der Ausgabe der endgültigen Lottozahlen.
Diese Präsentation ist Diese Präsentation ist im Internet verfügbar im Internet verfügbar
unter:unter:www.calex.ag.vuwww.calex.ag.vu