Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
Java REKURSION verstehen in 5 min - Java Programmieren Lernen Deutsch - 45
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 42 Zeilen
- Rekursion ist ein Thema mit dem sich besonders viele Programmieranfänger sehr schwer tun deshalb zeige ich dir in diesem Video alles was du zu Rekursion
- in Java wissen musst in der Theorie klingt das Ganze noch ziemlich einfach Rekursion bedeutet einfach nur dass wir eine Methode haben und diese Methode
- ruft sich dann selber auf das kann ich dir am besten zeigen indem wir das einmal an ein Beispiel durchgehen dafür erstellen wir uns hier eine Methode
- public static Void Hello World falls du eine aurischung zu Methoden in Java brauchst stell sicher dass du das Video hier in der Infobox gesehen hast dieser
- Methode Hello World wollen wir jetzt eine Bildschirmausgabe machen also system out printline Hello World und nach dieser Ausgabe soll sich die
- Methode jetzt selbst aufrufen und dafür schreiben wir hier Hello World und dass diese Methode Hello World sich jetzt im Code selbst aufruft das ist genau der
- Sinn hinter Rekursion das siehst Du auch an diesem wiederholungssymbol dass dir hier in IntelliJ angezeigt wird hier lautet die Bezeichnung nämlich recursive
- call also rekursiver Aufruf lass uns das Programm jetzt einmal starten dann siehst Du passiert hier noch nichts weil unser Programm immer nur den Code
- ausführt der in der Main Methode steht das heißt was wir jetzt noch machen müssen ist hier in unserer Main Methode die Hello World Methode aufzurufen und
- wenn wir das ganze jetzt starten dann bekommen wir hier sehr oft die Ausgabe Hello World bis das Programm irgendwann abgebrochen ist und zwar mit einer
- Exception genauer gesagt mit einem stack overflow error dieser stack overflow error der ist jetzt aufgetreten weil wir hier in unserem Programm eine
- Endlosschleife programmiert haben das heißt die Ausgabe Hello World die wurde einfach immer wieder auf dem Bildschirm ausgegeben bis es dem Programm
- irgendwann zu viel wurde und es hier zu diesem stack overflow errow gekommen ist du kannst also sicher denken dass wir hier in unserer Methode etwas ganz
- Entscheidendes vergessen haben nämlich eine Bedingung die dafür sorgt dass unser Programm irgendwann wieder abgebrochen wird ich zeig dir mal wieso
- eine Bedingung meistens bei rekursiven Methoden implementiert wird dafür erstellen wir uns als erstes hier in unserer Methode einen Parameter der
- jetzt bestimmt wie oft wir diese Methode hier rekursiv durchlaufen wollen angenommen wir wollen die Methode Zeh mal aufrufen also hier Zeh mal Hello
- World auf dem Bildschirm ausgeben dann übergeben wir hier bei unserer Methoden aufru einfach den Wert 10 und mit jedem Durchlauf durch unser Programm wollen
- wir diesen Wert um eins verringern und alles was wir jetzt noch machen müssen ist eine Bedingung zu formulieren die das Programm auch abbricht wenn unser
- Counter bei ull steht dafür können wir hier schreiben if Counter = 0 dann wollen wir ausgeben SIS out fertig und ansonsten wenn der Counter
- noch größer als Null ist wir das Programm also noch nicht beenden wollen dann wollen wir hier den Code ausführen den wir am Anfang geschrieben haben so
- und wenn wir das Programm jetzt Start dann siehst Du wird hier exakt zehn Mal Hello World auf dem Bildschirm ausgegeben bis am Ende die Ausgabe
- fertig kommt gut jetzt hast du gelernt wie Rekursion in der Theorie funktioniert und jetzt will ich dir einmal etwas zeigen dass du mit
- Rekursion in Java echt schön lösen kannst dafür löschen wir das ganze hier einmal und das Beispiel dass ich dir jetzt zeigen will heißt Fakultät du
- erinnerst dich wahrscheinlich noch aus Mathe das war dieses Ausrufezeichen dass du hinter deine Zahl geschrieben hast und F Fakultät hat in dem Sinne nur
- bedeutet dass du 5 x 4 x 3 x 2 x 1 gerch hast und vielleicht siehst Du ja schon warum wir dieses Problem jetzt echt schön mit Rekursion lösen können als
- erstes schreiben wir uns dafür eine Methode public static int unsere Methode wird diesmal nämlich ein Integer zurückgeben wirst du gleich sehen was
- das macht nenn die jetzt einfach Fakultät und übergeben der Methode noch eine Zahl von der wir die Fakultät berechnen wollen okay nehmen wir mal an
- wir wollen hier von unserer Main Methode aus die Methode Fakultät 5 aufrufen dann heißt das dass wir jetzt rechnen wollen 5 x 4* 3 x 2 x 1 und der Grund weshalb
- wir das jetzt rekursiv umsetzen können ist der dass fün Fakultät nichts anderes ist als 5 x 4 Fakultät vier Fakultät ist aber wiederum nichts anderes als 4 x 3
- Fakultät 3 Fakultät ist wiederum 3 x 2 Fakultät und immer so weiter du siehst was wir hier in unserer Methode als Ergebnis zurückgeben können ist einfach
- die Zahl die unserer Fakultät hier übergeben wird mal der Fakultät von dieser Zahl aber um eins verringert auf unser Beispiel angewendet heißt das wir
- Ruf hier Fakultät von der Zahl 5 auf und zurückgegeben bekommen wir dann 5 mal der Fakultät von 5- 1 also 4 diese Methode ruft sich also wieder selbst auf
- diesmal aber mit der Zahl 4 und gibt dann wiederum zurück 4 mal der Fakultät von 4-1 also in dem Fall 3 und du siehst damit wir hier nicht den gleichen Fehler
- wie am Anfang machen müssen wir hier noch eine Abbruchbedingung schreiben und zwar wollen wir mit dem Rechnen ja aufhören wenn wir hier bei der Zahl 1
- angekommen sind also ifzahl = 1 und dann stoppen wir die Rekursion indem wir hier nicht mehr Fakultät aufrufen sondern jetzt einfach eins zurückgeben und
- solange unsere Zahl hier noch größer als ein ist wollen wir hier ganz normal weiterrechnen das Ergebnis von unserer Berechnung wollen wir jetzt noch
- ausgeben und wenn wir das Programm jetzt starten dann siehst Du es unser Ergebnis 120 wenn du Lust hast kannst du diese Zahl ja aus Spaß einmal durch einen
- Scanner einlesen lassen und dann schauen bis zu welcher Fakultät dein PC das ganze berechnen kann wenn dich Videos zu Konzepten wie der Rekursion
- interessieren solltest du auf jeden Fall auch dieses Video hier ausgecheckt haben da erkläre ich dir was es mit Polymorphie in Java auf sich hat wenn
- dir dieses Video geholfen hat Rekursion zu verstehen dann lass mir einen Daumen nach oben da und schreib mir dein Feedback in die Kommentare falls dich
- das Thema Rekursion interessiert und du noch mehr dazu lernen möchtest schau auf jeden Fall mal in den Link unten in der Videobeschreibung wir bei sehen uns im
- nächsten Video macht's gut und bis dahin ciao
Zum Nachlesen
Rekursive ProgrammierungBei der rekursiven Programmierung ruft sich eine Prozedur, Funktion oder Methode in einem Computerprogramm selbst wieder auf (d. h. enthält eine Rekursion).
AbbruchbedingungEine Abbruchbedingung ist in der Informatik eine Bedingung, die erfüllt sein muss, damit ein Vorgang beendet wird. Jede Schleife oder rekursive Funktion …
RekursionAls Rekursion (lateinisch recurrere ‚zurücklaufen') wird ein prinzipiell unendlicher Vorgang bezeichnet, der sich selbst als Teil enthält oder mithilfe von sich …
EntrekursivierungEntrekursivierung bezeichnet in der Informatik das Umwandeln einer rekursiven Funktion in eine iterative Funktion. Rekursionen sind eine Technik, …