101 lines
2.4 KiB
Markdown
101 lines
2.4 KiB
Markdown
<!--
|
|
title: Methoden
|
|
description: Folien für Methoden in Programmieren 1
|
|
url: https://git.henriburau.de/tutorien/programmieren-1
|
|
header: Programmieren 1 **Tutorium**
|
|
footer: Henri Burau und Eva Meinen
|
|
-->
|
|
|
|
# Methoden
|
|
|
|
```java
|
|
//Deklaration einer Methode
|
|
public 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 void printGreeting(String name) {
|
|
if(name.isEmpty()) {
|
|
return;
|
|
}
|
|
|
|
System.out.printf("Hello %s", name);
|
|
}
|
|
|
|
public double getCircleArea(double radius) {
|
|
int result = 3.141 * radius * radius;
|
|
return result;
|
|
}
|
|
```
|
|
|
|
|
|
---
|
|
|
|
## Methoden-Aufruf
|
|
|
|
Methoden werden über ihren Identifier aufgerufen. Alle deklarierten Parameter **müssen** übergeben werden.
|
|
|
|
```java
|
|
public void main(String[] args) {
|
|
int radius = 10;
|
|
double area = getCircleArea(radius);
|
|
System.out.printf("The area of the square is %d", area);
|
|
}
|
|
|
|
public double getCircleArea(double radius) {
|
|
double result = 3.141 * radius * radius;
|
|
return result;
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Signatur
|
|
|
|
Der Name einer Methode zusammen mit den Typen der Parameter.
|
|
|
|
```java
|
|
// Signatur: getFirstWord(String)
|
|
public String getFirstWord(String text) {
|
|
// ...
|
|
}
|
|
|
|
// Signatur: getSumBetween(int[], int, int)
|
|
public 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 double getTriangleArea(double length) {
|
|
// Berechnung der Fläche für ein Dreieck mit gleichlangen Seiten
|
|
}
|
|
|
|
public double getTriangleArea(double a, double b, double c) {
|
|
// Berechnung der Fläche für ein Dreieck mit unterschiedlichen Seiten
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Aufgaben
|
|
|
|
* Implementiere die Methode `public int getQuadrangleArea(int length)` welche die Fläche eines Vierecks mit gleichen Seiten berechnet.
|
|
* Implementiere die Methode `public int getQuadrangleArea(int a, int b)` welche die Fläche eines Vierecks mit unterschiedlichen Seiten berechnet.
|
|
* **Zusatz** Implementiere die Methode `public void printAverage(int a, int b, int c)` welche den Durchschnitt (mit 2 Nachkommastellen) der Parameter auf die Konsole ausgibt.
|
|
* **Zusatz** Implementiere die Methode `public int digitSum(int input)` welche die Quersumme (Summe der einzelnen Ziffern) von `input` berechnet.
|