[TheNilsor] - Informatik - Die "if" - Kontrollstruktur TheNilsor https://www.youtube.com/watch?v=fkFY5wjMOUY Transkript (automatisch erstellt) 0:00 hallom de Youtube heute reden wir über if then und Else eigentlich ist das ein if then else und das ist eigentlich eine sogenannte kontrollstruktur das heißt 0:11 mit ihr wird Code kontrolliert und wofür braucht man solche Kontrollstrukturen na ja oftmals will 0:19 man nicht nur mit Sachen rumrechnen sondern oftmals will man mit Sachen öfter rumrechnen oder mit Sachen rumrechnen 0:28 nur wenn eine Bedingung gilt oder spezielle Fälle unterscheiden oder sonst irgendwas machen und dafür gibt es diese Kontrollstrukturen die erste die wir uns 0:36 anschauen werden ist diese if kontrollstruktur das senen und els ist eigentlich wird oft eigentlich nicht dazu gesagt wer uns mal angucken wie das 0:45 Ganze dann aussieht wie fangen wir so eine kontrollstruktur an na ja wir schreiben ein Stichwort hin das kann while sein das kann Switch sein das kann 0:53 auch dieses if sein und hinter sol ich ein hinter solche eine äh hinter solche ein Stichwort kommt meistens eine Klammer auf weil dort irgendwas gemacht 1:06 wird das heißt beim if ich machen ich mach mal ein bisschen deutlicher haben wir hier vorne eine Klammer auf eine Klammer zu was hier vorne reinkommt ist 1:13 irgendein Wahrheitswert das heißt hier vorne kommt irgendein bullien rein irgendwas was S testen sollen denn if heißt nichts anderes als wenn oder falls 1:23 das heißt falls das was hier drin wahr ist soll er etwas machen und dann kann man zusätzlich wenn man will noch sagen was er sonst machen soll das heißt 1:33 erstmal ist das if selber ist das das hier und was danach kommt ist Code und zwar ich schreibe jetzt einf mal den then Code hin also der dann Code 1:45 der dann ausgeführt wird der zcode kann einfach so hier hinter stehen wenn es nur ein Befehl ist wenn es mehr als ein Befehl ist wenn es mehr als ein Befehl 1:56 ist muss hier vorne eine geschweifte Klammer vor und hinten eine geschweifte Klammer hinter das heißt das wenn mehr als ein Befehl vorhanden ist dann sind 2:03 hier diese geschweiften Klammern die geschweiften Klammern würde ich persönlich auch immer machen weil sie oftmals den Code vereinfachen man sieht 2:12 dann wo die wo das anfängt was gemacht werden soll und wo das aufhört das macht das Projekt übersichtlicher natürlich kann man nicht 2:21 nur fragen was dann passiert sondern man kann auch sagen was passiert wenn es nicht so ist und dafür gibt es diese else clause hier vorne das heißt 2:30 das heißt und hier el und el ist genau das gleiche nur dass hier sowieso immer diese geschweiften Klammern kommen zack das heißt hier vorne in den geschweiften 2:43 Klammern können wir unseren els Code ausführen und man kann auch mehrere solcher Konstrukte ineinander bauen das hei mehrere if Konstrukte ineinander 2:55 bauen das heißt man kann sagen if und dann sagt man z.B a g= g true das heißt falls A wah ist dazu werde ich gleich noch was sagen zu 3:08 diesen Wahrheitswerten die man hier einbauen kann dann frage noch mal was ab dann frage if b g GLE true und dazu werde ich auch noch was sagen und dann 3:22 mache irgendwas und sonst wenn B nichts ist dann mache irgendwas chuldigung die brauchen man hier nicht 3:33 und dann muss ich noch die hier vorne beenden und pass bitte auf wo ich hier anfange zu schreiben und wo ich nicht schreibe sch das war ein bisschen lag 3:43 ich fange hier z.B links an zu schreiben und wenn ich da was neues anfange gehe ich immer ein Stück weiter nach rechts dann sieht man sofort oh das hier ist 3:51 das hier mit dem hier ist mein er if clause und das hier mit dem hier und dem hier zusammen ist mein zweite if clause und das ist der Code der in der zweiten 4:04 ifclause ausgeführt werden würde jetzt zu diesen Sachen die hier drin stehen sollen da habe ich mich schon lange drauf gefreut da gibt es viele 4:12 verschiedene Dinge die man testen kann sehr sehr viele Test Sachen die man testen kann erstmal generell ein booleen kann man da reinschreiben das heißt 4:21 entweder true oder false da kann man fragen if true das macht natürlich keinen Sinn aber weil es immer wahr wäre oder false ist immer falsch ähm aber 4:30 auch irgendeinen anderen Bullen z.B den Bollen B den man vorher definiert hat und oder den Bullen a übrigens das gleich gleich true braucht man hier 4:43 übrigens dann auch nicht hinzuschreiben das heißt falls man ein bullan B hat bullan B schreib ich mal hin dann kann man auch Fragen if B einfach nur weil B 4:52 ist entweder ull oder ein und das interpretiert er dann entweder als wahr oder falsch und dann geht das auch so da kann man die if clause wesentlich 5:01 reduzieren man kann aber noch viel viel mehr Sachen mit reinmachen das erste was ich schon gesehen habt ist das gleich gleich das 5:10 hier ist ein Vergleich das ist ein großer Unterschied zu einmal gleich wenn ich sage gleich wenn ich frage if B = 7 oder oder ich sag mal lieber i weil das 5:23 irgend in i ist wenn i= 7 ist so geht es nicht dann würde ich hier fragen if und dann setze i= 7 und das würde mir gar nichts bringen if i= 5:35 7 wenn i ist= 7 das macht keinen Sinn das ist auch im deutschen übersetzt keinen Sinn keine sinnvolle Sache was man da theoretisch machen könnte ist if 5:46 i = 7 == 7 das ist natürlich erstmal kompletter Schwachsinn aber es würde theoretisch gehen was man viel eher machen sollte 5:58 ist man soll hier vorne einbauen i g G 7 so fragt man nich ab ob i das gleiche ist wie 7 das heißt das Doppelte gleichheitzeichen ist ein 6:09 Vergleich und weil man keine Gleichheitszeichen durchstreichen kann hat man hier in der Programmiersprache ein Ausrufezeichen gleich und das ist 6:18 dann ungleich oder ist nicht gleich das heißt wenn ich frage a ungleich also der Charakter Charakter B ist das da wahr oder ist das falsch 6:33 die Antwort ist ziemlich simpel das hier vorne ist wahr denn a ist nicht das gleiche wie B das heißt a ist leich B ist eine wahre Aussage die ganze Aussage 6:44 ist wahr das heißt was wir hier gucken müssen ist ob das nicht das Gleiche ist das wird oft benutzt z.B um zu gucken ob 6:54 man z.B ein i hat und das oder ein IP müss ich eigentlich schreiben ein i leich n0 hat das heißt da wird oft auf Null 7:05 Pointer exceptions geguckt das heißt ob irgendwas ein Nullpointer ist was ein Nullpointer ist müssen wir uns no genauer anschauen ist aber eigentlich 7:13 relativ interessant ist eigentlich nur ein Zeiger der auf auf nichts zeigt das heißt hier vorne können wir dann auch solche Sachen kontrollieren 7:22 das heißt da gucken wir gerne mal nach einmal mit vergleichen und ungleichen natürlich gibt noch mehr es gibt noch kleiner und größer also das 7:32 hier ist größer das ist kleiner und da können wir z.B gucken if I größer 7 und das macht auch genau das was wir erwarten würden wenn i= 8 ist ist das 7:43 wahr wenn i = 7 ist ist es nicht wahr 7 ist nämlich gleich 7 und nicht größer als 7 8 ist größer als 7 7 ist GLE 7 also nicht größer wenn wir s da auch 7:55 inkludieren wollen können wir hier folgendes zeich machen und zwar größer gleich wenn wir grß gleich das beides einfach hintereinander schreiben dann 8:02 haben wir das größer gleich was wir aus der Mathematik kennen dieses Zeichen hier vorne und das würde auch funktionieren 8:10 wenn es gleich ist das heißt das ist ja größer oder gleich was wir hierm nachgucken mit dem größer Gleichzeichen ganze geht auch mit kleiner gleich und 8:19 das wird dann so geschrieben einmal größer gleich einmal kleiner gleich beide Sachen sind möglich wir schreiben einfach das Zeichen hinten hin und 8:25 dahinter noch mal ein gleich um zu verdeutlichen dass wir vergleichen wollen natürlich kann man noch andere Sachen machen und zwar gibt es einmal 8:36 noch folgendes und jetzt hoffe ich mal dass ich es richtig rumschreibe das und B das und und und das oder und das oder oder und dieses Zeichen hier vorne 8:49 findet ihr wahrscheinlich unten links über e sgtaste also Steuerungstaste und der 8:57 windowsaste das Zeichen ist eine einfach nur eine vertikale lange Linie das Zeichen für oder und ich sage einfach gerne das eine ist das 9:09 schlaue das andere ist das dumme das hier vorne sind beides die dummen oder BZ uns und das hier vorne sind die schlauen uns und die schlauen oders das 9:17 schlaue oder hört schon direkt aufzurechnen wenn eins der beiden wahr ist das heißt fängt vorne an und wenn das wr ist dann muss es ja gar nicht 9:24 weiterrechen weil dann ist das oder so so wah dass das hier vorne würden dann auch noch da weiter gucken und dieses und machtas ähnliches wenn das erste 9:33 falsch ist dann guckt das unchen trotzdem noch weiter was das zweite ist überprüft trotzdem noch den zweiten Ausdruck dieses und und hier vorne das 9:41 überprüft nur den ersten Ausdruck und wenn der wahr ist dann macht es weiter wenn der falsch ist macht es nicht weiter weil dann ist ja sowieso das und 9:48 kann ja gar nicht wahr sein dann interessant ist es aber trotzdem solche Sachen hier zu machen weil man vielleicht auch haben will D 9:58 trotzdem Vergleiche ausgeführt werden weil die Vergleiche vielleicht irgendwas besonderes machen denn was man nämlich auch noch machen kann als Vergleich ist 10:06 nämlich eine Funktion eine Funktion Bo nenne ich die jetzt einf mal und wenn die von der Form Bullen ist dann könnte ich auch hier mit die 10:22 Boo hier vorne hinschreiben oder auch direkt if Bo hinschreiben was genau das mit den returnwererten auf 10:33 sich hat das werden wir uns noch anschauen aber die ist jetzt erstmal für uns in unserem Kopf sozusagen vom Typen Bullen das heißt die kann man als buen 10:41 einsetzen sagen wir es erst erst einmal so und dann wird es ganz interessant wenn man das nämlich hier noch hinterm und hat was ist denn nämlich wenn in der 10:51 Funktion Bollen oder in der Funktion Bo steht jetzt nämlich noch drin dass wir nämlich den Wert i den in i den wir vorher irgendwann mal 11:01 deklariert haben dass wir den erhöhen wollen das ist jetzt übrigens kein nicht so wie man es h schreiben wird aber ich denke mal ihr kriegt glaube ich die Idee 11:10 das heißt wenn wir in der Funktion irgendwas drin haben wie z. i erhöhen wollen den wir vorher schon irgendwo deklariert haben dann könnte es sinnvoll 11:18 sein trotzdem beides auszurechnen und wenn wir einfach nur irgendwas vergleichen wollen ist es 11:27 meistens sinnvoller die schlauen logischen Sachen hier vorne zu benutzen das heißt wir haben uns heute die ifstuktur angeschaut und zwar hat man 11:36 dieses Stichwort if dann macht man eine Klammer auf gibt da irgendein Bollen rein eine Klammer zu mögliche Bollen sind solche sind einfach nur bollans 11:47 selber das können Vergleiche sein gleich gleich ungleiche sein dann größer kleiner größer gleich kleiner gleich und und und oder oder oder oder oder sogar 12:01 Funktionen und wenn wir dann weitermachen wollen irgendwas hinschreiben wollen können wir einfach den Code hinschreiben den wir dann 12:07 ausüen wollen wenn er eine ein Befehl lang ist wenn er mehrere Befehle lang ist dann müssen wir das ganze in geschweifte Klammern setzen wenn wir 12:16 noch mal machen sollen was nur dann passiert wenn das was im buen steht nicht oder wenn der Bullen falsch ist dann können noch ein LS dahintersetzen 12:25 das dann auch diese geschweiften Klammern hat wenn wir einfach irgendwas wollen was danach ausgeführt wird dann müssen wir das übrigens nicht ins els 12:32 tun dann können wir es einfach hier hinter schreiben z.B können wir dann hier schreiben Fu und was genau das ist das ist 12:39 eigentlich eine Funktion werden wir uns später noch anschauen das soll es aber erstmal gewesen sein für if then else das war 12:47 ein kurzes Video aber if then else ist auch eigentlich eine relativ offensichtliche Sache denn es ist nichts anderes als wenn dann sonst und genauso 12:57 sollte man das auch sehen wenn dann schreibt man hier drin die Bedingung schreibt man hier was dann passieren soll schreibt man hier sonst 13:05 und schreibt was sonst passieren soll ziemlich simpel ziemlich offensichtlich hoffe ich einfach mal wir sehen uns dann beim nächsten Mal wieder wenn es dann an 13:15 etwas schwierigere Kontrollstrukturen geht bis dahin wünsche ich euch Wunder viel Spaß tschüss