@@Florian.Dalwigk Das Herz war aber schnell ;) Mach einfach weiter so mit deinen Videos. Vielleicht wäre es ja mal was in einem Video die Aufgaben von einfachen Informatikwettbewerben (z.B. Jugendwettbewerb Informatik an Schulen) oder "Knobelaufgaben" aus Vorstellungsgesprächen durchzugehen und dann mit Python, Java... zu implementieren?
wie immer ein sehr gutes Video, danke! Eine vielleicht eine kleine Inspiration für dich: ich würde mich sehr über ein Video (vielleicht sogar eine ganze Videoreihe) zum Thema Blockchain interessieren. Das Thema ist nun sehr breit gefasst, aber es wäre sicherlich sehr interessant, es von der Seite des Programmierens genauer zu beleuchten. Das Thema ist ja auch gerade wieder sehr aktuell und würde bei der wachsenden Community sicher Gefallen finden. Mit freundlichen Grüßen Jan.
Schönes Video, gut erklärt! Eins stört mich dann doch: ein zweidimensionale Array ist nicht immer quadratisch ist. Folgende Implementierung erzeugt verschiedene Längen für die inneren Arrays: int[][] arr = new int[][]{ {0, 1, 2}, {3, 4}, {5, 6, 7, 8} };
@@Florian.Dalwigk Für eine Projektarbeit in der Uni wäre ich fast in die Verlegenheit gekommen, aber wir hatten uns dann doch für Listen entschieden, da sie dynamischer sind. Also, generell eher nein. Mich störte nur das Wort "immer", da es technisch gesehen nicht immer der Fall ist, auch wenn dieser Fall so gut wie nie auftritt. Bin (leider) ein Freund von absoluter Korrektheit.
Hi @@Karden1990, eine ähnliche Fragestellung hatte ich tatsächlich auch. Unter dem Stichwort Jagged Arrays findet man dann multidimensionale Arrays mit unterschiedlich langen Zeilen :)
Ist das der Zeitdilatation anzurechnen, dass die "Was sind Arrays? In unter 3 Minuten" 7:44 lang ist? :D Schöne Erklärung. Etwas gehetzt, aber egal. Man kann ja zurückspulen. Der Vorteil als in einer Vorlesung oder Schulstunde. Da kann man schlecht den Lehrer bitten das er mal kurz zurückspult. :D
4:48 Man kann aber auch für jede Zeile eine beliebige Anzahl an Spalten deklarieren: int[ ][ ] array = new int[2][ ]; array[0] = new int[3]; array[1] = new int[5];
Ja, iterieren wird dann nur eklig. Und so verwendet man die eigentlich nicht und es geht auch ein bisschen an der Analogie zum eindimensional Array vorbei.
Richtig ... trotzdem würde es den eigentlichen Sinn von Arrays konterkarieren ... Außerdem soll das ein Einführungsvideo sein ... das wäre für den Anfang etwas zu viel meiner Ansicht nach.
Eine Frage, die ich schon öfter hatte, meist aber eher mit "das geht so nicht" oder "ist kompliziert" beantwortet wurde: Du redest von dynamischer Speicherung. Wie würde denn soetwas verlaufen? Man kann ja arrays nicht vergrößern... könntest du dazu ein Video machen? Oder mir hierauf antworten? Das wäre wirklich sehr hilfreich!
Hallo Florian, Danke für dein tolles Video! Es ist sehr gut und verständlich erklärt. Ich mache gerade eine Fernstudium zum Software Entwickler. In meinem Lernheft wird immer erst die Spalte und dann die Zeile angegeben.BSP: Array mit 2 Spalten und 4 Zeilen: int[][] tabellenArray ={ {3,5,7,6},{2,1,0,9} }; Bei dir ist es andersrum. Das verwirrt mich etwas. Ist es egal? Danke für eine Antwort. LG
Ich komm gar nicht mehr klar,warum initialisierst du ein array erst in y richtung und dann in xrichtung, bei mir wars immer anders herum, aber sonst nice idee mit den pokemons hat richtig spaß gemacht zuzuhören
Bis drei Dimension komm ich immer easy noch klar, aber bei 4+ Dimensionen steigt mein Kopf immer gerne aus (die Objekte in meinem CAD / CAM kontexst haben bis zu 6 "dimensionen", koordinaten + normalen Vektor (und Schnittleistung)) und die API is halt leider beschränkt in dem Kontext (C#, C++(2×), VB.Net/Com, VBA).
Du prüfst ob die Dimensionen von A und B passen. Dann sind die einträge in der Ausgabematrix AB an der Stelle i,j gerade die Linearkombinationen der i ten Zeile von A mit der j ten Spalte von B
Hab damals direkt damit Conways Game of Live programmiert nachdem ich davon gelernt hab (obwohl ich das eigentlich schon von Python kannte, aber der Name "zweidimensional" hat mich dann auf die Idee gebracht)
Da fehtl noch unter System.print.out( x[zeile][spalte]); ein weiterer Command nämlich System.print.out(", "); damit das ja später dann so auf der Konsole aussehen würde { 3, 4, 3 } etc:), aber ich denke das ist bestimmt klar ich wollte es nur mal hinschreiben :D
Du rettest mir das Leben, ich danke dir. Die Erklärung ist super und deine Stimme echt beruhigend.
Vielen Dank!
Kenne mich da zwar schon aus, war aber trotzdem nice. Weiter so! 👍🏻👍🏻
Danke :)
Du Postest genau die Themen die ich gerade in meiner pm1 Vorlesung behandelt habe. Das ist eine super Wiederholung für die Klausur demnächst 👌🏻⚡🔥
Hervorragend! Viel Erfolg!
Ich finde es lustig, habe vor 3Tagen angefangen mir Java anzuschauen und dann macht du so ein Video 🤣
😄
Wow die ganzen Videos kommen vor meiner Info1 Klausur find ich gut!
Super! Viel Erfolg :) Melde dich gerne mal, wie es lief 😉
morgen ist mein Programmierungsprüfung und dein Video ist in der besten Zeit hochgeladen Danke ♥
Super, viel Erfolg! Melde dich gerne mal, wie es lief.
Ui neues Profilbild. Sieht cool aus.
Wusste schon vorher, wie man mit mehrdemensionalen Arrays arbeitet. War trotzdem interessant c:
Super! Und vielen Dank!
Alter du upliadest ja jeden Tag wehe du hast nen burnout 👍🔥
Ich versuche es zu vermeiden ;)
Deine Videos haben wirklich eine sehr hohe Qualität!!!!!!
Vielen Dank!
Danke dir für deine immer so toll verständlichen Videos 😊!
Gerne und vielen Dank für dein Lob!
Super Idee mit dem Schachbrett! Mega verständlich und Praxisnah
Das war mein Ziel :) Danke!
@@Florian.Dalwigk Das Herz war aber schnell ;) Mach einfach weiter so mit deinen Videos. Vielleicht wäre es ja mal was in einem Video die Aufgaben von einfachen Informatikwettbewerben (z.B. Jugendwettbewerb Informatik an Schulen) oder "Knobelaufgaben" aus Vorstellungsgesprächen durchzugehen und dann mit Python, Java... zu implementieren?
Das wäre tatsächlich eine gute Idee! Bei den Wettbewerben natürlich erst, wenn sie vorbei sind ;)
@@Florian.Dalwigk na klar, meine Empfehlung wäre der Jugendwettbewerb Informatik, die hatten letztes Jahr echt ein paar tolle Aufgaben dabei
Super das das video genau dann kommt wenn ich es brauche!
Super :)
Danke, jetzt kann ich endlich programmieren 🥰
Hervorragend
Wirklich super erklärt - vielen Dank dafür!
Gerne 🙂
Danke für die tollen Videos!
Gerne :)
wie immer ein sehr gutes Video, danke!
Eine vielleicht eine kleine Inspiration für dich: ich würde mich sehr über ein Video (vielleicht sogar eine ganze Videoreihe) zum Thema Blockchain interessieren. Das Thema ist nun sehr breit gefasst, aber es wäre sicherlich sehr interessant, es von der Seite des Programmierens genauer zu beleuchten. Das Thema ist ja auch gerade wieder sehr aktuell und würde bei der wachsenden Community sicher Gefallen finden. Mit freundlichen Grüßen Jan.
Vielen Dank für dein Feedback und deine Themenanregung! Das klingt sehr gut 🙂
Tolles Video, danke 👍
Gerne 😊
Wie praktisch. Heute in unserer Ausbildung eindimensionale behandelt - direkt mal vorarbeiten xD
Hervorragend 🙂
Bitte mehr Pokemon Java-Tutorials 😎
Logisch! Das nächste ist schon in Arbeit 🙂
@@Florian.Dalwigk Danke, danke, danke 🙏
Gerne 🙂
Gaaaaaanz wichtige Info für uns Kinder der 90iger !!! Die 1. Generation Pokemon hatte 151 Pokemons und nicht 165 !!!😉
Danke für die Ergänzung ;)
@@Florian.Dalwigk hehe😝
3:35 Ganz klar das Array eindimensional machen und die magische Formel y * width + x verwenden! :D
Hehe, sehr gut!
bitte mehr content zu Java danke, wie OOP
Kommt
ThanX... Super Video :)
Vielen Dank 😊
Schönes Video, gut erklärt! Eins stört mich dann doch: ein zweidimensionale Array ist nicht immer quadratisch ist. Folgende Implementierung erzeugt verschiedene Längen für die inneren Arrays:
int[][] arr = new int[][]{
{0, 1, 2},
{3, 4},
{5, 6, 7, 8}
};
Ja, aber so etwas nutzt man in der Praxis nicht (oder?)
@@Florian.Dalwigk Für eine Projektarbeit in der Uni wäre ich fast in die Verlegenheit gekommen, aber wir hatten uns dann doch für Listen entschieden, da sie dynamischer sind. Also, generell eher nein.
Mich störte nur das Wort "immer", da es technisch gesehen nicht immer der Fall ist, auch wenn dieser Fall so gut wie nie auftritt. Bin (leider) ein Freund von absoluter Korrektheit.
Hi @@Karden1990, eine ähnliche Fragestellung hatte ich tatsächlich auch.
Unter dem Stichwort Jagged Arrays findet man dann multidimensionale Arrays mit unterschiedlich langen Zeilen :)
Super Kanal ! gute Videos .tile maps und colisions maps :D
Vielen Dank!
Ist das der Zeitdilatation anzurechnen, dass die "Was sind Arrays? In unter 3 Minuten" 7:44 lang ist? :D
Schöne Erklärung. Etwas gehetzt, aber egal. Man kann ja zurückspulen. Der Vorteil als in einer Vorlesung oder Schulstunde. Da kann man schlecht den Lehrer bitten das er mal kurz zurückspult. :D
Ja 😅 Deshalb ist es mir ein Rätsel, wieso Profs und Lehrer ihre Unterrichtsstunden nicht aufzeichnen. Gerade in C Zeiten.
4:48 Man kann aber auch für jede Zeile eine beliebige Anzahl an Spalten deklarieren:
int[ ][ ] array = new int[2][ ];
array[0] = new int[3];
array[1] = new int[5];
Ja, das wurde falsch im Video erklärt
Ja, iterieren wird dann nur eklig. Und so verwendet man die eigentlich nicht und es geht auch ein bisschen an der Analogie zum eindimensional Array vorbei.
@@Florian.Dalwigk Stimmt. Iterieren könnte man aber mit:
for (int i = 0; i < array.length; i++)
for (int j = 0; j < array[i].length; j++)
....
Richtig ... trotzdem würde es den eigentlichen Sinn von Arrays konterkarieren ... Außerdem soll das ein Einführungsvideo sein ... das wäre für den Anfang etwas zu viel meiner Ansicht nach.
@@Florian.Dalwigk Verständlich, sehr gutes Video trotzdem
Eine Frage, die ich schon öfter hatte, meist aber eher mit "das geht so nicht" oder "ist kompliziert" beantwortet wurde:
Du redest von dynamischer Speicherung. Wie würde denn soetwas verlaufen? Man kann ja arrays nicht vergrößern... könntest du dazu ein Video machen? Oder mir hierauf antworten? Das wäre wirklich sehr hilfreich!
Kannst du mal Videos (falls du die Programmiersprache kannst) mit Dart machen? Die ist zwar noch recht neu, ich finde die aber richtig cool 😎
Mit Dart habe ich mich noch nicht beschäftigt.
Hallo Florian, Danke für dein tolles Video! Es ist sehr gut und verständlich erklärt. Ich mache gerade eine Fernstudium zum Software Entwickler. In meinem Lernheft wird immer erst die Spalte und dann die Zeile angegeben.BSP: Array mit 2 Spalten und 4 Zeilen: int[][] tabellenArray ={ {3,5,7,6},{2,1,0,9} };
Bei dir ist es andersrum. Das verwirrt mich etwas. Ist es egal? Danke für eine Antwort. LG
Dann hat das Lernheft einen Fehler. Mit dem ersten Index adressiert du die einzelnen Arrays (= Zeilen). Welches Heft ist das?
@@Florian.Dalwigk echt? Krass, danke für die schnelle Antwort, Fernstudium bei der SGD Heft JAVA04D Seite 27- kann es dir auch gerne per Mail? senden
Oh, danke, schicke mir die gerne mal zu :) info@florian-dalwigk.de
@@Florian.Dalwigk hab ich gerade
Merci
Ist bei ganz großen Arrays nicht eine List besser?
Ja, die ist auch dynamisch!
(mit Schachbrettern und Pokémon erklärt) find ich gut
Das freut mich!
Die erste Generation Pokemon hatte nur 151 Pokemon :D , aber trotzdem sehr gutes Video! :)
Meh 🤪
public class ZweidimensionalesArray {
int[][] num = new int[][]{
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20}};
}
public class Main {
public static void main(String[] args) {
ZweidimensionalesArray array = new ZweidimensionalesArray();
int[][] num = array.num;
for (int zeile = 0; zeile < num.length; zeile++) {
for (int spalte = 0; spalte < num[0].length; spalte++){
System.out.print(num[zeile][spalte] + " ");
}
System.out.println();
}
}
}
Ich komm gar nicht mehr klar,warum initialisierst du ein array erst in y richtung und dann in xrichtung, bei mir wars immer anders herum, aber sonst nice idee mit den pokemons hat richtig spaß gemacht zuzuhören
Man muss beides mal gesehen haben.
Das Damenproblem könntest du auch mal zeigen, wenn du schon das Schachbrett zeigst ;)
Das ist eine gute Idee 💡
@@Florian.Dalwigk Da ist nämlich die diagonale Deckung der Felder sehr interessant.
Bis drei Dimension komm ich immer easy noch klar, aber bei 4+ Dimensionen steigt mein Kopf immer gerne aus (die Objekte in meinem CAD / CAM kontexst haben bis zu 6 "dimensionen", koordinaten + normalen Vektor (und Schnittleistung)) und die API is halt leider beschränkt in dem Kontext (C#, C++(2×), VB.Net/Com, VBA).
4 Dimensionen sind auch nicht mehr praxisnah ;)
Sind auch 3 Dimensionale Arrays möglich?
Ja :) Es gibt auch 10-dimensionale Arrays: int[][][][][][][][][][] x = new int[1][2][3][4][5][6][7][8][9][10]
Holyshit. Ich habe bei 4 Dimensionalen aufgehört zu denken.
Mehr geht an Vorstellung als Raumstruktur auch nicht 😉
Wie kann ich einen Algorithmus schreiben der matrizen multipliziert ?
Du prüfst ob die Dimensionen von A und B passen. Dann sind die einträge in der Ausgabematrix AB an der Stelle i,j gerade die Linearkombinationen der i ten Zeile von A mit der j ten Spalte von B
Spiele wie z.B. Minesweeper oder Schiffe Versenken basieren auch auf 2dimensionale Arrays.
Ja, genau!
Hab damals direkt damit Conways Game of Live programmiert nachdem ich davon gelernt hab (obwohl ich das eigentlich schon von Python kannte, aber der Name "zweidimensional" hat mich dann auf die Idee gebracht)
Ja, das ist eine klassische Anwendung dafür.
Funktioniert Arrays in Pyhton genau so?
In Python gibt es keine Arrays, sondern nur Listen, also Arrays mit dynamischer Länge.
Und gibts eigentlich auch 3 dimensionale arrays?
Uff dann kommt 4D haha
Na logisch! Erwähne ich sogar im Video.
Deinen Array kannst du theoretisch mit so vielen Dimensionen machen wie du willst :)
Wait a minute. Das heist 2 Dimensionale Arrays sind also eigentlich Tabellen?
So kann man es auffassen, ja :)
jaa, endlich was mit java xD
Yeah 🔥
Hast du jetzt ne Brille? 🤣Wegen Profil.
Jep
@@Florian.Dalwigk ich hatte auch mal ne Brille.
*eine PC-Brille ;)
Ich fand das alte Maskottchen ansprechender und passender.
Ich wechsel ab jetzt immer verschiedene durch.
@@Florian.Dalwigk dachte ich mir ehrlich gesagt schon :)
Find ich auch gut so. Macht ja sonst keiner.
Danke :)
Du Hast dein Laborkittel vergessen anzuziehen :0
Ja, heute war es recht warm.
Da fehtl noch unter System.print.out( x[zeile][spalte]); ein weiterer Command nämlich System.print.out(", "); damit das ja später dann so auf der Konsole aussehen würde { 3, 4, 3 } etc:), aber ich denke das ist bestimmt klar ich wollte es nur mal hinschreiben :D
Ich wollte es hier tatsächlich ohne das Komma haben, aber wie gesagt: Viele Wege führen nach Rom.
Bei mir steht 1 Aufruf aber 49 Kommentare. AHA xd Cooles Video
Danke! YT Bug ;)
Schickes T-Shirt
Danke 😎
nächstes mal Unendlichdimensionale Arrays in Java
😄 In der Theorie durchaus möglich, in der Praxis scheitert es am Speicherplatz.
Neues Profilbild ? 🤔
Jep 🙂 Die Klamotten werden jetzt häufiger gewechselt. Ich stelle mir gerade eine Kollektion zusammen.
Für den Algorithmus!
Algorithmisch
Nächster Anwendungsfall: Matrizenaddition und Matrizenmultiplikation als Java-Programm. Damit man die Matheaufgaben nicht mehr selber rechnen muss.
Warum immer dieses Pokemon Zeug?
Warum nicht?
@@Florian.Dalwigk War doch vorher auch nicht drin und ich dachte das wäre ein Coding Channel :)
Es ist ein *Informatik* Channel 😉
@@Florian.Dalwigk Ja aber ging der Channel nicht eher in Richtung Programm statt Gameentwicklung?
Ne, eher in Algorithmus bzw das Verstehen der Zusammenhänge. Und Gameentwicklung soll das ja auch nicht sein ;)
Tic tac toe ist mir einem eindimensionalem Array leichter
Empfindet jeder anders ... ich würdige ein zweidimensionales Array nutzen.
Kommentar für den Algorithmus
Antwort auf den Kommentar für den Algorithmus.
1 Aufruf und 63 Likes, sehr schön
YT buggt wohl gerade!
bei 3.37
int max_rows = 8, max_cols = 8;
Object[] muster = new Object[max_rows*max_cols];
int row = 1, col = 4;
muster[row + (col * max_cols) = pikachu;
falls ich mich vertan habe... Dann eh. Shit.
Ich fühle mich hier wie bei Coden verstehen.de
Algorithmen kommen bald wieder!
tic tac toe
Gutes Beispiel!
2^0 ter
Sehr schön, hier ist dein Preis: 🏆
@@Florian.Dalwigk Den stelle ich zu den anderen, Danke!🥴
🤪
[1][4]
(1)(4)
Korrekt (aber mit eckigen Klammern ;))
@@Florian.Dalwigk war zu faul zum suchen 😅
😄
Haha 4 Kommentare aber 1 Aufruf xD
YT kommt nicht hinterher 😅
Schonmal überlegt ein Python beginnet Tutorial zu machen?
Habe ich doch schon.
@@Florian.Dalwigk Und wo kann ich diesen finden?
In meiner Python-Playlist.
Machst du bei einer bestimmten Abonnentenzahl unsere Vorstellungen kaputt indem du dein Gesicht zeigst?
Würde ich mir anschauen haha
Nein, mein Gesicht bleibt geheim 🤫
@@Florian.Dalwigk ok
@@Florian.Dalwigk huch
Haha, Zeiten ändern sich ;)
@@Florian.Dalwigk hahahah wie kommts, dass du jetzt antwortest nachdem du dein facereveal hattest