switch
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
switch [2017/06/27 15:48] – gg | switch [2017/06/28 13:37] (current) – gg | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== switch Statement ====== | ====== switch Statement ====== | ||
- | Das switch ist im Grunde ein allgemeines if - elseif - else Konstrukt. Oftmals ist es schneller (Es wird direkt in den case gesprungen und nicht wie bei if - elseif - else Konstrukten, | + | Das switch ist im Grunde ein allgemeines if - elseif - else Konstrukt. Oftmals ist es schneller (Es wird direkt in den case gesprungen und nicht wie bei if - elseif - else Konstrukten, |
Allerdings kommt das switch Statement oftmals mit Einschränkungen. So kann es beispielsweise je nach Programmierprache nur für einzelne Zeichen oder Zahlen verwendet werden. \\ | Allerdings kommt das switch Statement oftmals mit Einschränkungen. So kann es beispielsweise je nach Programmierprache nur für einzelne Zeichen oder Zahlen verwendet werden. \\ | ||
- | Oft muss aus einem Zweig explizit ausgestiegen werden. Bei der bash erfolgt das durch zwei Semikolons, bei C++ wäre es das break. Es ist auch grundsätzlich keine schlechte Idee einen default Zweig ein zu führen. Das erleichtert die Fehlerfindung, | + | Oft muss aus einem Zweig explizit ausgestiegen werden. Bei der bash erfolgt das durch zwei Semikolons, bei C++ wäre es das break. Es ist auch grundsätzlich keine schlechte Idee den default Zweig zu benutzen. Das erleichtert die Fehlerfindung, |
Die folgenden Beispiele sind vom Ergebnis wieder ident. Es wird eine Zahl festgelegt, die als switch fungiert. Wieder ist es so, dass diese Zahl normalerweise irgendwo her kommt. Sei es aus einer Datenbank, aus einer Benutzereingabe, | Die folgenden Beispiele sind vom Ergebnis wieder ident. Es wird eine Zahl festgelegt, die als switch fungiert. Wieder ist es so, dass diese Zahl normalerweise irgendwo her kommt. Sei es aus einer Datenbank, aus einer Benutzereingabe, | ||
===== Bash ===== | ===== Bash ===== | ||
+ | |||
+ | === Das Programm === | ||
<code bash> | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
Line 16: | Line 18: | ||
age=3 | age=3 | ||
- | # Switchen | + | # switchen |
case " | case " | ||
1) echo "Du bist ein Jahr alt" ;; | 1) echo "Du bist ein Jahr alt" ;; | ||
Line 24: | Line 26: | ||
*) echo "Ich kann nicht feststellen wie alt du bist. Bitte eine Zahl von 1-4 eingeben" | *) echo "Ich kann nicht feststellen wie alt du bist. Bitte eine Zahl von 1-4 eingeben" | ||
esac | esac | ||
+ | </ | ||
+ | |||
+ | === Ausführen === | ||
+ | switch.sh erstellen und so ausführen | ||
+ | <code bash> | ||
+ | chmod +x switch.sh # als ausführbar markieren | ||
+ | ./ | ||
</ | </ | ||
===== C++ ===== | ===== C++ ===== | ||
+ | === Das Programm === | ||
<code cpp> | <code cpp> | ||
#include < | #include < | ||
Line 32: | Line 42: | ||
int main() { | int main() { | ||
- | // Variable anlegen | + | |
- | int age = 3; | + | int age = 3; |
- | // Switchen | + | |
- | switch (age) { | + | switch (age) { |
- | case 1: printf(" | + | case 1: printf(" |
- | case 2: printf(" | + | case 2: printf(" |
- | case 3: printf(" | + | case 3: printf(" |
- | case 4: printf(" | + | case 4: printf(" |
- | default: printf(" | + | default: printf(" |
- | } | + | } |
} | } | ||
</ | </ | ||
+ | === Kompilieren und ausführen === | ||
+ | switch.cpp erstellen und so kompilieren/ | ||
+ | <code bash> | ||
+ | g++ -Wall -g -std=c++14 switch.cpp -o switch # kompilieren | ||
+ | ./ | ||
+ | </ | ||
===== C# ===== | ===== C# ===== | ||
+ | === Das Programm === | ||
<code csharp> | <code csharp> | ||
using System; | using System; | ||
Line 52: | Line 68: | ||
namespace IfStatements | namespace IfStatements | ||
{ | { | ||
- | class ShowIf | + | |
- | { | + | { |
- | static void Main() | + | static void Main() |
- | { | + | { |
- | // Variable anlegen | + | // Variable anlegen |
- | int age = 3; | + | int age = 3; |
- | + | ||
- | // switchen | + | // switchen |
- | switch (age) { | + | switch (age) { |
- | case 1: Console.WriteLine(" | + | case 1: Console.WriteLine(" |
- | case 2: Console.WriteLine(" | + | case 2: Console.WriteLine(" |
- | case 3: Console.WriteLine(" | + | case 3: Console.WriteLine(" |
- | case 4: Console.WriteLine(" | + | case 4: Console.WriteLine(" |
- | default: Console.WriteLine(" | + | default: Console.WriteLine(" |
- | } | + | } |
- | } | + | } |
- | } | + | } |
} | } | ||
</ | </ | ||
===== Golang ===== | ===== Golang ===== | ||
+ | === Das Programm === | ||
<code go> | <code go> | ||
+ | package main | ||
+ | |||
import ( | import ( | ||
- | "fmt" | + | |
- | " | + | |
) | ) | ||
- | // Variable anlegen | + | func main() { |
- | age int = 3; | + | |
+ | age := 3; | ||
- | // switchen | + | |
- | switch age { | + | switch age { |
- | case 1: fmt.Println(" | + | case 1: fmt.Println(" |
- | case 2: fmt.Println(" | + | case 2: fmt.Println(" |
- | case 3: fmt.Println(" | + | case 3: fmt.Println(" |
- | case 4: fmt.Println(" | + | case 4: fmt.Println(" |
- | default: | + | default: |
+ | } | ||
} | } | ||
</ | </ | ||
+ | === Ausführen === | ||
+ | [[https:// | ||
===== Java ===== | ===== Java ===== | ||
+ | === Das Programm === | ||
<code java> | <code java> | ||
public class Switcher { | public class Switcher { | ||
- | public static void main(String[] args) { | + | |
- | int age = 3; | + | // Variable anlegen |
- | | + | |
- | case 1: System.out.println(" | + | |
- | case 2: System.out.println(" | + | // switchen |
- | case 3: System.out.println(" | + | |
- | case 4: System.out.println(" | + | case 1: System.out.println(" |
- | default: System.out.println(" | + | case 2: System.out.println(" |
+ | case 3: System.out.println(" | ||
+ | case 4: System.out.println(" | ||
+ | default: System.out.println(" | ||
} | } | ||
} | } | ||
+ | </ | ||
+ | === Kompilieren und ausführen === | ||
+ | Die Datei Switcher.java erstellen und so ausführen: | ||
+ | <code bash> | ||
+ | javac Switcher.java | ||
+ | java Switcher | ||
</ | </ | ||
===== Javascript ===== | ===== Javascript ===== | ||
+ | === Das Programm === | ||
<code javascript> | <code javascript> | ||
< | < | ||
Line 129: | Line 162: | ||
</ | </ | ||
</ | </ | ||
+ | === Ausführen === | ||
+ | Den Code in die Datei switch.html kopieren und mit dem Browser öffnen | ||
===== Perl ===== | ===== Perl ===== | ||
+ | === Das Programm === | ||
<code perl> | <code perl> | ||
# | # | ||
Line 151: | Line 187: | ||
</ | </ | ||
- | ===== Python3 ===== | + | === Ausführen |
- | In Python gibt es kein switch | + | Die Datei switch.pl erstellen und so ausführen: |
+ | <code bash> | ||
+ | perl switch.pl | ||
+ | </ | ||
===== PHP ===== | ===== PHP ===== | ||
+ | === Das Programm === | ||
<code php> | <code php> | ||
<?php | <?php | ||
Line 160: | Line 200: | ||
// Variable anlegen | // Variable anlegen | ||
$age = 3; | $age = 3; | ||
- | "Du bist ein Jahr alt" | + | |
- | case 2: fmt.Println(" | + | |
- | case 3: fmt.Println(" | + | |
- | case 4: fmt.Println(" | + | |
- | default: | + | |
// switchen | // switchen | ||
switch ($age) { | switch ($age) { | ||
Line 174: | Line 210: | ||
} | } | ||
</ | </ | ||
+ | === Ausführen === | ||
+ | Die Datei switch.php erstellen und so ausführen: | ||
+ | <code bash> | ||
+ | php switch.php | ||
+ | </ | ||
+ | |||
+ | ===== Python3 ===== | ||
+ | In Python gibt es kein switch im eigentlichen Sinne. Mit ein bisschen Tricksen bekommt man trotzdem eines hin. Das wird hier aber ausgelassen. |
switch.1498571315.txt.gz · Last modified: 2017/06/27 15:48 by gg