Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
1 Das eindimensionale Array bzw. Feld als Datenstruktur in der Java-Programmierung
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 92 Zeilen
- in diesem video möchte ich euch das eindimensionale fällt oder auch rwe genannt erklären zum aktuellen zeitpunkt ist es so dass wir bisher nur naive
- datentypen können entwickler double folien und so weiter wir kennen also eine möglichkeit und dinge zu merken wir wissen also wie man einen speicherplatz
- dekoriert und dort ein wert ab problem ist wenn man jetzt logische daten hat die zusammenhänge dann macht es wenig sinn die haben in
- verschiedenen variablen abzuspeichern wenn man selbst vorstellen wir wollen einen highscore einbauen in einem programm und wollen verschiedene
- höchstständen und speichern von verschiedenen spielern dann ist es sehr ungünstig da müsste ich zum aktuellen zeitpunkt mit unserem aktuellen
- wissenstand ist die verschiedenen farben an sich das macht wenig sinn weil die daten eigentlich logisch zusammenhängen sind
- dabei an unterschiedlichen orten gespeichert und dafür gibt es halt eine möglichkeit und zwar brauchen wir dann ein feld und
- zwar nennt man das ganze land und das bietet uns die möglichkeit unter einem einzigen bezeichnen mehrere werte abzuspeichern was ein großer fortschritt
- ist es ist eine lineare datenstruktur die daten sind hintereinander abgelegt oder wir können uns das zumindestens davor stellen und die datenstruktur ist
- statisch sie kann sich zur laufzeit nicht mehr verändern man hat also man kann sich das so vorstellen als ob man eine art tabelle
- hat die ist eindimensional und ich kann verschiedene werte dort abspeichern und diese tabelle das ist jetzt ja unser er ist
- verschieden groß und das kann ich als entwickler oder bäckerin festlegen und zwar muss sich das einmal bei der
- deklaration des datendiebs machen ich habe euch das hier einmal aufgelistet und zwar ist es so wir müssen bei dem festlegen welche werte
- werden denn dort in diesem feld abgespeichert und jetzt ist es so dass in diesem rwe grundsätzlich verschiedene
- datentypen abgelegt werden können wenn ich aber einmal ein rwe definiert habe dann müssen alle positionen denselben datentyp haben also ich kann jetzt
- nichts sagen die ersten drei sollen integer werte seien und die nächsten zwei sind buhlen werte das funktioniert nicht also ich definiere einmal dass
- sich eine rey habe wo zum beispiel ganz zahl werte abgespeichert werden so wie das jetzt hier der fall ist wie genau mache ich das ganze hier
- schreiben war ganz normal wie bei einer deklaration auch erstmal den datentyp hin das heißt wir schreiben hier schon mal
- das intern wir wollen also ganz zahl werte haben und jetzt kommen die zwei eckigen klammern und die eckigen klammern klammer auch damals zu stehen
- dafür dass wir jetzt im feld haben das ist also der unterschied hätten wir eine normale variable würde man einfach schreiben and a
- und das ist einfach der zentrale unterschied jetzt haben wir ein feld und dann bedeutet das hinter den namen der
- hinter das bezeichnet muss müssen dann die eckigen klammern so dann haben wir natürlich einen namen wir müssen irgendwie diese datenstruktur ansprechen
- können und dafür brauchen wir einfach ein bezeichnen so und ich habe diese tabelle oder fällt jetzt highscore genannt und jetzt ist es bei dem er
- einfach so das ist jetzt java spezifisch das schreiben wir brauchen also eine neue datenstruktur und jetzt sagen wir ganz normal nochmal ins eckige klammern
- und jetzt kommt in die eckige klammern die anzahl wir müssen jetzt bei der deklaration der datenstruktur direkt festlegen wie viele elemente sie
- speichern kann und das kann ich auch zur laufzeit nicht mehr verändern ich definiere das einmal und dann ist es für die komplette laufzeit fest und jetzt
- haben wir gesagt weil dadurch fünf steht dass dort fünf entsprechende ganz zahlwörter abgespeichert werden können deswegen sagt man dazu statische der
- struktur so jetzt muss ich ja wenn nicht nur einen bestimmten namen habe der name ist heiß war für meine datenstruktur jetzt
- muss sich ja irgendwie unterscheiden können wie ich an diese werte drankommen denn jetzt interessiert mich ja vielleicht der wert in der mitte und
- nicht irgendwie der ganz hinten oder ganz vorn und dann musste ich eine position angeben wo zu diesem zweck ist in dem
- ein index vorhanden der index ist im prinzip die hausnummer man kann sich das aber ja auch vorstellen die eine strafe und man hat ja manchmal hat den
- straßennamen und dann musste ich aber noch wenn ich ein haus identifizieren will musste ich noch die hausnummer im prinzip dazu angehen so und das ist der
- index den fünf werte abgelegt werden können dann existieren die indizes 0 bis 4 denn es hängt immer mit index 0 an das
- heißt wir können nach gucken wie ich denn der wert an index 0 also heißt null wäre 01 41 wäre auch 0 und so weiter so was kann ich jetzt
- alles machen mit so einem oder was dann wären zb operationen die man schreiben kann so jetzt haben wir zum beispiel hier
- folgenden ausdruck wir nehmen wir haben jetzt hier mit zuweisungen glauben dass einfache gleich zeichen also eine zuweisung in java und die wird ja
- bekanntlich so ausgewertet das immer erst der rechte teil ausgewertet wird dort steht die acht um das ganze wird nach links zugewiesen so links wird
- jetzt ausgewertet also was steht denn ein highscore 0 wir gucken also im die tabelle heiß vor das ist die hier und zwar interessiert uns
- der index 0 also was ist der wert der an diesem index juli und das ist dann entsprechend die acht so die wird jetzt da
- reingeschrieben also das stand vorher die null und jetzt ist durch diese durch diese zeile hier wurde die 8 nach highschool 0
- zugewiesen das heißt hier ist die jetzt rein geschrieben worden so und wenn ich nach diesen befehl folgendes schreiben würde ich würde sagen highscore 2 ist
- gleich highscore 0 dann hätten wir jetzt hier wieder erstmal die auswertung erst wird was steht rechts von der zuweisung high
- score 0 hier wird jetzt als auch der datenstruktur zugegriffen und zwar an index 0
- das wird jetzt ausgelesen an index 0 aus der tabelle highscore das ist dir da steht jetzt die acht und die wird zugewiesen und die soll in die tabelle
- highscore geschrieben werden und zwar an position zwei das ist dann hier und nach dieser befehlszeile ist hier an dieser stelle
- auch die acht geschrieben worden also das was an index 0 lag wurde jetzt auch zu index zugeschrieben jetzt kann ich natürlich mit solchen ausdruck noch ganz
- normal rechnet dass es für jahr war ja gar kein problem haben wir diese befehlszeile aber wieder eine zuweisung wir haben hier das gleiche zeichen also
- bekanntes thema rechts von der von dem plakat zeichen wird erst mal ausgewertet highscore 0 muss ausgewertet werden was liegt denn in der tabelle highscore an
- index 0 da nicht die acht also wird ihr die acht ausgewertet das soll jetzt addiert werden zu dem was an bord zwei liegt also wieder diese tabelle jetzt
- aber dieser index da liegt auch die acht also das ganze soll jetzt hier summiert werden also haben wir acht +8 das ist 16 und das wird jetzt hier zugewiesen zur
- linken seite an highscore 1 wird das geschrieben also nicht nach dieser befehlszeile nach dieser befehlszeile hier die 16 an den nächst 1
- also das extrem praktisch ist ich kann jetzt mit schleichen arbeiten ich kann folgendes schreiben ich kann jetzt ganz normale ziel
- schleicher nehme ich nicht vorschlage baby definieren eine variable dass sie die fängt bei null an und die ziel schleifer soll jetzt so lange
- durchlaufen so lange kleiner ist als high score punkt längst komplex ist jetzt die größe der datenstruktur und weil dort fünf werte abgelegt werden
- können ist auch die länge 5 und die letzte bedingung für die kleiner als highschool es zutrifft wäre wie ist 4 und 4 ist auch exakt der letzte index
- den ich ansprechen kann also wir haben hier fünf elemente aber der letzte index ist immer um eins kleiner weil wir ja schon wieder bei null anfangen zu zählen
- so das bedeutet ich würde hier hochziehen fängt an mit 0 dann ist es hinterher eins und zwei und drei und vier und die fünf wird nicht erreicht
- weil fünf kleiner 5 ist offensichtlich falsch das heißt es gibt kein nächsten schleifen durchlauf also fangen wir an ersten durchlauf wäre eh gleich null
- und dann wird die zwei zugewiesen an und jetzt haben wir hier einen dynamischen zugriff je nach schlechten durchlauf bietet hier einmal ein
- highscore im ersten durchlauf von um zugegriffen dann schreiben wir auch index 0 die zwei und hinterher dann auch index 1 die zwei
- und dann auf zwei drei und vier und dann sind wir fertig wir kommen uns das einmal in der praxis an
- also das hier ist jetzt die dekoration des airways als integer werte sollen gespeichert werden in einem feld das hier ist der name wir nennen diese
- tabelle aus dieser eindimensional tabelle dieses airways oder auch feld genannt nennen wir einfach unsere und jetzt kommt die initialisierung sagen es
- wird neues angelegt und am anfang stehen da keine werte drin so und jetzt machen wir einfach mal folgendes wir sagen da werden jetzt die
- werte von 1 bis 20 reingelegt also wir fangen hier an ist am anfang 0 und jetzt wird das hier ausgewertet und im ersten durchlauf wird die plus1 denn
- die null ist wird also eins an index 0 geschrieben wir gucken uns das ganze einmal an wir können auch mal hier breakpoint setzen
- dann schauen wir zusammen die bagger an alte wir sehen jetzt lokale variable ist 0
- jetzt wird das hier ausgewertet an der stelle hier steht 00 + 11 so einzige zugewiesen an unser event 0
- also wäre das die erste position in der tabelle oder rein geschrieben wird und jetzt im nächsten durchlauf 41 und dann geht das ganze halt so weiter und dann
- läuft er jetzt hier durch und jedes mal wird für ein anderer wert eingesetzt weil die lokale variable ja hoch zu hoch zielt und dann haben wir am ende in dem
- die entsprechenden werte liegen jetzt ist das durch und die methode ist soweit durchgelaufen
- wir gucken uns das einmal an wie das ganze dann konkret aussieht also wir haben mit wir inspizieren das wir haben wir unser away und jetzt sehe
- ich hier die länge ist 20 von diesem ray und jetzt haben wir hier die ganzen werte drin an index 19 was ja der letzte index reduziert werden kann ist die 20
- und ganz am anfang haben wir die 1 so und jetzt habe ich also ein airway angelegt und liegen auf steigende werte 1 bis 20 drin
- und jetzt kann ich dann natürlich auch darauf zugreifen also ich kann mir zum beispiel der schleife schreiben und sagen ich möchte dass die alle
- nacheinander auch der konsole ausgegeben werden dann werden die der reihe nach hierdurch gelaufen wir haben wieder eine
- zeitschleife und jetzt greifen wir auf unsere zu das ist jetzt sozusagen der konkrete zugriff auf den attribut wert der dort abgelegt ist und erst wird auf
- 60 zugegriffen und so weiter und dann erscheint nacheinander die werte die in dem erbe abgelegt sind auf der konsole kommt die werte von 120 aufsteigen und
- wir gucken uns das einmal an konsolen ausgabe der reihe nach ausgegeben halt so können wir mit hilfe eines feldes unter einem einzigen bezeichnet mehrere
- absolut werte oder werte ablegen und das macht uns das leben um vielfaches leichter und diesen vorteil ist ich kann jetzt auch beliebig das ganze anpassen
- also ich kann jetzt auch einfach sagen wenn ich nicht nur 20 werte haben möchte sondern ich möchte 20.000 werte haben dann frage ich das entsprechend ein und
- die schleifen funktionieren ja weiterhin also hier in dieser schleife wird er einfach von null bis links hoch gezielt unterhalb von null bis 20.000 das
- interessiert den computer ja nicht ob er jetzt bis 20 hochzeit oder bis 20.000 und das funktioniert dann auch entsprechend zügig also wir haben jetzt
- wenn wir das jetzt inspizieren gehen jetzt hier länge ist 20.000 irgendwann sagt er uns hier pünktchen für pünktchen so viel möchte ich jetzt nicht
- nachstellen und der letzte index wäre 19999 das kann ich dann natürlich auch ausgeben das geht jetzt natürlich bei der ausgabe
- sehr lange dauern weil dieses system auf schön nicht so schnell funktioniert wie die einzelnen schreibt operation aber das ist halt schon sehr praktisch also
- ich kann mit dem es schon sehr große datenmengen verwalten gut das ist jetzt erstmal so der einstieg den wir jetzt brauchen für
- unser vorhaben zu suchen unsere tier algorithmen also wir wollen jetzt ein vorhaben ein bisschen mehr über die algorithmen nachdenken er was haben
- natürlich auch nachteile aber in diesem video solltet jetzt erstmal einstieg lernen wie funktioniert ein eigen die missionale semmering
- grundsätzlich kann man airways auch mehrdimensional programmieren in java das mache ich jetzt in diesem video von noch nicht erklären dass man stand
- irgendwann noch meinen späteren videos und wann man welche daten schon vor einsetzen das würde natürlich alles noch in der zukunft kommen wir müssen erstmal
- mehrere kennenlernen bevor wir dann irgendwie die man miteinander vergleichen das war's
Zum Nachlesen
Array (Datentyp)Ein Array ([əˈɹeɪ], englisch für Areal, Bereich, Anordnung, Aufstellung u. a.) ist in der Informatik eine Datenstruktur-Variante, mit deren Verwendung „viele …
For-SchleifeViele Programmiersprachen definieren eine For-Schleife als eine Kontrollstruktur, mit der man eine Gruppe von Anweisungen (Block) mit einer bestimmten …