Add methoden.md content

This commit is contained in:
Henri Burau 2020-04-01 12:14:12 +02:00
parent 8582fec553
commit b3472b8b52
1 changed files with 91 additions and 0 deletions

View File

@ -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.