diff --git a/methoden.md b/methoden.md index 6493ef2..ad765e0 100644 --- a/methoden.md +++ b/methoden.md @@ -5,3 +5,94 @@ url: https://git.haw-hamburg.de/pm1-tutorium/slides header: Programmieren 1 **Tutorium** footer: Henri Burau und Eva Meinen --> + +# Methoden + +```java +//Deklaration einer Methode +public static void printGreeting(String name) { + System.out.printf("Hello %s", name); +} +``` + +--- + +## return + +Alle Methodendeklarationen mit einem Rückgabetypen **müssen** `return` enhalten. Alle Methodendeklaration ohne einen Rückgabetypen **können** `return` enthalten. + +```java +public static void printGreeting(String name) { + if(name.isEmpty()) { + return; + } + + System.out.printf("Hello %s", name); +} + +public static int getSquareArea(int sideLength) { + return sideLength * sideLength; +} +``` + + +--- + +## Methoden-Aufruf + +Methoden werden über ihren Identifier aufgerufen. Alle deklarierten Parameter **müssen** übergeben werden. + +```java +public static void main(String[] args) { + int sides = 10; + int result = getSpuareArea(sides); + System.out.printf("The area of the square is %d", result); +} + +public static int getSquareArea(int sideLength) { + return sideLength * sideLength; +} +``` + +--- + +## Signatur + +Der Name einer Methode zusammen mit den Typen der Parameter. + +```java +// Signatur: getFirstWord(String) +public static String getFirstWord(String text) { + // ... +} + +// Signatur: getSumBetween(int[], int, int) +public static int getSumBetween(int[] array, int start, int end) { + // ... +} +``` + +--- + +## Method overloading + +Es kann mehrere Methoden mit dem gleichen Identifier geben. Aber nicht mehrere Methoden mit der gleichen Signatur. + +```java +public static int getTriangleArea(int length) { + // Berechnung der Fläche für ein Dreieck mit gleichlangen Seiten +} + +public static int getTriangleArea(int a, int b, int c) { + // Berechnung der Fläche für ein Dreieck mit unterschiedlichen Seiten +} +``` + +--- + +## Aufgaben + +* Implementiere die Methode `public static int getTriangleArea(int length)` aus der vorherigen Folie. +* Implementiere die Methode `public static int getTriangleArea(int a, int b, int c)` aus der vorherigen Folie. +* Implementiere die Methode `public static void printAverage(int a, int b, int c)` welche den Durchschnitt (mit 2 Nachkommastellen) der Parameter auf die Konsole ausgibt. +* Implementiere die Methode `public static int digitSum(int input)` welche die Quersumme (Summe der einzelnen Ziffern) von `input` berechnet.