Javakurs 2012/Vortrag03: Unterschied zwischen den Versionen
(→Folien) |
(→Methoden) |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
Vortragende: | Vortragende: | ||
* '''Johannes, Sadik''' | * '''Johannes, Sadik''' | ||
− | |||
=== Themen === | === Themen === | ||
Zeile 11: | Zeile 10: | ||
* lokale/globale Variablen | * lokale/globale Variablen | ||
* Rekursion | * Rekursion | ||
+ | |||
+ | === Kurze Erklärung === | ||
+ | |||
+ | Strukturiertes Programmieren ist durch die Verwendung von Subroutinen gekennzeichnet. In Java heissen diese Routinen "Methoden" und gehören zu Klassen (mehr dazu in LE5 und LE6). | ||
+ | Methoden werden innerhalb von Klassen definiert und bestehen aus Kopf und Rumpf. Im Kopf wird Rückgabetyp und Parameterliste deklariert, im Rumpf wird die Funktionalität durch Code festgelegt. Die Rückgabe wird durch eine ''return'' Anweisung erreicht. | ||
+ | |||
+ | Im Folgenden ein paar Syntax-Beispiele: | ||
+ | |||
+ | <nowiki> | ||
+ | //Methodenbeispiel (Syntax und konkret) | ||
+ | class SomeClassname { | ||
+ | |||
+ | //berechnet ... aus ... und gibt ... zurück | ||
+ | public static <RückgabeTyp> methodenName1( <Typ> paraMeter1, <Typ> paraMeter2,... ) { | ||
+ | //do something fancy here | ||
+ | |||
+ | return <Ausdruck vom Typ "Rückgabetyp"> | ||
+ | } | ||
+ | |||
+ | |||
+ | //fügt ... in ... ein und gibt ... zurück | ||
+ | public static <Rückgabetyp> methodenName2( <Typ> paraMeter1, <Typ> paraMeter2 ) { | ||
+ | //do something fancy here | ||
+ | |||
+ | return <Ausdruck vom Typ "Rückgabetyp"> | ||
+ | } | ||
+ | |||
+ | //jetzt als konkretes Beispiel | ||
+ | |||
+ | //berechnet die exp'te potenz von base | ||
+ | public static double pow(int base, int exp) { | ||
+ | //... insert code here | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </nowiki> | ||
+ | |||
+ | Rückgabetypen und Parameter-Typen können alle primitiven (int, double, float, char, byte, long) und komplexen Datentypen (String, Arrays, ...) von Java sein. | ||
+ | |||
+ | Parameter werden entweder als Kopie in die Methode übergeben (Call-by-Value) oder als sog. Referenz (Call-by-Reference, siehe LE 5 und 6). | ||
+ | Call-by-Value (also die Übergabe der Parameter als Kopie) wird von Java bei primitiven Datentypen durchgeführt. Primitive Datentypen sind, vereinfacht gesagt, alle Datentypen, die nur genau einen Wert enthalten. Der Datentype ''int'' z.B. enthällt nur genau eine Zahl, mehr nicht. ''double'', ''float'', usw. verhalten sich genauso. ''String'' dagegen enthällt mehrere Zeichen, nämlich beliebig viele Buchstaben, und gehört damit zu den komplexen Datentypen. Ebenso alle Arrays, auch Arrays von primitiven Datentypen -- sie enthalten nun ja auch mehr als ein Element. | ||
+ | |||
=== Folien === | === Folien === | ||
+ | |||
+ | [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2012/vorlesungen/Javakurs2012_03_Methoden.pdf Folien] | ||
=== Mitschnitt === | === Mitschnitt === | ||
− | |||
− | |||
= Feedback (für 2012) = | = Feedback (für 2012) = |
Aktuelle Version vom 7. März 2012, 19:54 Uhr
Inhaltsverzeichnis
Methoden
Vortragende:
- Johannes, Sadik
Themen
- Methoden mit und ohne Parameter
- Scopes und Verschattung
- lokale/globale Variablen
- Rekursion
Kurze Erklärung
Strukturiertes Programmieren ist durch die Verwendung von Subroutinen gekennzeichnet. In Java heissen diese Routinen "Methoden" und gehören zu Klassen (mehr dazu in LE5 und LE6). Methoden werden innerhalb von Klassen definiert und bestehen aus Kopf und Rumpf. Im Kopf wird Rückgabetyp und Parameterliste deklariert, im Rumpf wird die Funktionalität durch Code festgelegt. Die Rückgabe wird durch eine return Anweisung erreicht.
Im Folgenden ein paar Syntax-Beispiele:
//Methodenbeispiel (Syntax und konkret) class SomeClassname { //berechnet ... aus ... und gibt ... zurück public static <RückgabeTyp> methodenName1( <Typ> paraMeter1, <Typ> paraMeter2,... ) { //do something fancy here return <Ausdruck vom Typ "Rückgabetyp"> } //fügt ... in ... ein und gibt ... zurück public static <Rückgabetyp> methodenName2( <Typ> paraMeter1, <Typ> paraMeter2 ) { //do something fancy here return <Ausdruck vom Typ "Rückgabetyp"> } //jetzt als konkretes Beispiel //berechnet die exp'te potenz von base public static double pow(int base, int exp) { //... insert code here } }
Rückgabetypen und Parameter-Typen können alle primitiven (int, double, float, char, byte, long) und komplexen Datentypen (String, Arrays, ...) von Java sein.
Parameter werden entweder als Kopie in die Methode übergeben (Call-by-Value) oder als sog. Referenz (Call-by-Reference, siehe LE 5 und 6). Call-by-Value (also die Übergabe der Parameter als Kopie) wird von Java bei primitiven Datentypen durchgeführt. Primitive Datentypen sind, vereinfacht gesagt, alle Datentypen, die nur genau einen Wert enthalten. Der Datentype int z.B. enthällt nur genau eine Zahl, mehr nicht. double, float, usw. verhalten sich genauso. String dagegen enthällt mehrere Zeichen, nämlich beliebig viele Buchstaben, und gehört damit zu den komplexen Datentypen. Ebenso alle Arrays, auch Arrays von primitiven Datentypen -- sie enthalten nun ja auch mehr als ein Element.
Folien
Mitschnitt
Feedback (für 2012)
Wenn ihr Anmerkungen zum Vortrag habt, oder Lob und Kritik loswerden möchtet, ist hier die richtige Stelle dafür.