Add variable declaration slides
This commit is contained in:
parent
ed6a2c39be
commit
a64c2a9266
|
@ -21,7 +21,7 @@ export PATH=<path_to_reval_md_bin_path>:$PATH
|
|||
or by adding this path to `~/.profile`. When this is done, you can execute the command:
|
||||
|
||||
```shell
|
||||
reveal-md docs/index.md
|
||||
reveal-md docs/index.md -w
|
||||
```
|
||||
|
||||
## Kotlin Native Build
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Dezentrale Kotlin Course
|
||||
separator: <!--s-->
|
||||
verticalSeparator: <!--v-->
|
||||
separator: <!--next_chapter-->
|
||||
verticalSeparator: <!--next_slide-->
|
||||
theme: night
|
||||
revealOptions:
|
||||
transition: 'fade'
|
||||
|
@ -9,16 +9,16 @@ transition: 'fade'
|
|||
|
||||
# Kotlinkurs
|
||||
|
||||
<!--s-->
|
||||
<!--next_chapter-->
|
||||
|
||||
## Kotlin die Multiplattform-Sprache
|
||||
|
||||
- JVM: Java-Code kann in Kotlin eingebunden werden und umgekehrt
|
||||
- Android: Ausführung auf verschiedenen Geräten
|
||||
- JS: Client-Anwendungen lauffähig im Browser
|
||||
- Native: Kompilieren für jedes Betriebssystem (bspw. Windows, Linux, iOS und macOS)
|
||||
- **JVM**: Java-Code kann in Kotlin eingebunden werden und umgekehrt
|
||||
- **Android**: Ausführung auf verschiedenen Geräten
|
||||
- **JS**: Client-Anwendungen lauffähig im Browser
|
||||
- **Native**: Kompilieren für jedes Betriebssystem (bspw. Windows, Linux, iOS und macOS)
|
||||
|
||||
<!--v-->
|
||||
<!--next_slide-->
|
||||
|
||||
## Mehrere Programmierparadigmen möglich
|
||||
|
||||
|
@ -27,7 +27,7 @@ transition: 'fade'
|
|||
- _generische_ Programmierung,
|
||||
- _funktionale_ Programmierung und mehr.
|
||||
|
||||
<!--v-->
|
||||
<!--next_slide-->
|
||||
|
||||
## Etwas Geschichte
|
||||
|
||||
|
@ -36,7 +36,7 @@ transition: 'fade'
|
|||
- **2016** wurde Version 1.0 veröffentlicht
|
||||
- **2017** auf Google I/O erstklassiger Support angekündigt
|
||||
|
||||
<!--s-->
|
||||
<!--next_chapter-->
|
||||
|
||||
## Ein Beispielprogramm
|
||||
|
||||
|
@ -48,7 +48,7 @@ fun main() {
|
|||
}
|
||||
```
|
||||
|
||||
<!--v-->
|
||||
<!--next_slide-->
|
||||
|
||||
## Grundlegende Begriffe (1/2)
|
||||
|
||||
|
@ -56,7 +56,7 @@ fun main() {
|
|||
- Eine **Anweisung** ist ein einzelner auszuführender Befehl (drucke den Text),
|
||||
- Ein **Ausdruck** ist ein Codestück, das einen einzigen Wert ergibt (z. B. ist 2*2 ein Ausdruck)
|
||||
|
||||
<!--v-->
|
||||
<!--next_slide-->
|
||||
|
||||
## Grundlegende Begriffe (2/2)
|
||||
|
||||
|
@ -66,4 +66,58 @@ fun main() {
|
|||
- **Bezeichner** - Wort um etwas zu identifizieren
|
||||
- **Kommentare** - Text der beim Ausführen des Programms identifiziert wird
|
||||
|
||||
## Analyse Hello-World-Programm
|
||||
<!--next_slide-->
|
||||
|
||||
## Variablen deklarieren
|
||||
|
||||
- **val** (für value) deklariert unveränderliche Variable
|
||||
- **var** (für Variable) deklariert eine veränderbare Variable
|
||||
|
||||
Der anschließende, zwingend erforderliche Name darf nicht mit einer Zahl beginnen!
|
||||
|
||||
<!--next_slide-->
|
||||
|
||||
### Beispiel unveränderliche Variable:
|
||||
|
||||
```kotlin
|
||||
val language = "Kotlin"
|
||||
```
|
||||
|
||||
Achtung: Variablennamen sind case-sensitiv:
|
||||
|
||||
language != Language
|
||||
|
||||
<!--next_slide-->
|
||||
|
||||
### Beispiel veränderliche Variable:
|
||||
|
||||
```kotlin
|
||||
var dayOfWeek = "Monday"
|
||||
println(dayOfWeek) // prints Monday
|
||||
|
||||
dayOfWeek = "Tuesday"
|
||||
println(dayOfWeek) // prints Tuesday
|
||||
```
|
||||
|
||||
<!--next_slide-->
|
||||
|
||||
### Variablen und Datentypen
|
||||
|
||||
Variablen in Kotlin wird durch Wertzuweisung ein Typ (Zahl oder Zeichenkette) zugewiesen.
|
||||
|
||||
D. h. folgender Code ist nicht möglich:
|
||||
|
||||
```kotlin
|
||||
var aString = "lorem ipsum"
|
||||
aString = 0.815
|
||||
```
|
||||
|
||||
<!--next_chapter-->
|
||||
|
||||
## Ein neues Projekt beginnen
|
||||
|
||||
Installieren von [SdkMan](https://sdkman.io/install "Link zur Installationsseite von SdkMan")
|
||||
|
||||
```shell
|
||||
sdk version
|
||||
```
|
|
@ -0,0 +1,12 @@
|
|||
package space.dezentrale.prgrnd
|
||||
|
||||
class Anagram {
|
||||
fun isAnagram(s: String, t: String): Boolean {
|
||||
val sArray = s.toCharArray()
|
||||
sArray.sort()
|
||||
val tArray = t.toCharArray()
|
||||
tArray.sort()
|
||||
|
||||
return sArray.contentEquals(tArray)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package space.dezentrale.prgrnd
|
||||
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertFalse
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
class AnagramTest {
|
||||
@Test
|
||||
fun `'anagram' is an anagram of 'nagaram'`() {
|
||||
val anagram = Anagram()
|
||||
|
||||
assertTrue { anagram.isAnagram("anagram", "nagaram") }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `'rat' is not an anagram of 'car'`() {
|
||||
val anagram = Anagram()
|
||||
|
||||
assertFalse { anagram.isAnagram("rat", "car") }
|
||||
}
|
||||
}
|
Reference in New Issue