aboutsummaryrefslogtreecommitdiff
path: root/Info/10/2/WiederholungenJava/slides.md
blob: 77dce944448a0dd932753e9aac6bb2f6663801b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
---
author: Florian Fischer
theme: metropolis
aspectratio: 169
header-includes: |
    \usepackage{minted}
---

## Wiederholung - Java {.standout}

\centering
\scalebox{10}{
\faIcon{java}
}

## Peinliche Sprüchekalender

::: columns
:::: {.column width=50%}
\pause
![](img/Copyrighted/spruchkalender.jpg){.center height=80%}
::::
:::: {.column width=50%}
\pause
\vspace{3cm}
Heute könnt ihr euren Eigenen bauen.

\centering \huge
\faIcon{child}
::::
:::

## Lange Tradition - `fortune`

`fortune` existiert seit der Veröffentlichung in Version 7 Unix im Jahr 1979.

### Die Vergangenheit
\vspace{-0.5cm}
![](img/fortune.png){.center width=70%}

\pause
### Die Zukunft
\vspace{-0.5cm}
![](img/cowfortune.png){.center width=70%}

## Wiederholung: Objektorientierte Modellierung

\begin{center}
  \begin{tikzpicture}
   \begin{class}[text width=5cm]{Spruechekalender}{0,0}
    \attribute{monat: int}
    \attribute{aktuellerSpruch: String}
    \operation{naechsterTag()}
    \operation{gibSpruchAus()}
   \end{class}
  \end{tikzpicture}
\end{center}

## Wiederholung: Objektorientierte Modellierung

::: {.columns align=center}
:::: {.column width=45%}
\begin{tikzpicture}
 \begin{class}[text width=5cm]{Spruechekalender}{0,0}
  \attribute{monat: int}
  \attribute{aktuellerSpruch: String}
  \operation{naechsterTag()}
  \operation{gibSpruchAus()}
 \end{class}
\end{tikzpicture}
::::

:::: {.column width=10%}
::::

:::: {.column width=45%}
```java
class Spruechekalender {
  int monat;
  String aktuellerSpruch;
  void naechsterTag() { ... }
  void gibSpruchAus() { ... }
}
```
::::
:::

## Wiederholung: Objektorientiert Programmieren mit Java {.fragile}

\small

::: columns
:::: {.column width=60%}
\begin{minted}[escapeinside=||]{java}
class Spruechekalender {
  // Attribute
  int monat;
  String spruch;

  // Konstruktor |\pause|
  void Spruechekalender() {
    monat = 1;
    spruch = "Auf los gehts los!";
  }
  // ...
\end{minted}
::::

:::: {.column width=40%}
\begin{minted}[escapeinside=||]{java}
  //...

  // Methoden|\pause|
  void naechsterMonat() {
    monat = monat + 1;
  }

  void gibSpruchAus() {
    System.out.println(spruch);
  }
}
\end{minted}
::::
:::

## \faIcon{lightbulb} Entscheidung

* Du fühlst dich unsicher mit den Java Basics der 9. Klasse
  * Wiederhole die Aspekte mit denen du dich noch unsicher fühlst unter [**https://bycs.link/gVHdWf**]().  
    (Im Inhaltverzeichnis 1-3) \vspace{0.5cm}
* Alles \textit{easy} mit Java

## \faIcon{desktop} Arbeitsauftrag: Online-IDE Basics \hfill 15min

Öffne den `Spruechekalender` Workspace unter **[https://online-ide.de]()**.

![](img/online-ide-spruechekalender.png){.center}

### Erklärung

* `// TODO n: `{.java} markiert eine Stelle, die in Aufgabe **n** bearbeitet werden muss.
* `/* FIXME n: */`{.java} markiert bestehenden Code, der in Aufgabe **n** verändert werden muss.

## \faIcon{desktop} Arbeitsauftrag - Java Basics \hfill 10min

1. Erstelle eine Methode `gibNaechsterSpruch()`, die den nächsten Spruch zurück gibt  .
  **Tipp:** Eine Methodendefinition besteht aus:  
  `<Rueckgabetyp|void> <Funktionsname>([Datentyp Parameter ...]) {...}`{.java} \vspace{-0.1cm}
    1. Erstelle eine bedingte Anweisung, die, wenn der 4. Monat ist, den Spruch  
      `"April, April der macht was er will!"` (`""` nicht vergessen) [zurückgibt]{.underline}  
      **Tipp:** Eine bedingte Anweisung hat die Form `if (<Bedingungen>) { ... }`{.java} \vspace{0.2cm}
    2. Denk dir für mindestens drei weitere Monate Sprüche aus und gib diese zurück \vspace{0.2cm}
    3. Wenn es keinen besonderen Spruch gibt soll `"Schöner <Monat>. Monat!"` zurückgegeben werden  
      **Tipp:** Du kannst Zahlen und Texte mit dem `+`-Operator verketten \vspace{0.2cm}
2. Teste deine Änderungen

## \faIcon{desktop} Arbeitsauftrag - Java Basics II \hfill 15min

```
\begin{enumerate}
\setcounter{enumi}{2}
\setlength{\itemsep}{0.3cm}
```{=latex}

\item Speichere in der Methode `naechsterTag` auch den nächsten Spruch
\item Schreibe eine Methode `gibAllesAus` die alle Sprüche ausgibt  
  **Tipp:** Wiederholungen haben die Form:  
  `for (<zaehler>; <abruchbedingung>; <schritt>) {...}`{.java}
\item Teste deine Methode `gibAllesAus`

```\end{enumerate}```{=latex}