This is an old revision of the document!
−Table of Contents
Verzweigungen
Verzweigungen sind äußerst elementar. Eine Programmiersprache ohne Verzweigungen ist nicht benutzbar. Wie immer gibt es verschiedene Typen. Das grundlegende if – elseif – else Konstrukt oder ein seltener verwendetes switch. Grundsätzlich kann man mit den if - elseif - else Konstrukten alle Fälle abdecken, ein switch hat aber in wenigen Fällen Vorteile was die Lesbarkeit und Laufzeitgeschwindigkeit angeht.
Das sprachliche Äquivalent wäre wenn - dann.
An ein if kann in den meisten Fällen ein else if und/oder ein else angehängt werden. Beispiel in Pseudocode:
if ( ich bin grösser, als du ) { ausgabe: “Ich bin grösser, als du“ } else if ( ich bin schwerer als du ) { ausgabe: “Ich bin kleiner, als du und schwerer, als du“ } else { ausgabe: “Ich bin kleiner, als du und leichter, als du“ }
Oft können Bedingungen mit und/oder (und vielem mehr) verknüpft werden. Beispiel in Pseudocode:
if ( ich bin grösser, als du UND ich bin schwerer, als du ) { ausgabe: “Ich bin grösser und schwerer, als du“ } else { ausgabe: “Ich bin kleiner, als du oder ich bin leichter, als du oder beides“ }
Alle folgenden Beispiele machen wieder das selbe. Zwei strings werden verglichen. Alle Beispiele liefern das selbe Ergebnis. Nämlich, dass die strings nicht ident sind.
if-elseif-else Konstrukte
Bash
#!/bin/bash one="Walter" two="walter" if [ "$one" = "$two" ]; then echo "one is equal to two" else echo "one is not equal to two" fi
C++
#include <iostream> #include <cstring> int main() { const char* one = "Walter"; const char* two = "walter"; if(!strcmp(one, two)) { printf("%s", "one equals two\n"); } else { printf("%s", "one equals not two\n"); } }
C#
using System; namespace IfStatements { class ShowIf { static void Main() { string one = "Walter"; string two = "walter"; if(one.equals(two)) { Console.WriteLine("one equals two"); } else { Console.WriteLine("one equals not two"); } } } }
Golang
import ( "fmt" "strings" ) one string = "Walter"; two string = "walter"; if(strings.Compare(one, two)) { fmt.Println("one equals two") } else { fmt.Println("one equals not two") }
Java
String one = new String("Walter"); String two = new String("walter"); if(one.equals(two)) { System.out.println("one equals two"); } else { System.out.println("one equals not two"); }
Javascript
var one = "Walter"; var two = "walter"; if(one === two) { alert("one equals two"); } else { alter("one equals not two"); }
Perl
my $one = "Walter"; my $two = "walter"; if($one eq $two) { print "one equals two"; } else { print "one equals not two"; }
Python3
one = "Walter"; two = "walter"; if one === two: print("one equals two") else: print("one not equals two")
PHP
$one = "Walter"; $two = "walter"; if($one === $two) { echo "one equals two"; } else { echo "one equals not two"; }