Transkripte
1. Einführung in den Kurs: Hi, willkommen bei. Aber wenn das Krankenschwesterkorps für diese Programmierung nonverbal ist, sollten wir
zuerst wissen, dass
die Grundlagen der Dart-Sprache bei der
Nachfrage nach sollten wir
zuerst wissen, dass
die Grundlagen der
Dart-Sprache bei der
Nachfrage nach Entwicklern von Tag zu Tag
zunehmen. Und deshalb
sollten wir sicherstellen , dass wir alle
erforderlichen Konzepte kennen. Bevor ich mit diesem Kurs
beginne, möchte ich mich
vorstellen. Ich bin, ich bin ein Entwickler
als durchführender
Workshops gut genug
für mittelalterliche persönliche Wahnsinn und werde
Community auf Meetup verweilen. Denken Sie immer daran, Programmieren
ist eine Kunst und wir sind dunkel. Machen Sie sich einfach den Code bereit. Und lasst uns anfangen.
2. Lust die Eintauchen in Dart: Hi, willkommen im Dark
Programmierbereich. plattformübergreifende Entwicklung ist heutzutage
ein sehr heißes Thema, und wir haben auf
dem Markt nur wenige Möglichkeiten, Anwendungen zu erstellen. Unter ihnen hat Florida innerhalb
kurzer Zeit
immense Popularität gewonnen . Bevor wir jedoch direkt in Flutter
einsteigen, müssen
wir die Grundlagen
dieser Programmierung kennen. Dart wird von Google entwickelt. Und es ist wie jede andere
Programmiersprache
wie C Java-Skript
mit Grundkonzept, das wir in Kürze diskutieren werden. Ohne mehr
Zeit mit dem Theoretischen zu verschwenden, beginnen
wir
Schritt für Schritt zu lernen. Das erste, was wir tun
müssen, ist dunkel zu installieren. Dead easy start als die Höhle , die Sie separat
installieren können. Aber in dieser Sitzung
werden wir das Online-Punktbett verwenden denn später werden wir Flattern
lernen und
alle überfluteten Tools installieren, dann wird das automatisch
installiert. Also müssen wir
es momentan nicht getrennt machen. Und das ist nur ein Online-Tool , um die Codes zu entwickeln und zu schreiben. Dafür. Sie können einfach zu Ihrem Browser gehen und Dot Pad eingeben. Und sieh hier ist es. Du schreibst
den Code auf die linke Seite. Und auf der rechten Seite wird
die Ausgabe da sein. Wenn ich auf die Schaltfläche Ausführen klicke, siehst du diesen hello123 für, das ist eine Art
For-Schleife, die wir später besprechen
werden. Wenn wir also sagen, was sind die Grundlagen
der Dart-Sprache? Das sehr grundlegende ist
der Einstiegspunkt, der die Hauptfunktion ist. Hier sehen Sie diese Hauptfunktion
der Einstiegspunkt von Code ist, was einfach bedeutet, wenn
wir diesen Code ausführen,
wird zunächst alles ausgeführt, was in
dieser Hauptfunktion geschrieben ist was in
dieser Hauptfunktion geschrieben ist. Wenn Sie unsere Rückkehr hier punktieren, funktioniert
es erst,
wenn es sich nicht um eine Funktion handelt, und wir rufen sie innerhalb
der Hauptfunktion auf. Um also irgendetwas auszugeben, haben wir die Print-Anweisung aufgebraucht. Hier siehst du, ob ich das
entferne und genau wie Print ist Flattern großartig. Und lauf, dann
siehst du, dass es gedruckt wird. Wenn Sie also aus einem PHP
oder einer anderen
Programmiersprache kommen, wissen
Sie, dass
Fehldrucke in den meisten
Sprachen sehr verbreitet
sind oder einer anderen
Programmiersprache kommen, wissen
Sie, dass
Fehldrucke . Und auch Strings, ordentliche
Anführungszeichen, aber Integer nicht. Was einfach an Ort und Stelle ist. Wenn ich Print 2021 schreibe, braucht
es keine
doppelten Anführungszeichen oder einfache Anführungszeichen. Aber wenn es sich um eine Zeichenfolge handelt
, die Alphabete ist, dann
benötigt es definitiv Anführungszeichen. Jetzt wissen wir, worum es geht, was ist die Print-Aussage? Und das nächste, was wir verstehen
müssen, ist, dass Kommentare in jedem
Kommentar zur Programmiersprache vorhanden sein werden. Es ist wie zu verstehen, was in den Funktionen vor sich
geht. Kommentare dienen nur als Referenz
und werden nicht ausgeführt. Was das bedeutet ist, wenn ich hier aufschreibe, wird die
nächste Anweisung die Zeichenfolge
ausdrucken und dann ausführen. Sie werden diese Aussage
in dieser Konsole nicht sehen , da
es sich um einen Kommentar handelt. Nun, Kommentare, die ich normalerweise benutzt habe. also in Zukunft Wenn Sie also in Zukunft auf den Code
zurückblicken, ist
es für Sie sehr einfach, ihn zu verstehen und später nicht
verwirrt zu werden. Das ist also ganz einfach, und das glaube ich nicht. Es ist so viel hektisch. In der nächsten Sitzung werden
wir mehr darüber erfahren, was unsere Variablen und
welche Datentypen sind.
3. Variablen und DataType: Hallo. In diesem Video erfahren
wir,
was Variablen
und Datentypen sind. Wenn Sie aus
einem technischen Hintergrund
oder einem BC-Abschluss kommen , haben
Sie
diesen Begriff vielleicht starren gehört. Es ist das Grundlegende
jeder Programmiersprache. Was ist im Grunde eine Variable? Variablen werden verwendet, um
Informationen zu speichern , die später referenziert
und manipuliert werden sollen. Das heißt, wenn Sie einen Mittelwert haben, nehmen Sie Flattern an, dann haben Sie es
einfach in einer Variablen gespeichert. Wie eine Sprache. Die Sprache ist gleich dem Flattern. Und wann immer Sie dieses Flattern ausgeben
möchten, verwenden
Sie einfach diese Sprache, dieses
Wort, das Schlüsselwort, das Sie sagen können. Was sind Datentypen? Es gibt einige
integrierte Datentypen. Das sind Zahlen, Strings, Booleans, List und Map. Listen Sie unsere Arrays in PHP auf, es heißt Arrays, und
hier heißt es Liste. Das Konzept ist das gleiche. Und auch Karten. Maps ist nur ein Schlüssel-Wert-Paar, wie Wörterbuch in
Python-Sprache, multidimensionales Array in PHP. Es gibt also nichts
Neues in Dart-Sprache, Lesen ist genauso. Es ist nur, dass du dein Gedächtnis hier
auffrischen musst. Nun, die Sache ist, wie
man eine Variable deklariert. Dies ist ein Muster. Erstens ist der Datentyp, zweitens ist der Variablenname
und erhält ein Gleichheitszeichen, das dem Wert entspricht. Jetzt hat dieses Alter eine
Verzögerung von Ganzzahl, a, 25 bis 30, was auch immer. Und dieses Alter hat es. Der Datentyp des Krieges, einfach impliziert, dass wir nicht wissen, was er halten wird. Es kann eine ganze Zahl haben, es kann eine Zeichenfolge haben. Aber wenn ich versuche, etwas wie
Florida eine Zeichenfolge zu schreiben, wird ein Fehler angezeigt da der Datentyp eine ganze Zahl
erhält. Und denken Sie daran, Flattern oder Dunkel ist eine statisch
typisierte Sprache. Das bedeutet, dass Sie die meiste
Zeit 51 angeben, eine Typvariable oder die
Funktion wird gehalten. Das ist die Hauptsache. Du weißt es einfach nicht, du vergisst das
einfach nie. Wenn wir einen Anmelde-Datentyp haben, muss die Variable diesen Wert enthalten. Jetzt werden wir jeden einzelnen Datentyp
Schritt für Schritt eins nach dem anderen besprechen. Aber im nächsten Video, Lassen Sie uns mit den
neuesten Zahlen üben, die
ganzzahlig und doppelt sein werden. Und diese Zeichenfolge habe ich
dieses grundlegende Beispiel. Hier. Wir benutzen das Beispiel
des Films Avengers. Wenn du
den Film noch nicht gesehen hast, ist es in Ordnung. Aber ich schätze, die meisten von
uns sind Marvel-Fans. Obwohl. Sie haben vielleicht von diesem Namen
gehört, Iron Man, und lasst uns unsere
Dunkelheit hervorheben und
alles entfernen, was in der Hauptfunktion ist und beginnen von
Anfang an. In der letzten Sitzung haben
wir von den
Kommentaren gehört, die wir jetzt verwenden werden. Hier ist es, als würde man Variablen
deklarieren. Dann ist es jetzt an der Zeit, unsere erste Variable zu
deklarieren. Das erste, was
wir schreiben müssen, tippen, es wird int sein. Dann der Name der Variablen. Es wird erzielt, was 3000 entspricht. So einfach, wir haben unsere Aufgabe, eine Variable
zu deklarieren,
abgeschlossen. Angenommen, dies ist eine Ganzzahl, aber was passiert, wenn
es einen Dezimalwert gibt? Angenommen Truthahn 0.5 oder was auch immer. Wenn Sie einen Pi-Wert haben
und in diesem Fall nicht, der Datentyp doppelt. Der doppelte Prozentsatz
entspricht 92,5. Du sagst einfach, du kannst
hinzufügen, was du willst. Wenn du dann eine Zeichenfolge
haben willst, dann wird String
Hero gleich Ironman sein. Wenn du einen anderen
Helden
hast, kannst du ihn einfach aufschreiben. Kein Problem. Und wann schwenken wir uns? Okay, wir haben unsere
vier Variablen hier
erfolgreich deklariert . Jetzt ist es an der Zeit, sie zu drucken. Denken Sie also daran, dass
wir beim Drucken erfahren haben, dass wir die Print-Anweisung verwenden müssen
. Und diese Print-Anweisung gibt nur
den Wert in dieser Konsole aus. Wenn Sie also
eine echte dritte Anwendung erstellen diesen Druck verwenden, erwarten Sie
nicht, dass der CUI oder der Bildschirm der
mobilen Anwendung Taubenwert ausgeben. Nur der Wert, der für
das Debug verfügbar ist , ist die
Entwicklernutzung. Wenn du willst, druckst du
einfach die Punktzahl aus. Dann können Sie den Prozentsatz drucken. Dann ist es Held. Und dann druckt
Rad und du rennst, du führst das Programm aus. Und ich hoffe, ja, wir haben die Ausgabe bekommen. Es ist ungefähr 3000. Es ist der ganzzahlige
Prozentsatz ist 92,5, Held Ironman und dann 10 uns. Also schätze ich, dass Ihnen
das Konzept der Variablen
und ihrer Typen klar ist . Und wir haben
Zahlen und String-Typen
erfolgreich verstanden . Im nächsten Video werden
wir
mehr über Strings diskutieren, die uns helfen werden
, dieses Konzept tief zu verstehen.
4. String und String: In dieser Sitzung werden
wir mehr über Strings erfahren. Früher haben wir
einen String-Datentyp verwendet, aber in diesem Video werden wir nur die Definitionen
und Konzepte
kennen. Also was ist String? Strings sind nur
Figurensammlungen oder man
kann Alphabete sagen. Wir können eine Zeichenfolge
sowohl mit einfachen als auch mit doppelten Anführungszeichen deklarieren . Es ist, als wäre String name
ein Aufruf von Flutter. Hier verwenden wir einfache Anführungszeichen. Hier. Sie können auch doppelte Anführungszeichen verwenden. Aber das Problem tritt auf,
wenn es
so etwas gibt , wie es einfach ist oder etwas
, das innerhalb des Codes enthalten ist. Man kann also sagen, wenn ich diesen Kriegsnamen habe, ist der Name seiner 11
gleich. Jetzt wird es angezeigt, weil Sie einfache
Anführungszeichen in einfachen Anführungszeichen haben. Um dieses Problem zu lösen, müssen
Sie entweder
Backslash r verwenden, oder? Einfache Anführungszeichen in
doppelten Anführungszeichen, um jegliches Hinzufügen zu vermeiden. Hier, umgekehrter Schrägstrich
, müssen Sie dies
einfach verwenden und
der Fehler ist verschwunden. Wenn ich das Programm jetzt ausführe, kannst
du sehen, dass die
Ausgabe da sein wird. Und wenn Sie möchten, können
Sie einfach
den umgekehrten Schrägstrich entfernen verwenden und außen
doppelte Anführungszeichen verwenden. Dann läuft auch
Ihr Programm reibungslos. Diese Situation
kann also passieren, während
Sie
eine Anwendung erstellen , bei der Sie
etwas haben, wie
es Wagemut ist oder was auch immer. Wir müssen uns nur daran erinnern
, dass Sie keine einfachen Anführungszeichen in
einfachen Anführungszeichen
oder doppelten Anführungszeichen
in doppelten Anführungszeichen verwenden in
einfachen Anführungszeichen
oder doppelten Anführungszeichen können. Wir wissen also, wie man eine Zeichenfolge
deklariert. Was ist nun die
String-Interpolation? Das ist auch sehr einfach. Es ist wie eine Kombination
aus Variablen und Strings. Normalerweise können
wir in jeder anderen
Programmiersprache Variablen
und Strings wie diese kombinieren. Deshalb
heißt der Name „Ankunft“. Drucken, mein Name ist und dann Plus-Symbol und
der Variablenname. Dies ist auch richtig und
dunkel, aber nicht empfohlen. Das schreibt lieber Variablen in die
doppelten Anführungszeichen,
indem man Dollar verwendet, bevor der
Variablenname Ihnen nur angezeigt wird. Indem du es tust. Angenommen, die Variable ist Hero. Ich muss schreiben. Mein Held ist es. Und dann Ironman. Dafür muss ich
dieses Dollarzeichen und
dann diesen Variablennamen verwenden . Und wenn ich das Programm führe, sehen Sie, mein Held ist Ironman. Es ist String-Interpolation. Früher würden wir einfach Variablen
ausdrucken. Aber auf jeden Fall müssen
Sie in den
realen Anwendungen so etwas wie willkommene Gäste verwenden. Die Gäste werden variabel sein. Und wenn sich der Benutzer anmeldet, ändert sich dieser Gastname in den Benutzernamen des Benutzers. Deshalb ist die
String-Interpolation ein sehr wichtiges Thema. Innerhalb dieser Dichter können
wir also mit
diesem Dollarsymbol ausgeben. Aber was ist, wenn
es eine Art von Funktionen wie
Addition oder Landkommen gibt? In diesem Fall
müssen Sie Donner und
diese geschweiften Klammern verwenden. Sie können das Beispiel hier sehen. Und wir machen es auch alleine. Ich entferne das alles
nur aus Gründen der Einfachheit. Wie int Länge ist gleich 20 und dann ist Bert gleich 10. Wenn ich nun eine
Art Berechnung mit
unseren Variablen machen möchte , dann muss ich
etwas Dollar schreiben, dann diese Klammern
und innerhalb dieses Landes. Alles klar? Jep. Wenn ich jetzt renne, wird
es einfach 30° betragen. Aber du kannst
das nicht machen. Und das. Wenn Sie versuchen,
nur das Dollarzeichen zu verwenden, wird
es einfach gedruckt. Die Summe ist 20 plus 30, aber dieser
Berechnungsteil wird nicht ausgeführt. Sie müssen sich also beim Erstellen
einer Anwendung
daran erinnern beim Erstellen
einer Anwendung
daran da es viele
Male geben wird , in denen Sie
einige Funktionen ausführen müssen. Möglicherweise müssen Sie
die Länge des Arrays ermitteln. In diesem Fall werden diese Dollar
- und geschweifte Klammern verwendet. Wenn Sie möchten, können Sie einfach ein weiteres Beispiel
ausprobieren indem Sie einen japanischen Bereich erstellen. Es gibt Parameter, es gibt viele mathematische
Berechnungen, wenn
Sie möchten, Sie können einfach
alleine üben. Das war's. Dieses Konzept ist erledigt. Dies ist das sehr grundlegende
Konzept von String. In den kommenden Videos lernen
wir auch einige
neue Keywords kennen.
5. Endgültige und Const: Heute erfahren wir was unsere Konstanten
in dieser Sprache haben. Wenn wir also das
Wort Konstanten hören, kam uns als erstes
in
den Sinn, dass der
Wert nicht geändert wird. Dass der Wert
nicht geändert werden kann. Es ist ein konstanter Wert. Also haben wir die Konstanten nicht gemacht, es gibt zwei Schlüsselwörter. Erstens ist endlich, und die
zweite ist diese Konstante. Beginnen wir nun mit dieser
Const-Schlüsselwortdefinition sehr einfach. Const wird verwendet, wenn der Wert zur Kompilierzeit bekannt
ist. Wir vergessen diesen Begriff
einfach mit einfachen Worten. Während
der Entwicklung der Anwendung haben wir fest codierten Wert,
das heißt, konstante Int-Markierungen
sind gleich 90 Mark. Probieren wir es selbst aus. Es wird const int
marks gleich 90 geben. Und wenn Sie drucken, können Sie Markierungen sprinten. Und ich werde die Daten
obige Druckaussage entfernen. Jetzt kannst du sagen, es sind
90, es sind Blechdosen. Das heißt, wenn wir versuchen, den Wert später zu
ändern, wie 58 ist Marx gleich 50. Get wird ein Fehler sein. Chance auf Werte
kann nicht zugewiesen werden. Das heißt, wenn der Wert festgelegt ist, können
wir ihn
später im Programm nicht ändern. Dies ist die Verwendung
des Schlüsselworts const. Jetzt denkst du vielleicht, okay, Const a, ich verstehe es, aber was ist das letzte Keyword? Es ist ein bisschen knifflig. Angenommen, wir
kennen diesen Wert
beim Schreiben von Code nicht , aber der Wert
wird berechnet. Unser Abruf aus der
Datenbank zur Runtime. Laufzeit bedeutet, ob die
Anwendung Operand ist. Und danach, nachdem der
Wert berechnet wurde, möchten
wir nicht, dass der Wert nach dem Abrufen
geändert wird . Es ist also wie eine Datenbank. Es wird das Alter des Benutzers geben. Es wird endgültig sein, jedes Keyword. Sobald es jedoch
aus der Datenbank abgerufen
wurde, kann der Benutzer diesen Wert danach
nicht ändern. Also hier kann man nicht versuchen
, es direkt zu schreiben. Wenn Sie einfach schreiben, ist der
Name der endgültigen Zeichenfolge gleich flutter. Dann wird es auch funktionieren. Normalerweise. Es wird hier keinen Fehler
anzeigen weil
es am Ende eine Konstante ist. Aber Sie werden später mehr von
diesem Konzept verstehen ,
während Sie Anwendung auf Flächenebene erstellen. Aber hier im Beispiel sieht
man einfach
den Wert von Pi
, also 3,14 ist eine Konstante. Darin werden wir
das Schlüsselwort const verwenden. Aber während Daten verfügbar sind
und wir sie jetzt dem Datum zuweisen,
ist und wir sie jetzt dem Datum zuweisen, dies ein
endgültiges Ergebnis, da die
App um 10 Uhr angehängt wird. Zu diesem Zeitpunkt
wird dieses Datum zehn Uhr sein. Es wird ein und nachher abgerufen
. Dieses Datum wird sich nicht ändern, aber dieser Datumswert
wurde nicht geschrieben. Flotte. Dann
können wir es in diesem Code mit einem
sehr einfachen Beispiel machen. Kann einfach sagen, schreibe
int x ist gleich 1, y ist gleich 2. Final a ist gleich x. Dann für int a. Und hier lasse ich
const b gleich y. Drucken B. Mal sehen. Es wird einen Adder zeigen, weil wir nicht
einfach etwas schreiben können, was
nicht nur hier ist, wenn wir hier eine const verwenden, muss
der Wert wie fünf
zurückgegeben werden. Aber im obigen, final, ist a gleich x. Es zeigt keinen Fehler an. Weil das Finale so
ist, als ob wir
die Anwendung ausführen und der Wert in diese endgültige Variable
gelangt, ist
es okay dafür. Danach kann ich es nicht mehr ändern. Wie ist gleich 26. Das kann ich nicht tun, weil
es eine Art Konstante ist. Sie werden also verstehen, dass Sie dieses Konzept hier auf sehr einfache Weise verstehen können. Wenn es ein const-Schlüsselwort ist, müssen wir den Wert schreiben. Und wenn es sich um ein endgültiges Schlüsselwort handelt, könnte die
Tendervariable
etwas enthalten , das später zugewiesen
wird. Das war's.
6. Conditional: In dieser Sitzung werden wir über bedingte
Aussagen
Bescheid wissen. Bedingte Anweisungen werden in jeder
Programmiersprache
vorhanden sein , PHP, Python, Java, C, C plus plus dienen zu was auch immer. Das Konzept der bedingten Aussage wird immer da sein. Was sind also bedingte
Aussagen? Es ist, als
würde es eine Bedingung geben. Wenn das stimmt, dann
tu etwas anderes. Tu nichts. Die erste bedingte
Anweisung ist wenn sonst hier sehen kann, Beleidigung, wenn diese Bedingung wahr ist, dann führen Sie den Code
RS aus, führen Sie anderen Code aus. Es ist sehr einfach. Und die zweite ist, wenn das bedeutet, wenn Sie
mehrere Bedingungen haben,
annehmen, wenn das Alter
größer als 18 ist, dann dürfen sie fahren. Wenn dann
sonst, wenn das Alter größer als 21 ist, dann dürfen sie
in Clubs und alle gehen. Und am Ende könntest du
einfach schreiben, dass
Ps dein Alter erwähnt hat. Es sind im Grunde eine Art von Bedingungen in
Ihrer Bewerbung. Und vertrauen Sie mir, wenn
Sie
eine reale Anwendung erstellen , wird
es viele Bedingungen geben. Wenn Sie Facebook sehen, können
Sie einfach sehen, ob sich der
Benutzer angemeldet hat. Zeigen Sie dann die Homepage sonst an, zeigen Sie den Dialog in Verstoß. Das ist ein sehr gutes
Beispiel, sage ich. Nun gibt es auch einige
Operatoren, die wir häufig
mit if-sonste-Anweisungen verwenden, das ist Ende sind unsere. Zwei Bedingungen können verwendet werden, können mit und
R verbunden werden und beide haben
ihre eigene Bedeutung. Und Betreiber bedeutet. Beides. angegebenen Bedingungen
müssen zutreffen. Das heißt, wenn das Alter größer als
18 ist und die Person von Tell ihm stammt. In diesem Fall gibt es
zwei Bedingungen, die beide
erfüllt sein sollten, um diesen Code auszuführen. Und wenn es
um den Betreiber geht, ist
es so, als ob
diese Person größer als 18 ist, aus Delhi kommt, wenn
einer von ihnen wahr ist, dann können wir das System
den Code ausführen. Sie können einfach
die grundlegenden Informationen von
ihr skizzieren , denn jetzt beginnen
wir mit einem Beispiel. Lass es uns machen. Schon wieder. Ich benutze dieses
Verletzungsszenario , damit es
leicht zu verstehen ist. Entfernen wir die vorherigen
Codes und fangen wir damit an. Zuerst hier. Ich werde Kommentare verwenden, wenn unten deklarierende
Variablen
schreibe. Jetzt haben wir dieses
const-Schlüsselwort früher verwendet. Hier schreibe ich const
int stones ist gleich 6. Für Ihre Verwendung kann ich einfach
Kommentare schreiben wie const verwenden ,
damit die Anzahl der Steine
nicht geändert werden kann. Einfach. Dichter Strom, String. Held ist Iron Man gleich. Und der String, den wir lernen ist gleich zu bräunen. Runter. Dieser neue Datentyp wird
hier Boolean sein. Boolean ist das, was man
einfach sagen kann, wahr oder falsch. Boolean ist nichts
anderes als das zu bewerten, entweder ist es wahr oder falsch. Also haben wir diesen Booleschen
Helden, wann ist er gleich wahr? Und wieder, Boolean. Wir lernen, wann gleich falsch ist. Wir haben also erfolgreich
alle benötigten Variablen deklariert , die fünf Variablen hier. Jetzt werden wir
bedingte Anweisungen verwenden. Wenn unsere erste
Bedingung sein wird, wenn Steine weniger als sechs sind, drucken Sie. Du hast keine Unendlichkeitssteine
gesammelt. Eine Bedingung stattdessen,
zweite Bedingung, wenn r gleich 6 ist, bedeutet
das, dass Steine sechs sind. Und wann ist dann gleich 2. Das bedeutet, dass der Bösewicht hier in diesem Fall
gewinnt, wir werden mit
String-Interpolation drucken. Wir lernen, hat wieder
String-Interpolation, sechs Unendlichkeitssteine. Jetzt haben wir hier
zwei Bedingungen geschrieben. diesem dritten können wir sagen , denn wenn Sie sonst mehrere Bedingungen
haben können, gibt es keine Grenze. Auch wenn Steine gleich sechs sind und Heroin gleich wahr ist. In diesem Fall plinkst du
einfach. Held erreicht den
Iron Man als sechs, das sind die Steine,
Unendlichkeitssteine. Und schließlich, in der
else-Aussage, kannst
du Helden schreiben. Und Steine sind uns egal. Einfach. Nun, mit deinem Verstand, denke einfach darüber nach, was
hier ausgegeben wird Steine sind 0, 6 und 0, wann stimmt? Der erste wird also falsch sein, der
zweite wird
falsch sein, der dritte. Die Ausgabe wird also hinzugefügt. Der Mensch hat unsere letzten sechs
Unendlichkeitssteine. Aber wenn ich
das einfach falsch mache, wird es andauern. Sonst wird
ausgeführt, weil nicht einmal eine der
Bedingungen erfüllt ist. Und ich bin das, ich
erinnere es nur noch einmal. Da die Töne konstant sind, können
Sie
den Steinwert nicht ändern. Hier. So. Es wird einen Addierer zeigen. Ich hoffe also, dass Sie klar
verstanden haben, was unsere bedingten Aussagen und wenn sonst sehr
selbsterklärend sind. Denn wenn eine Bedingung
zutrifft, dann drucke sie aus. Druckt das andere Ding aus. Das war's für alle heute. Wir sehen uns im nächsten Video.
7. Listen: Bisher haben wir
einige der Datentypen
wie Strings,
Doubles, Booleans sowie diskutiert einige der Datentypen
wie Strings, . Aber jetzt ist es an der Zeit
, die Liste zu besprechen. Dies ist ein sehr wichtiges Thema ,
da
wir beim Erstellen
einer Anwendung die meiste Zeit einen bestimmten
Typ verwenden werden. Was ist jetzt eine Liste? Eine Liste ist einfach eine geordnete
Gruppe eines beliebigen Datentyps. Es ist allgemein bekannt als
ADH in anderen Sprachen, wenn Sie
von PHP oder irgendetwas
oder einer anderen
Programmiersprache kommen , die Sie möglicherweise über Arrays gehört haben. Es bedeutet also einfach früher, als wir eine Variable
deklarierten, es war ein ganzer Link, ein Wert. Angenommen, Wilson
hielt nur Tennis ab. Aber was wäre, wenn wir eine Variable wollten , die mehrere
Informationen des Benutzers enthält? Angenommen, Name,
Kontaktnummer, Alter, alles auf eine Weise, aber in diesem Fall werden
wir die Liste verwenden. Es ist sehr praktisch, die
Daten auf diese Weise zu speichern und darauf zuzugreifen. Jetzt wird jedes Element in der Liste durch eine eindeutige
Zahl definiert, die als Index bezeichnet wird. Es ist sehr einfach. Angenommen, Sie möchten auf Daten aus der Variablen zugreifen
, müssen
Sie sich nur daran erinnern, in
welchem Index sie sich befinden. Um auf irgendetwas zugreifen zu
können, müssen wir natürlich einen Ausweis haben. Hier. Id, die ID ist der
Index und er beginnt bei 0. Fangen wir an zu programmieren. Ich schätze, TOD du hast verstanden, ich werde das
Vorherige entfernen. Um eine Liste zu deklarieren. Wir müssen diesen
Datentyp auf der ersten Liste erwähnen. Dann schreibe ich einfach nur Markierungen und die eckigen Klammern. Also haben wir erfolgreich Enlist
deklariert. Und Sie können einfach oben
die Zeichenfolge
sehen boolesche
ungerade Ganzzahl. Aber dieses Mal ist es eine
neue Datentypliste. Und als ich
über die Indexpositionen sagte, meinte ich, in der Liste der Marken gibt es mehrere
Werte wie diesen. Okay? Es gibt vier Werte
in dieser Variablen. Und jetzt ist diese 90
in der 0 Position, sie ist in der einen Position, Sechziger in den beiden und 30 sind im Baum. Das ist also der Index. Man kann einfach sagen wenn ich auf diese 90 zugreifen möchte, muss
ich einfach
Druckmarken schreiben und diese
Indexposition 0. Lassen Sie uns jetzt das Programm ausführen. Vgl. 90. Du hast diesen Wert. Nehmen wir an, wenn Sie ordentlich wollen, welchen Index müssen Sie schreiben? Es werden drei sein. Dann, ja, dann ist
es 30 gedruckt. , wir Angenommen, wir haben eine
leere Liste von Alter, OK und V1, um einen
Wert auf eine neue Weise zuzuweisen. Das heißt, es könnte
sein, dass es leer ist. Aber später wollen wir zuweisen. In diesem Fall können Sie das
Alter nicht
direkt an der 0 Position schreiben ,
geben Sie es bis heute an. Dies wird einen Addierer zeigen, wenn
wir eine Altersliste drucken. Mal sehen, probieren Sie es aus. Siehe uncaught, fügen Sie einen Bereichsfehler hinzu, was bedeutet, dass dies nicht
der richtige Weg ist , um ihren Wert
zuzuweisen. Aber wenn Sie den Wert ändern
möchten , der
bereits zugewiesen wurde, das Enda-Markierungen. An dieser 0 Position möchten
Sie 10 schreiben. Und dann drucke Markierungen. Liste. Mal sehen, was passiert. Siehe, 90 hat sich auf zehn geändert, was einfach impliziert, dass Sie den bereits vorhandenen
Wert mit dieser Methode
ändern können , aber Sie können es nicht zuweisen. Jetzt fragen Sie
mich dann vielleicht, wie wir einen Wert
zuweisen werden , weil
Marx bereits vorgeschrieben ist. Aber wenn wir
eine Anwendung erstellen, werden
all diese Daten in Echtzeit vorliegen. In diesem Fall muss ich nur H-Punkt
schreiben und dann hinzufügen. Dies ist eine Funktion. Dies ist die, Sie
können Operationen sagen bei denen eine Liste das Alter ausnimmt, Punkt Add 25, und dann werde
ich Alter ausdrucken. Siehst du, 25 ist da. Und jetzt wird
kein Fehler angezeigt, da dies
der richtige Weg ist ,
einen Wert in der Liste hinzuzufügen. Nochmal, wenn ich H-Punkt schreibe , 13
hinzufüge und ausdrucke,
dann ist es , 13
hinzufüge und ausdrucke,
dann ist es 25 und ordentlich C. Also ist es ein sehr einfaches
Konzept und sehr wichtig, weil Liste
der einzige Weg ist , wenn
wir viel abrufen, Angenommen, in einer
Anwendung wie Facebook wird
es viele Nutzer geben. So lassen alle Benutzer
möglicherweise in einer Liste gespeichert werden. Wenn Sie diese Folie sehen, habe ich geschrieben, dass
der Index bei
0 beginnt und sich bis zu n minus 1 erstreckt, wobei n die Gesamtzahl
der Elemente in der Liste ist. Was ich damit meine,
ist der Index hier. Es beginnt bei 0
und endet bei drei, was die Gesamtzahl der Elemente in der Liste minus 1 ist
, also 1, 2, 3, 4, 4 minus 1, 3. Da es mit 0 beginnt
, wird dieses Ende immer die Gesamtzahl
der Elemente minus eins sein. Es ist ein sehr wichtiges Konzept für jede Programmiersprache. Jetzt haben wir
diesen Teil gemacht, in dem wir einer leeren Liste
keinen Wert
zuweisen können. Wir haben auch
Streuungen gemacht. Uns wurde bereits der Wert zugewiesen, der so geändert werden
kann. Jetzt gibt es nur wenige
Operationen, die in jeder Liste ausgeführt werden
können. Diese Add-Portion ist fertig. Wenn Sie nun ein Element
entfernen
möchten, ist es sehr einfach. Es ist wie eine Liste, Name
, der Marx dot remove ist. Und welche Daten Sie entfernen
möchten. Ich möchte vermeintliche 25 entfernen. Und dann drucke ich es aus. Es sollte entfesselt werden, angezeigt 30. Ich schätze, ich habe einen kleinen Fehler gemacht. Es ist, als müssten
wir beim Entfernen möglicherweise remove
at verwenden , damit wir den Index zuweisen. Angenommen, ich möchte 0 entfernen. Okay? Okay, lassen wir uns
von den Markierungen entfernen und das Drucken der Altersspalte
zeigt an, dass sie entfernt wurden. Lass es uns nochmal machen. In Marx bin ich gegangen, um 90 zu entfernen
und dann hier Markierungen zu drucken. Schauen wir uns diese Ausgabe an. C, 90 ist eins. Auf diese Weise können
wir das Element entfernen, können
wir das Element entfernen wenn wir den Wert
des Elements kennen. Aber angenommen, wir kennen
diesen Wert nicht und wir kennen nur den Index, der Markierungen,
Punkt, Entfernen, Hinzufügen ist. Und hier gebe ich den
Index wie angenommen und
vor dem Entfernen der Zeile kommentiert. Jetzt werden die 80 entfernt. Siehe 10, 60, 30, aber ein t ist nicht da. Entfernen und entfernen Sie also bei unseren beiden Operationen, die sehr wichtig
sind. Denn wenn wir
einen Wert eingefügt haben der Benutzer ihn löschen möchte, sollte
er diese Fähigkeit haben. Ist das Feature, das Sie sehen können? Das Letzte ist
die Länge der Liste. Das heißt, wenn wir die Länge bekommen
wollen, haben wir es einfach gesehen, oder? Druck markiert Punktlänge. Und ich höre einfach auf, Elemente
zu entfernen. Und jetzt sagen wir, ich
denke, es wird zeigen,
wofür ich
früher diskutiert habe, das heißt, dies ist der n-Wert und das letzte Element
ist immer die Länge minus eins. Und wenn Sie
so etwas mit Verkettung
drucken möchten , können
Sie das so machen. Die Länge
der Liste beträgt dann Dollar. Und denken Sie daran, von
der letzten Sitzung an, wenn wir eine Operation machen wollen, dann müssen wir Dollar
und dann geschweifte Klammern machen. Und dann markiert es die Punktlänge. Ich führe es erneut und sehe, dass die Länge
der Liste vier beträgt. Ich möchte also nur eine Zusammenfassung
der Verkettung geben , weil ich nicht möchte, dass Sie auch die
vorherigen Konzepte vergessen. Also okay, das ist alles
für dieses Video. Wir werden uns
im nächsten Video wiedersehen. Danke.
8. Karten: Jetzt ist es an der Zeit, etwas
über den nächsten Datentyp zu erfahren, nämlich Tom Map. Map ist auch ein sehr
wichtiger Datentyp. Wenn wir
einen Hochwasserantrag erstellen. Meist wirst du Liste verwenden. Unsere Karte ist, Sie werden Map Inside List
verwenden. Im Moment, wenn Sie
verwirrt werden, kein Problem. In den späteren Videos wirst
du verstehen, was ich sagen wollte. Was ist eine Karte? Eine Map ist ein einfaches
Schlüsselwertpaar, was bedeutet, dass man früher,
als es eine Liste war, einfach sehen
können, dass es ihr Wert war. Aber es hat keinen Namen. Man kann einfach sagen, dass es diesen Index in
sich
hatte von dem
wir sie anrufen können, aber er hatte keinen Namen. Wenn diese Daten
also sehr lang sind oder wenn
Daten viele Daten sind, ist
es sehr schwierig, sich
den Index des Wertes zu merken. In diesem Fall
sind Karten sehr praktisch. Mal sehen, was es bedeutet. Dieser Schlüssel wird vom String-Typ sein, aber die Werte in einer Map
können von jedem Typ sein, der Schlüssel
ist, wird als Name bezeichnet. Dann kann der Wert String sein, das ist Rahul
Flutter oder was auch immer. Aber auch Punktschlüsselname kann 22 oder 23
unabhängig von numerischen Werten haben. Es ist also nicht zwingend erforderlich,
nur String als Wert zu verwenden. Um diese Map zu deklarieren, können
wir die
konstruierte Map verwenden, die diese ist. Sind, müssen Sie
die Schlüsselwert-Paare mit einem
Echo-Schmiermittel wie diesem einschließen . Beginnen wir damit,
unsere erste Map zu erstellen. Auch hier entferne ich
diese Daten und beginne
mit einem sauberen Schlitz. Wenn Sie jetzt
einen Mac-Konstruktor verwenden, können
Sie einfach schreiben, dass var
fruits gleich map ist. Und danach ihre Früchte. Du kannst Apple als Schlüssel schreiben. Denken Sie daran, dass der Schlüssel
und sein Wert rot sein werden. Wenn ich nun früchte
variable und hier var drucke, oder du kannst auch
map als Datentyp verwenden. Es wird keinen Fehler geben. Siehst du das? Apple und Rot. Apple ist dieser Schlüssel, und Rot ist der Wert. Die meiste Zeit brauchen
wir dieses E nicht, wir brauchen diesen Wert von
Rot, um das zu drucken. Sie müssen einfach
Map variable Gliedmaße schreiben, und dann dot py, das ist Apple. Führen Sie jetzt Ihr Programm aus. Und in der Ausgabe sehen
Sie Rotes Meer. So machen wir es. So wird Map verwendet. Nun noch einmal, wenn Sie
einen weiteren
Bananenwert mit einem Wert von Gelb hinzufügen möchten. Drucken Sie zuerst die gesamte Karte, damit Sie sehen können, wie
sie angezeigt wird. Es ist wie der erste Schlüssel Apple,
dann ist der Wert rot und der zweite Schlüssel des
Kommas ist Banane und der Wert ist gelb. Jetzt fragen Sie mich vielleicht, lassen Sie uns den gelben Wert ausdrucken. In diesem Fall muss
ich ihnen zuerst den Kartennamen schreiben. Dann ist dieser Schlüssel, kein gültigeres Beispiel ist, können
Sie sagen, einige Benutzer zuordnen und dass
wir map buchstäblich früher verwenden werden, dies geschieht mit dem
Map-Konstruktor. Jetzt werden wir
eine Map mit geschweiften Klammern
direkt deklarieren , was bedeutet. Ich habe eine Benutzerkarte. Dann wird
hier der erste Schlüssel Bill Gates heißen. Zweitens kannst du Alter sagen. Ich kenne dieses genaue Alter nicht, aber nehme an, Beispiel
88 und müde, wo wird Gründer sein? Und es wird wieder
eine Zeichenfolge sein, Microsoft. Hier sehen Sie also,
dass wir so eine Map deklarieren. Dies ist auch eine Art verzögerter Typ,
der mehrere Werte enthält, wie die Liste. Also, wenn ich will, schreibe
ich einfach den Druckbenutzer und dann werde ich nur die obigen Zeilen
kommentieren. Siehe benannten Bill Gates
Gründer Microsoft. Auch. Auf die gleiche Weise, wenn
du willst, wie print. Und wir zeigen dir, wie man ein ganz neues, nicht neues
druckt. Es ist wie für eine Fehlform für einen Gründer als für die Microsoft-Beweise, oder? Unter ist. Jetzt verknüpfte ich den
Benutzer und dann den Namen. Hier verwende ich Verkettung. Und Sie lernen, wie Sie den Datenwert aus einer Map
abrufen. Ich schätze, es gibt noch einiges. Wieder muss damit enden. Ja, ich weiß was ich getan habe. Hier. Es ist ein sehr grundlegender Fehler. Nicht viel. In der Programmierung bist du an diese
Art von albernen Fehlern gewöhnt. Jetzt erhalten Sie den Output Funder
von Microsoft ist Baguettes. Dies ist also die Welle, wie Sie diese Daten
in Ihrer realen Anwendung ausgeben werden. Es ist sehr
wichtig zu lernen. Und Sie können auch
die Länge der Karte ausdrucken, wie wir es zuvor in der
Liste getan haben, es werden drei sein. Das heißt, es gibt drei Werte. Siehe drei Werte. Andere Vorgänge umfassen
Angenommen, Benutzerpunkt. Sie werden sehen, ob ich einfach Benutzerdruckschlüssel
schreibe. Es wird zeigen, dass alles der Schlüssel ist, dass es Name,
Alter, Gründer ist. Wenn du also auch vergessen hast, dann kannst du es dir einfach ansehen. Angenommen, von diesen
Schlüsseln fragst du dich Werte. Das heißt, Sie
erinnern sich an keinen der Schlüssel, aber Sie möchten
alle Werte abrufen, dann müssen Sie eine Funktion oder
Operation wie Benutzerpunkt
verwenden . Für jede Schulden wird sie die Karte
mit diesem Schlüsselwert
durchlaufen. Und du kannst einfach Druck schreiben. Wenn Sie Wert wünschen, können Sie diesen Wert
einfach drucken. Und wir werden das obige Ting nochmal
loben und drucken und ausführen. Und jetzt sehen Sie Bill
Gates AT und Microsoft. So schaust du
durch die Karte. Und du musst nicht so viel Stress
nehmen. In den kommenden Sitzungen. Wir werden
tief über Loops sprechen. Aber im Moment war unser
Anliegen die Karte. Und wir haben viel gelernt, die letzte Operation,
die wichtig ist, offensichtlich gibt es eine Menge
Operationen, die Sie sehen können, sehen. Aber das Finale, wenn man
sagen kann, ist es wie entfernen. Wenn Sie einen Schlüssel entfernen möchten, können
Sie einfach entfernen schreiben, dann wird dieser Schlüssel,
Schlüsselname genannt. Und danach, wenn du trinkst, wirst du
Bill Gates hier nicht sehen. Siehe Bill Gates wurde von der Karte
entfernt. Das war's also. Dies sind
die grundlegenden Konzepte. Ich hoffe, Sie haben gerade
das Grundlegende verstanden , denn um unsere Karte am wenigsten zu
beherrschen, müssen
Sie
sie üben, während Sie
eine reale
Anwendung erstellen . Danke.
9. Looping: In dieser Sitzung
werden wir über
Loops und was Looping geht sprechen . Wenn Sie also aus einer
anderen Programmiersprache kommen, haben Sie das
wohl für, FOR-Schleife oder
für eine
Do-While-Loops gehört . Und weil
dieses Konzept im Engineering
oder in jeder grundlegenden Programmierung vorhanden sein wird. So werden Schleifen verwendet, um
mehrere Male auszugeben. Daten können sein. Wenn wir schreiben müssen, nehmen wir unseren Namen 100 Mal an, werden
wir
Florida nicht nur drucken,
drucken und durcheinander drucken, wenn es flacher ist. Es wird viel Zeit in Anspruch nehmen. In diesem Fall können
wir Schleifen verwenden. Und am Ende werde ich es Ihnen
auf jeden Fall sagen, während eine
reale Anwendung
erstelle , in der Schleifen verwendet werden. Also Loops aus vier Typen, 44 in y bis y. Lasst uns anfangen,
es einzeln zu verstehen. Was ist eine for-Schleife? Die ferne Schleife führt einen Codeblock für eine bestimmte
Anzahl von Zeit aus, die wir in dieser Schleife erwähnt haben. Die Syntax ist also so. Wir verwenden für dann Klammern. Es gibt Klammern. Darin
wird es drei Daten geben. Erstens wird die
Initialisierungsbedingung und was getan werden sollte. Du könntest jetzt
verwirrt sein. Lass es uns praktisch machen. Ich entferne das Ding alles. Fangen wir damit an. Schleifen. Zuerst wird for-Schleife sein. Angenommen, ich habe
diese for-Schleifen-Syntax. Erstens ist die Initialisierung, das
ist die int-Variable I gleich 0 ist. Dann ist die Bedingung
ich weniger als drei. Und was sollte dann als nächstes gemacht
werden? Danach wird dieser Code des
Blocks ausgeführt. Wie wenn ich Print schreibe. Wenn ich also auf Ausführen klicke, wird es so gemacht. Weit ich ist gleich 0. Das heißt, ich werde 0 sein. Dann wird es
den Zustand überprüfen. Wenn ich Wert schätze, ist weniger als drei. Wenn es stimmt, wird es gesetzt und
diesen Codeblock ausführen. Nach der Ausführung
dieses Codeblocks wird es zu diesem Schritt gehen, ich plus plus,
was impliziert,
dass ich von 0 zu eins
werde. Lass es uns laufen lassen. Siehe 012. Es geht nicht vorwärts. Das ist nach 23, weil
es diese Bedingung gibt. Das ist also eine sehr grundlegende Sache. Aber die meiste Zeit werden wir Schleifen
verwenden, während der Umgang
mit Listen abgebildet wird. Also schreibe ich eine Liste. Marx ist
wieder gleich 50, 30, 20, 10. Dann schreibe ich für
int I ist gleich 0. Ich werde weniger als die
Länge dieser Liste sein, die vier sein wird. Und ich plus plus. Und jetzt, wenn Phi eins ausdrucken soll, dann schreibe ich einfach diesen
Listennamen und den Index
, der bei 0 beginnt weil wir ihn hier
erwähnt haben. Wenn du willst, kannst du einfach pausieren und es wieder verstehen, weil int ich 0 ist, es wird prüfen, ob ich
kleiner als die Länge ist ,
was vier ist. Wenn ja, wird dieser Wert in der
Liste dieses Indexes ausgegeben. Zuerst wird 0 sein, das sind 50. Danach
wird es diesen Schritt machen, ich plus eins. Und dann wird das
Gleiche passieren. Mal sehen wir uns die Ausgabe an. Sie können die Ausgabe
1532 sehen, in der Tat 10. Die Schleife ist also sehr mächtig. Und während Sie eine
reale Anwendung erstellen, verwenden
Sie ständig
Schleifen. Weil die Daten, die
aus der Datenbank
stammen in Form
eines Arrays vorliegen. Liste. Also hast du
diese for-Schleife verstanden. Jetzt fertig Die nächste Schleife ist für NLU. Sie denken also vielleicht darüber nach,
warum dies für NLU die For-In-Schleife verwendet wird, um eine
Map zu durchlaufen und aufzulisten. Es ist hauptsächlich so, dass es
die meiste Zeit verwendet wird, nur weil dieses Durchschleifen durch die
Datenliste so üblich ist. Es gibt also diese spezifische
Art von Schleife, in der wir
diese Initialisierung nicht erwähnen
müssen, dieses Registerfeld,
weil es Zeitverschwendung ist, wenn wir bereits
wissen, was wir tun müssen. Also werde ich
die obigen vier kommentieren. Und hier, schreiben wir das. Und weit zu schreiben. Loop geht wie was? Mark, das. Dies ist eine einfache
Variable in Markierungen. Und dann drucken Sie Mark. Siehst du, die Ausgabe ist gleich, aber der Code sieht
so viel sauberer aus als oben, weil er
einfach so ist, dass er was tut? Das ist es. Zuweisen dieser
Markierungsvariable dem ersten Element, zweiten Element, und dann automatisch
drucken. Und diese for-Schleife eingebaut weiß, dass es
zwei Punktlänge der Liste schleifen sollte, sie sollte nicht überschreiten. Es ist also eine sehr
gängige Praxis for-loop in dieser
realen Anwendung zu
verwenden. Ich schätze, du hast es so weit
verstanden, kann auch in Maps verwendet werden. Sie haben eine Liste gesehen, aber versuchen wir es mit der Map. Var. Benutzer ist gleich c0 wird ungefähr alt sein, wird angenommen 25 sein. Und dann nehmen wir zweitens, das ist ein anderer Name und
Alter wird 30 gerettet. Wenn Sie nun zu dieser
Map schleifen möchten, wird einfach weit schreiben. Dies ist der Tag eines
beliebigen Variablennamens in Marks Punkteinträgen. Das ist also etwas, an das
du dich erinnern musst. Mal sehen, ich schätze ja, so viele Operationen, die Sie machen können. Lasst uns drucken und sehen
, was es ausgibt. Daten-Punkt. Wenn ich nur Daten schreibe, lass uns sehen. Es zeigt einen Fehler oder irgendetwas. Entschuldigung, ich muss Benutzer schreiben. Das war wieder ein alberner Fehler. Wenn wir
also eine Map verwenden, müssen Sie Einträge schreiben. Dies muss man sich auswendig
merken, da Map eine andere
Art von Datentyp ist. Und dann können Sie einfach den Datenpunktschlüssel
schreiben und drucken, wenn Sie Wert und
dann Datenpunktwert wünschen. Und setzen wir uns drauf. Siehe Rahul 25, Tick-Tack. Stellen Sie sich diesen
Benutzer gerade vor, er enthält nur zwei Daten. Aber wenn Sie eine
Anwendung wie
Facebook haben und unsere Kohorten oder
lax und welche Anzahl von Daten erhalten , ist
es unmöglich für Sie, alle mit toten Schlüsseln zu
schreiben. In diesem Fall
werden wir Looping verwenden. Jetzt, mehr von dem
Looping, das Sie
verstehen werden , während wir gerade
eine Flatter-Anwendung erstellen , verstehen
Sie einfach das Konzept. Zwei Schleifen werden gemacht. Dann ist die nächste die While-Schleife. Während Loop
macht auch den gleichen Job. Es ist nicht ganz anders. Es durchläuft auch
die Elemente. Wir verwenden meistens die
While-Schleife, wenn wir
wissen , wie oft die
Schleife tatsächlich ausgeführt wird. Hier kennen
wir zum Beispiel das Limit, das ist die Nummer
kleiner als diese. Angenommen, eine Musik
wird abgespielt und bis, wenn der Benutzer nicht die Stopp-Taste
drückt, sollte
sie weitergespielt werden. Dies ist ein gutes Beispiel. Also lasst es uns auch durch
die While-Schleife machen. Ich werde es kommentieren. Dann. Ich schreibe einfach int
number ist gleich 0,
y. Y ist die Zahl kleiner als 10. Nummer drucken. Und Nummer plus, plus
das ist implementiert. Es ist nichts Neues. Es ist genauso wie die for-Schleife. Siehst du, die Art zu
schreiben ist anders. For-Schleife wird
so geschrieben und abscheulich ist so. Die letzte Schleife
ist also, dass do while, do while loop unterscheidet sich von der While-Schleife, da
in der wilden Schleife erste Bedingung markiert wurde. Und dann nachdem
der Blockcode ausgeführt wurde. Aber zuerst wird der Code mindestens einmal
ausgeführt und dann
wird die Bedingung überprüft. Lass es uns versuchen. Mit demselben Beispiel. In dieser Zahl ist 0. Wir werden also nur sagen
, Drucknummer, aber diese Bedingung wird die
Nummer größer als eins sein. Stellen Sie sich hier also vor
, dass der Zustand falsch ist. Wenn wir also diese
While-Schleife verwenden, sollte sie nicht drucken. Aber da wir do while verwenden, überprüfen
Sie die Ausgabe, siehe 0. Es wird einmal gedruckt. Wenn ich hier auch Nummer plus schreibe , dann ist auch die
Bedingung falsch, aber dieser Blockcode
wird ausgeführt. Also do-while
wird nicht viel verwendet MATLAB. Es ist, als hätte ich es nicht
benutzt,
während ich meine Anwendungen erstellt habe. Die meiste Zeit haben wir
es mit for-Schleife zu tun. Es liegt also an Ihnen, welche Art von Schleife Sie
in Ihrer Anwendung verwenden möchten. Im nächsten Video werden
wir also zwei kleine
Keywords lernen, die verwendet
werden , während wir
Loops und Q verwenden.
10. Break und weiteren fahren: Dies wird eine sehr kurze
Sitzung sein, in der wir
diskutieren werden , was unsere Break
and Continue Aussage, Break- und Continue-Anweisungen mit Schleifen,
jeder Art von Schleifen verwendet
werden . Und was es tut, werden
wir nur sehen, weil
wir nur Break vermeiden, Sie können verstehen, dass
es das beendet. Sieh mal. Versuchen wir es mit dem Beispiel. Und wenn das hier ist, entferne diese und diese rechte Break-Anweisung. Wenn wir eine for-Schleife haben, ist var I gleich 0, ich weniger als fünf. Ich plus, plus. Ich hoffe, Sie haben diese Schleife
verstanden , weil wir im letzten Kapitel dies
bereits besprochen haben. Hier. Ich kann Print I schreiben, und Sie werden definitiv
feststellen, dass Zweifel von 0 auf vier gestellt werden. Aber was ist, wenn ich hier eine Bedingung
habe? Als ob ich gleich bin
, dann breche. Dies bedeutet einfach , dass, wenn die Zahl auf zwei geht, sie beendet werden und dann diesen Code unten
ausführen sollte. Lass es uns laufen und sehen,
dass es erst 01 sein wird. Danach wird der Prozess beendet und der Code
wird unten ausgeführt. Aber wenn es um die
Fortsetzung der Aussage geht, wird
weiter nur
Schulden in diesem Kreislauf überspringen, aber es wird nicht
den gesamten Vorstand beenden. Angenommen, ich habe hier
Print, flattern. Zuerst wird es 01 gehen, dann wird es beendet und diesen Code
ausgeführt. Aber wenn ich
hier aufschreibe, dann geht es weiter. Und all dieser Code wird C sein, nur, ich werde
Kontinuum benutzen und es dann ausführen. Sehen Sie, es gibt viel anderes als Brick, denn
erst als es zwei war, wurde der Code beendet. Aber es verursacht nicht
aus dieser for-Schleife heraus. Es überprüft einfach den Zustand noch einmal und sprinter
Rest des Codes. Und dann wird es nur gehen und alle folgenden Codes
ausführen. Dies ist also ein sehr grundlegendes,
aber wichtiges Konzept denn Hume, wir müssen die Fortsetzung R4
far Anweisung in Ihrer
Anwendung verwenden , wann immer dies erforderlich ist. Also hoffe ich, dass ich deine Zweifel
geklärt habe. Wenn Sie möchten, können
Sie
es einfach noch einmal mit einigen
weiteren Beispielen versuchen . Wenn Sie möchten, können Sie
einfach eine Benutzerliste schreiben, dann durchlaufen
und dann versuchen Sie es mit
break our wenn-else. Es liegt an Ihnen, denn wenn
wir eine
Programmiersprache lernen, ist
es besser, wenn wir auch
üben und versuchen zu adressieren
, damit dies
für uns für die Zukunft von Vorteil ist. Das war's also für dieses Video.
11. Declaring und Short: Willkommen zurück. In dieser Sitzung werden wir über ein sehr
wichtiges Thema
sprechen. Wenn Sie also
Interesse an der Programmierung haben, sind
Sie möglicherweise
zum Wort Funktion gekommen. Funktionen werden lieb sein. Entweder du arbeitest in PHP C, was auch immer, du musst das
Konzept der Funktionen
verstehen. Was ist eine Funktion? Funktion ist nur eine
Sammlung von Code. Sind Anweisungen
gruppiert, um eine Aufgabe auszuführen. Wenn wir also hier Codes
schreiben, nehmen wir an, dies ist nur ein
wirklich grundlegender Code, Schulden, also können wir ihn in eine,
in derselben Datei schreiben . Aber was ist, wenn es
100 Codezeilen oder 100 Funktionen gibt, die auf einer 100
ausgeführt werden müssen, die auszuführende Aufgabe. In diesem Fall
müssen wir Funktionen nutzen, damit wir diese Funktion
woanders
deklarieren und
sie hier in unserem Aufruf sie hier in unserem Aufruf mehrmals
aufrufen,
wo immer wir wollen. Also lasst uns anfangen. Ich werde
alles entfernen und reinigen , bis
wir Funktionen mögen. Hier sehen Sie also die
Syntax einer Basisfunktion. Es besteht aus einem Rückgabetyp, optional, aber es wird empfohlen. Rückgabetyp bedeutet, was
die Funktion zurückgeben wird. Und der zweite ist Funktionsname. Es ist also nur eine Art
Variablenname, den Sie sagen können, denn wenn
Sie eine Funktion aufrufen, müssen
Sie ihr einen Namen geben. Und das dritte Ding sind
Parameterargumente. Das ist der Wert, den wir an die Funktion senden,
während wir sie aufrufen. Im Moment
könnten Sie also verwirrt sein, aber Sie müssen nicht in Panik geraten. Wir werden es
langsam Schritt für Schritt verstehen. Und wenn ich sagte
und dann tippe, die Funktion
manchmal nichts zurück. In diesem Fall verwenden wir
void als Rückgabetyp. Wenn Sie also diese Abstimmung hören, denken
Sie vielleicht, warte, ich habe sie irgendwo gesehen. Wenn Sie also hier einfach
zum Duck-Code gehen, ist
dies auch eine Funktion, die
die Hauptfunktion mit
dem Rückgabetyp von void ist . Es ist also sehr seltsam,
dass wir
von Anfang an mit Funktionen gearbeitet
haben, aber wir wussten es nicht, weil
dies der Einstiegspunkt ist. Deshalb haben wir es nicht früher
besprochen. Im Moment können Sie sehen, dass es sich um
dieselbe Syntax
handelt, die Rückgabetyp, Funktionsname und dann
Klammern und geschweifte Klammern ist. So
deklarieren wir die Funktion. Jetzt ist der TOD fertig. Schreiben wir das ab,
eine Funktion zu schreiben , da es
verschiedene Möglichkeiten für
verschiedene Zwecke gibt . Der erste Weg ist die Funktion
ohne Argumente zu übergeben. Das bedeutet, dass wir
keine Argumente für die
Funktion und Argumente übergeben, wo diese Werte sind. Probieren wir es aus. Wir selbst. Und wir schreiben einfach die
erste Funktion ohne ärgerliches Argument. Und geben Sie den Typ zurück, dass diese Funktion nichts
zurückgibt. Also werde ich es für ungültig erklären. Lass uns etwas mathematische
Sache machen, gut, Parameter. Und dann können
wir in der Funktion Variablen,
einige ausführbare Codes haben ,
was immer wir wollen. Also werde ich zuerst
eine Variable der Ganzzahl für deklarieren. Dann wird
die zweite der einer Wüste sein. Zu. Dann machen wir nun die
Berechnung, die
schlecht ist, wird eine
Variable sein , die diese Berechnung
zwei in L plus B
hält Das ist Länge plus Brot. Okay? Und dann drucken wir hier einfach der Umfang und
dann Verkettung. Okay? Hier haben wir also erfolgreich eine Funktion
deklariert. Jetzt habe ich dir gesagt, wenn wir eine Funktion haben, müssen
wir sie anrufen. Wie wir es also nennen werden,
wird einfach
einen feinen Parameter schreiben ,
der der Funktionsname und die
Klammer ist , das war's. Und jetzt lass uns das Programm ausführen. Siehe, dieser Parameter
ist 12, das heißt, vier plus zwei ist
66 in zwei ist 12. Dies ist also die erste Art eine Funktion zu
schreiben
, die
keinen Rückgabetyp hat und
keine Argumente erhält. Das ist taube Werte
, die innerhalb der Funktion zurückgegeben werden. Okay, ich hoffe, du hast es bis jetzt
verstanden, denn jetzt
gehen wir zu
der nächsten Art, eine Funktion zu schreiben, die Funktion
mit Argumenten ist. Wie der Name schon sagt. Hier werden wir
das Argument übergeben , wenn wir die Funktion
aufrufen. Nehmen wir an, hier, um die Parameter
zu deklarieren, schreibe
ich den ersten Datentyp des Parameters
, der int length ist, und dann
wird der zweite int bread sein. Wenn wir den Wert
übergeben, müssen wir den Wert innerhalb
der Funktion nicht deklarieren . Also werde ich es von hier entfernen. Jetzt ist der
Deklarationsteil fertig. Aber wenn wir eine Funktion
aufrufen, dann wird hier dieser Fehler
angezeigt da wir nur
die Bearbeitung von erwarteten
Positionsargumenten sehen können , das heißt, wir müssen den
Wert an zuerst I übergeben wird nur fünf passieren und
dann zweite auch fünf, dass dieses Land und Brot. Jetzt sehen wir uns die Ausgabe noch einmal an. Sehen Sie, dass der Parameter 20 ist. Also was es sein wird, es wird Funtion
sein, Argument zu übergeben. Es ist sehr einfach. Aber ich hoffe, Sie haben es
verstanden, weil dies ein sehr Kernkonzept
der Programmierung ist. Ohne dies werden Sie nicht weiter verstehen
können. Also schlage ich Ihnen vor,
wenn Sie irgendwelche Zweifel haben, recherchieren
Sie einfach selbst und haben
versucht , das Konzept tiefer in die
Seite zu gehen. Gehen wir nun zum dritten weiter,
der Funktion mit
Argument und dem Rückgabetyp ist. Also einfach, wir schreiben
einfach die Funktion für den dritten Weg mit
Argument und dem Rückgabetyp. Wie der Name selbst andeutet
, wird er ein
Argument wie dieses haben und wir einen Rückgabetyp haben
werden. Jetzt wird der Return-Typ
nicht hier sein, nichtig, es wird int sein. Jetzt können Sie sehen, dass der Adder Dub Body möglicherweise normal vollständig ist, aber er gibt keinen zurück weil er keinen Wert
zurückgibt. Was wir also tun müssen, würden
wir es nicht
in der Funktion drucken. Wir werden einfach sagen, geben Sie
den Umfangswert c zurück
, der Add ist verschwunden. Hier haben wir also einen
Rückgabetyp von Ganzzahl da beide eine Ganzzahl sind und nach der Berechnung
eine Ganzzahl wird. Das war's. Wenn wir nun zurückkommen,
Give Value Mittel, müssen
wir es vielleicht irgendwo
fangen. Also hier schreibe ich einfach int. Ergebnis ist ein Aufruf
zum Auffinden des Schrittzählers. Jetzt besteht die
Ergebnisvariable aus dem berechneten Wert
, der von der Duff Funktion
gesendet wird. Wenn wir wollen, können
wir einfach so drucken wie das Phi-Punkt-Ergebnis ist. Dann hier. Jetzt müssen wir die Ergebnisparametervariable
schreiben. Weil wir
es unter diesem Namen speichern. Und wenn Sie möchten, können
Sie auch noch einige Berechnungen
weiter durchführen, wie int. endgültige Summe ist gleich
dem Grund eines Ergebnisses. Außerdem kannst du einfach 200 schreiben. Und dann wieder hier das
Endergebnis drucken . Danach. Also, nachdem du es hinzugefügt hast, dann finde. Also 10 K. Es zeigt etwas Sache. Und das ist okay. Letzte Summe, tut mir leid. Okay, jetzt lass uns das Programm ausführen. Es sollte zuerst
5 plus 5, 10,
20 sein, und dann wird der zweite
offensichtlich plus 100, 120 sein. Also machen wir diesen
Rückgabetyp normalerweise
, damit wir danach noch einige
Berechnungen durchführen können. Es ist, als ob ein Benutzer, wenn wir versuchen,
das Alter eines Benutzers zu erreichen, nach dem Erreichen dieses Alters einige Berechnungen durchführen könnten. Mal sehen wir mal. Angenommen, hier
steht int User Age. Okay? Und einfach hier schreiben wir
einfach zurück 20. Angenommen. Was ist, wenn ich zuerst das
Benutzeralter und das Reduzieralter bekommen möchte. Und nachdem wir das Benutzeralter erreicht
haben, werden wir einige
Berechnungen durchführen, z. B.
wenn das Alter des Benutzers weniger als 18 ist, drucken, er kann nicht fahren. Sonst. Ausdrucken. Erlaubt ein Auto zu fahren. Nun kommentieren wir das
und lasst uns jetzt laufen. Und ich hoffe, Sie wissen, wie das Ergebnis aussehen
wird. Es wird lauten. Sonst weil wir in t
kommen, wenn wir
die Funktion aufrufen. Und dann sehen wir aus der
if-else Aussage, die wir bereits gelernt haben, ob der Benutzer gesetzlich erlaubt
ist, ein Auto zu
fahren oder nicht. Dies ist also eine sehr
grundlegende Verwendung von Pfeifen ,
wenn wir die
komplette Anwendung erstellen Wir werden diese Funktionen weiter nutzen. Nun, die letzte, andere
Art, eine Funktion zu schreiben, können
Sie einfach sagen, dass es sich um eine
Kurzsyntax handelt, unser fetter Pfeil. Das heißt, wenn unser Funktionskörper nur eine Codezeile
enthält, können wir diesen Pfeil, diesen
Pfeil und diese Art
von Pfeilsymbol verwenden . Sie können einfach eine,
eine Spule und größer sagen als die Funktion zu deklarieren
und scharf aussehen zu lassen. Es ist also nur eine Möglichkeit
, unseren Code zu bereinigen. Und auch im Notenbereich können
Sie in der
Fat-Pfeil-Notation lesen, wir verwenden die geschweiften Klammern nicht und verwenden auch kein
Rückgabetastenwort. Daten gibt es also
viel zu verdauen. Schon wieder. Versuchen wir es mit dieser Int Fat Arrow Syntax. Hier haben wir, wir kehren einfach zurück oder Sie können haben nur
eine Codezeile. Als erstes
wurde gesagt, dass wir die geschweiften Klammern entfernen
müssen. Okay, wir haben es entfernt. Und zweitens haben wir
diese Rückgabeerklärung nicht. Okay? Und statt dessen werden
wir diesen Pfeil haben. Siehst du, es sieht so
cool und so sauber aus. Und jetzt werde ich diesen Wert
einfach auf
17 ändern . Und mal sehen. Was ist Output. Siehst du, er kann nicht fahren. Was einfach bedeutet, dass die Funktion
dasselbe macht wie zuvor. Aber mit dieser Kurzsyntax sieht
es sauberer aus und
ist einfacher zu lesen. Die Schulden werden gerade 17 zurückgegeben und es gibt auch diesen
Rückgabetyp
, der eine ganze Zahl ist. Und wenn Sie auch hier möchten, können
Sie diese Änderungen vornehmen. Zuerst. Ich entferne
die geschweiften Klammern. Dann werde ich diese
Rückgabe entfernen oder zurückgeben und einfach, Ja, ich schreibe Pfeil. Und diese eine Codezeile
, die nach der Berechnung direkt zu dem
zurückkehren wird, was sie aufruft. Ich werde einen Kommentar abgeben
und das nochmal machen. Und ich hoffe, das Ergebnis
wird das gleiche sein wie zuvor. Sehen Sie, dass das Ergebnis 20
nach dem Endergebnis ist, nachdem Sie 120 hinzugefügt haben. Je früher es also sehr chaotisch
aussah, aber mit der
Kurzsyntax wird es besser. Ich hoffe also, dass Sie
die Grundlagen der Funktion verstanden haben. Im nächsten Video werden
wir tiefer auf
Parameter und deren Typ eingehen.
12. Types in Funktion: Jetzt ist es an der Zeit, tiefer
in Parameter einzusteigen und es zu tippen. Früher haben wir
gelernt,
eine Funktion zu deklarieren und wie sie einen Parameter
akzeptiert. Es gibt jedoch verschiedene
Möglichkeiten, einen Parameter zu akzeptieren. In diesem Diagramm
sehen Sie, dass Parameter von zwei Typen
sind,
optional und erforderlich. Nur der Name, du
kannst ihn verstehen. Wenn es erforderlich ist,
müssen Sie das Argument übergeben. Es wird einen Addierer zeigen. Und wenn es optional ist, behandeln Daten auch optionale
Typen, die partitional,
benannt und standardmäßig sind. Also werden wir jeden einzelnen Schritt für Schritt verstehen. Also lasst uns anfangen. Zunächst werden wir verstehen, welche Parameter die
erforderlichen Parameter sind. Lassen Sie uns unseren Code-Editor mitbringen und einen
Funktionsnamen
erstellen, den Namen drucken. Angenommen, es akzeptiert
Argumente wie String name1, String name2, String
Name Tree. Okay? Und ich drucke einfach
die Namen wie Name1 und Name 2 und 3 aus. Okay. Wir haben unseren
Fonds generell. Jetzt ist es an der Zeit,
es wie Print-Name zu nennen. Wenn wir es jedoch direkt so
nennen, wird ein
Adder angezeigt, da es einen erforderlichen Parametertyp handelt, was bedeutet, dass wir einen Wert senden
müssen. Ich schicke einfach Hulk, Iron Man. Und es ist auf Nachfrage. Mal sehen wir uns die Ausgabe an. Okay, du kannst
all die beim Druck sehen. Es ist also wirklich einfach und wir haben das auch früher gemacht. Aber Sie müssen verstehen,
wie es heißt und es wird als
erforderlicher Parametertyp bezeichnet. Jetzt ist der zweite
Typ optional. Und innerhalb von optional
werden wir verstehen, was ein
partitionaler optionaler Parameter ist. Um einen Parameter optional zu machen
vi, verwenden Sie diese Klammern, eckige Klammern und Politur Null bedeutet,
dass dieser Hulk
an der ersten Position ist, also String 1. Dieser Eiserne Mann wird in der zweiten Position sein,
die auch Name ist, denn dies ist die
Reihenfolge, wie es albern ist. Dreh dich hier um und sieh nach, ob ich die Reihenfolge wie
Spider-Man
ändere. Und ich meinte nicht hier. Dies wird sich also ändern, wird sich ändern, weil positionell entschieden
wird , welche selten ist. Jetzt? Wenn ich
diesen Namensbaum optional machen möchte, dann will ich ihn nicht. Wenn es nicht gesendet
wird, dann ist es auch in Ordnung. So wie das. Wir müssen diese
eckige Klammer benutzen. Aber sie geben eine
Anzeige aus, weil sie geschrieben ist. Es zeigt, dass der
Parametername aufgrund seines Typs
und seines Typs String mit dem Wert
null in Kontakt kommt. In der neuesten Version hat
Dart also etwas
namens Null-Sicherheit eingeführt, was einfach bedeutet, dass
unsere Funktion,
wenn eine
Variable, Variable, einen Wert zurückgeben kann , der null sein kann. In diesem Fall müssen
Sie diesen
Datentyp in diesem Fall als nullbar deklarieren. Was kann mit diesem Fragezeichen des
Ausdrucks gemacht werden. Das heißt einfach, wenn ich diese Zeichenfolge habe und hier einfach ein Fragezeichen
einfüge, bedeutet
das, dass
dieser Wert auch eine Null
enthalten kann. Was in unserem Fall stimmt. Und wenn ich das Programm ausführe, sehen Sie sich Hulk und Spider-Man an und null, weil wir keinen Wert
überschritten haben. Hier ist dieses Konzept sehr, auch sehr wichtig,
denn wenn
Sie einen Wert
vom Benutzer verlangen, können viele der Schnickschnack optional sein. Angenommen, welche Interessen sind, welchem Alter Sie sind oder wie viel Geld Sie
für den Benutzer diese Farmen
füllen möchten oder nicht. In diesem Fall können
Sie diese
Variablen als optional haben. Und denken Sie daran, dass diese Null-Sicherheit
kürzlich eingeführt wurde. Also, wenn Sie sich ein Video ansehen
, um echtes R zu machen, was vor sechs
Monaten oder einem Jahr vorausgeht. Wagen Sie es also, dass dieses Fragezeichen
nicht eingeführt wird. Sie könnten also ein paar Fehler bekommen. Und hier unten können Sie sehen
, dass Null-Sicherheit aktiviert da es standardmäßig
in Flutter Framework ist. Also ich, das ist optionaler
Parametertyp. Jetzt habe ich, ich habe hier alles
erklärt. Als Nächstes ist nun der
benannte Parameter. Jetzt ist das wenig
interessant. Layer. Wir haben nur
Partitionsparameter verwendet, weil es sehr wenige Argumente
gibt
, die wir übergeben haben. Angenommen, wir haben
viele Parameter , dass es sehr
schwierig sein wird , sich an
ihre Petitionen zu erinnern. Das heißt, in der einen Position, sein Name an zweiter
Stelle, sein Alter, an dieser dritten
Position, seiner Stadt. Nicht immer machbar,
sich an all diese zu erinnern. In diesem Fall
verwenden wir Namensparameter, und hier werden wir geschweifte Klammern
verwenden. Wir haben gelernt, quadratische Klammern zu verwenden, aber jetzt werden wir geschweifte Klammern
verwenden. Und einfach werde ich eine neue Funktion
erstellen
, die als fett bezeichnet wird. Drittens, okay, ich schreibe int find volume. Und dann schreibe
ich in diesem Parameter einfach
geschweifte Klammern und dann int length,
int, lese und schreibe Clint und werde hier nicht drucken, ich werde einfach die
Länge in Brot zurückgeben. Und wenn ich auch Höhe will,
weil es das Volumen ist, werde
ich einen zusätzlichen
Parameter der Höhe deklarieren. Jetzt
sehen Sie vielleicht einige Bereiche. Ich erkläre es dir. Was ist das? Denn hier
wird der Parameter standardmäßig optional. Sie müssen also
Nullsicherheit in geschweiften Klammern verwenden. In Namensparametern werden
die Werte also zur
Option und das heißt, sie können null sein. Wir müssen Nullsicherheit verwenden,
was sehr einfach ist, da
einfach Fragezeichen, Fragezeichen, Fragezeichen und
Fragezeichen verwendet werden. Wenn Sie jedoch
die Quotientenmarke hier verwenden, wird auch eine
Adresse angezeigt. Weil wir keine Berechnung
durchführen können. Wir können diese
Art von Berechnungen
hier nicht durchführen , wenn der Wert null ist. In diesem Fall überprüfe ich es einfach. Versuchen wir zu prüfen,
ob die Länge nicht gleich ist, Länge gleich Null
und das Brot gleich null und gleich null ist. Dann kehre zurück. Schon wieder. Ist diese Art von Situationen, denen Sie beim Programmieren
viel begegnen werden. Für diese Lösung können
Sie also eine Sache tun. Entweder. Sie können es einfach optional machen. Aber tut mir leid, mach dir einen Namen. Aber bei erforderlichen
Keyword-Schulden muss
diese Funktion einen Wert
zurückgeben, da es sich um
ein sehr einfaches Konzept handelt. Wenn wir irgendeine Art von
mathematischer Berechnung durchführen, muss
der Wert angegeben werden. also
sicher, dass der Wert gesendet
wird. Wenn ich nun
die Funktion wie find volume aufrufe , kann
ich keinen solchen
Wert übergeben. Weil es ein Namensparameter ist. Es hat seinen eigenen Namen
, den wir hier sehen können. Die Höhe kann fünf sein, Komma fünf und die Länge kann fünf betragen. Wenn Sie es also hier bemerken, da es nicht positioniert ist, kann
ich den Wert
an jeder Position aufrufen , weil ich
zuerst Höhe angerufen habe, aber dort war es Land.
Dann rufe ich Brot an. Es war rot, aber
zuletzt war es hoch. Aber ich nenne length, weil
es ein Namensparameter ist und wir uns nicht an die
Positionen der Argumente erinnern müssen. Und ich werde einfach Volumen,
Wert, Entschuldigung,
Volumen, Rechtschreibung, Volumen drucken Wert, Entschuldigung,
Volumen, . Und wir rennen und sehen 125. Da es sich also um ein benanntes Argument handelt, können wir
es mit diesen Namen nennen. Und es ist viel
einfacher, weil es Name, Alter, Gehalt
sein kann . Wir müssen uns
an nichts erinnern. Jetzt ist es an der Zeit, das Finale zu verwenden, sie zu
kaufen, was auch immer der Standardparameter ist
. Jetzt entferne
ich im selben Fall einfach all das und schreibe
den Standardparameter. Im selben Fall. Wenn es nicht benötigt wurde, wenn es so war. In diesem Fall gewinnt der Standardwert. Wenn der Wert nicht gesendet
wird, haben wir diesen Wert. Stattdessen. Es ist, als würde die Länge eins sein. Die Höhe wird dies lesen und Brot wird vier sein. Also hier, wenn ich
vergessen soll, Land zu schicken, dann wird es auch, die Länge wird eins sein. Das heißt, lasst es uns auch schaffen. Also die Berechnung werden Sie
deutlich zwei in 51010 in 550 sehen . Siehst du, ich habe
den Parameter Land nicht gesendet, aber das war es, da es dort standardmäßig
war. Und du kannst programmieren, es wird nicht abgestürzt. Ein gutes Beispiel ist das weiße Profil. Denken Sie auch daran, dass wir
sowohl den
Positions- als auch den Namensparameter gleichzeitig verwenden können . Wie String ist der Host gleich dem Gast hier wird
der Standardparameter sein. Und ich werde einfach drucken. Der Workshop wird von Gastgeber durchgeführt. Okay? Wenn ich jetzt die Funktion
aufrufe, konzentriere dich bitte, denn der erste Parameter
ist eine Position. Also habe ich, ich kann nicht
einfach nur Arbeit sagen, einkaufen und das, Nein, es wird einem Adder
zeigen zusätzlich unterstützt Ich
muss Flattern schreiben. Und der zweite heißt. Host wird also vermuten, Google. Und jetzt lass uns das Programm ausführen. Siehe geschmeichelt wird von Google
geführt. Aber angenommen, wenn ich den Wert des
Parameters des Hosts
vergesse oder nicht
angeben möchte , wird kein Editor
angezeigt. Und es wird einfach
überflutet wird, wird von Gast geführt. Wenn Sie also ein
Beispiel für Facebook sehen, werden
Sie verstehen, dass es willkommene Gäste geben
wird, und nachdem Sie sich angemeldet haben, wird
Ihr Benutzername willkommen sein. Dies ist ein sehr einfaches Beispiel für
die Verwendung von Standardparametern. Ich hoffe also, dass Sie
dieses Konzept tief verstanden haben. Dies ist alles, was
für das Funktionskonzept benötigt wird. Im nächsten Video werden
wir also einige
weitere Konzepte von,
ups, also
Klassen und Objekt lernen . Wir sehen uns im nächsten Video.
13. Was sind Kursen und Objekte: Willkommen zurück. In dieser Sitzung werden wir über objektorientierte
Programmierung
sprechen. Dieses Konzept ist also in einer
anderen Programmiersprache verfügbar , da
geschweißt Java, PHP von 10 ist. Es beinhaltet also, wie wir unser Angebot sehen oder wie
wir unseren Code organisieren. Objekt bedeutet,
welches Objekt im wirklichen Leben vorhanden ist. Wenn Sie ein Auto sehen, unsere Schüler, unser Buch, können
Sie sehen, dass diese alle in ihren
eigenen Klassen kombiniert werden können. Mal sehen. Zuerst was ich meinte. Ich entferne alles. Und dann Klassen und Objekte. Dies ist ein Thema, das wir heute behandeln
werden. Angenommen, es gibt einen Datenzeichenfolgenname, der B-Delegierten
entspricht. Ich bin einfach von ihnen inspiriert. Dann kannst du das String College
sehen, wie der erste Weltkrieg
C eine Schnur ist, okay? Int-Markierungen. Er macht keinen Sinn, Bill Gates Noten zu
geben. Das soll es wissen. Dies sind die Daten von
wollen dicht mieten. Deshalb ist es
möglich, es einfach
so aufzuschreiben und einzubringen, einzeln
auszudrucken. Aber was ist, wenn es
viele Sprints gibt? Offensichtlich willst du einfach
sitzen und String schreiben. Name zwei ist gleich Elon Musk. So, weil es
keinen Sinn ergibt. Hier. Wenn Sie sehen, dass
diese alle unseren Namen hinzugefügt haben, können
College-Marken zu einer Klasse
namens Student
zusammengefasst werden . Und dann können wir erwähnen, dass diese Variablen
intrinsische Eigenschaften sind,
denn wenn um
objektorientierte Programmierung
handelt, werden
Variablen als Eigenschaften und Funktionen
bekannt als Methoden. Beide sind gleich, wenn es in diese Klasse
geht. Wenn sich ihr Name
geändert hat, nichts, wenn es für
mich keinen
Sinn ergibt , warum wir es so nennen. Aber du wirst es verstehen. viel musst du nicht
nachdenken. Also lasst uns anfangen. Was ist es? Klasse? Eine
Klasse ist eine Blaupause. Unsere Besonderheit
ist all seinen Objekten gemeinsam. Objekt, wir werden es in gewisser Weise
verstehen. Aber Sie könnten, Sie können nur von
der Definition aus verstehen Es sind die Funktionen, die in Alda-Daten
üblich sind. Also machen wir es einfach zu
einer separaten Klasse. Beispiel ist die Schülerklasse. Alle Schüler werden
ihren Ausweis und Namen haben. Alle Schüler führen Funktionen
wie Lernen und Spielen aus. Also können wir es zu
einer Klasse machen. Im Unterricht. Funktionen werden in der Klasse leider als Methoden bezeichnet und Variablen werden Eigenschaften
genannt. Wie ich bereits besprochen habe, dass diese einfach
austauschbar sind, aber sie heißen so. Erstellen wir jetzt eine neue
Klasse erstklassiger Studenten-ID, String-Name. Dann 30. Angenommen, drehen und einfach spielen. Brent spielt. Die Sache
ist also , dass
diese Klasse außerhalb unserer Hauptfunktion liegen muss. Und hier wird
ein Fehler angezeigt , weil wir nicht erwähnt
haben , dass diese Variable null sein
wird oder nicht. Also seit wir es nicht getan haben. einen beliebigen Wert zuweisen, wird es null Sicherheit
machen denn wenn wir ein Zeichen wie dieses
hätten, dann ist es eine andere Situation. Aber im Moment wird
kein Wert zugewiesen. Sie können also einfach sagen, ob ich diese Klasse hier
erwähnt habe ,
bis ein Objekt nicht erstellt
wurde, speichert
es keinen Speicher. Sie fragen also vielleicht, ich habe das Wort
Objekt mehrmals benutzt. Was genau bedeutet
ein Objekt? Ein Objekt ist
etwas, das wir Wert
zuweisen, unseren Zugriff, alle Variablen und
Methoden, die
in einer Klasse definiert sind, dass diese
Variablen in Funktionen definiert sind, können
Sie in unserem Beispiel sagen, dass die
Variablen ID und Name sind, und Funktion ist 30, und spiel. Also haben wir
das definiert, diese Eigenschaften, aber offensichtlich müssen
wir in unserer Anwendung etwas tun, um die
Eigenschaft zu nutzen und es zu wagen das Konzept der Objekte ins Spiel
kommt. Also hatten wir das während des Unterrichts, aber was, wenn wir eintreten wollen
, ist es zu sein, dann müssen wir eine
Instanz der Klasse machen. Probieren wir es aus. Wir werden nur einen Schüler schreiben, einer ist gleich dem Schüler
und dann Klammern,
es ist ein Anruf wie dieser. Das ist die
Objekterstellung, kann man sagen. Dann wirst du sehen, dass wir uns einfach
strecken können, um einen Punkt zu mieten. Und dann können wir
auf alles zugreifen. Zuerst weise ich
eine ID wie eine zu. Und dann ist ein
Punktname des Schülers gleich Bill Gates. Wenn ich den
Schüler einen Punktnamen drucke und wenn ich oben gedruckt habe, haben wir
das nicht zugewiesen. Mal sehen wir uns die Ausgabe an. Sehen Sie zuerst, dass es null , weil wir den Wert nicht
zugewiesen haben. Aber nachdem Sie
sehen können, ob wir wie
diesen Punkt geschrieben haben und dann
auf diese Eigenschaft zugreifen können, können wir diese
Eigenschaft des Wertes zuweisen. Und wenn Sie
auf die Funktion zugreifen möchten, können
Sie direkt Schüler 130
sagen. Sieh. Jetzt wird es lernen zeigen
und ich werde das einfach entfernen. Okay? Dies ist ein Objekt. Das heißt, das ist einer. Wenn Sie möchten, können
Sie einfach
mehrere Strings wie
diese erstellen , um sie an Objekt zu vermieten. Nochmal, Objekt. Und dann ist Student to Dot
ID gleich zwei. Jetzt denken Sie vielleicht nach
oder Sie können einfach sehen diese Wertzuweisung etwas nicht sauber
ist, können
Sie sagen, weil wir this.name tun
müssen. Wir schreiben es
immer wieder. Um dieses Ding anzugehen oder zu
lösen, lebt
das Konzept der
Konstrukteure. Also weißt du, du wirst wieder
fragen, was sind Konstruktoren? Dies ist wieder ein Konzept der
objektorientierten Programmierung. Konstruktoren sind genau wie
Funktionen innerhalb einer Klasse, die ausgeführt werden, bevor sie anderen Code in dieser Klasse ausführen. Unabhängig von der Position werde ich
erklären, wie jede andere
Methode aufgerufen werden muss. Aber selbst wenn wir den Konstruktor nicht
aufrufen, wird er
automatisch ausgeführt. Wer
denkt vielleicht darüber nach, was los ist. Was genau ist ein Konstruktor? Zuerst werde ich Ihnen einfach
beibringen, wie man einen Konstruktor
definiert. Ein Konstruktor wird
durch Schreiben des Klassennamens deklariert. Klammer, der
Klassenname ist Student, und diese Klammer
ist so. Okay? Das ist also ein Konstruktor. Und als ich erwähnte, dass es zuerst
unabhängig von seiner Positionalität ausgeführt
wird, wenn ich auf die Festplatte schreibe, die zuletzt auch jetzt
gebaut wurde, dann sonst, zuerst im Herbst,
wenn wir ein Objekt erstellen, dies wird angerufen
und Sie können diese einfach sehen und diese sparen
im Grunde Geld durch ihr Aussehen oder Sie können
kaufen, wie es geschrieben ist. Sie sind beide gleich. Und das zweite Merkmal der
afrikanischen Struktur ist, dass ein Konstruktor wie eine Funktion I
ist, wie gesagt, aber er hat
kein Bein dieses Rückgabetyps. Sie geben nichts zurück. Es kann einfach ausgeführt werden. In dieser Klasse weisen
wir meistens einen Wert zu. Und zuerst zeige ich einfach einen Konstruktor und schreibe
einfach Druck. Dies ist ein Konstruktor. Und tut mir leid für das Semikolon. Und ich werde wieder nur eine Klasse
erstellen. Und jetzt siehst du, dass der Code von oben nach unten
geschrieben wurde. Aber zuallererst wird dies von dort aus
gedruckt, nur Sie können verstehen, dass das Konstruierte Anfang an ausgeführt
wird. Sehen Sie, dass dies ein konstruierter dann Bill Gates ist und dann studiert. Das ist also der, das ist die Bedeutung
eines Konstruktors. Denken Sie daran, dass es
den gleichen Namen wie der Klassenname hat und sie geben
nichts zurück. Du, jetzt fragst du mich. Also k, ich habe
den Konstruktor verstanden, aber was nützt er? Also haben wir hauptsächlich vor den USA, wir müssen wissen, was ein
parametrisierter Konstruktor ist. Genau wie in einer normalen Funktion, wie wir Parameter senden oder
wie wir Argumente senden. Auf die gleiche Weise. Wir müssen einen Parameter
an einen Festplattenkonstruktor senden. Und dann
wird dieser Parameter zugewiesen. Das heißt, der Wert
wird
der Variablen
in dieser Klasse zugewiesen . Einfach, hier haben wir es so
zugewiesen, aber jetzt
werden wir es einfach schicken. Und dann wird es wie der
zugewiesen, schreiben
wir zuerst die
Parameter, int id und dann String Name. Okay? Und dann wird
zuerst diese Punkt-ID gleich sein Ich
nenne sie Studentenausweis. Einfach auch, nur damit
die Namen anders sind. Und das wird der Name des Schülers sein. Dieser Punktname
entspricht 210 Namen. Jetzt, da wir es jetzt haben, ist
es zwingend erforderlich, dies auf Wert zu
senden. Der erste wird sein, ich denke zuerst ist ID
und zweitens ist Name. Jetzt muss
ich hier nicht erwähnen. Und wenn ich wieder renne, siehst du dasselbe. Denn wenn du nachsehen willst, schicke
ich eine 100. Und dann lasst uns den Ausweis überprüfen. Also ID, also kann diese Schülerklasse
jetzt einen Wert zuweisen. Dieses Konzept
wird viel
Zeit beim Erstellen einer gelben
Anwendung mit Flattern genutzt. Nächstes Beispiel
können Sie einfach sehen, ob var student es jetzt so einfach ist, Objekte zu erstellen, auf dann 99 geschrieben
wurde. Und dann Mark Sucker Berg. Und dann werde ich nur
Schüler zum Punktnamen sagen. Sie werden nur sehen, sehen Sie, dies ist zweimal gebaut. Es heißt, weil
wir zwei Objekte erstellen. Das ist der Hauptgrund. Ich hoffe also, dass Sie das Konzept von
Klassen, Objekten
und Konstruierten
verstanden haben . Du musst
das nur viel mehr verstehen V. Wir werden sehen wo es benutzt wird, wenn wir in der Flatter-Session
sind. Das ist also alles für heute. Danke.
14. Generic und Inheritance: Jetzt werden wir
über das nächste Thema diskutieren, dem unsere generischen
Typensammlungen in
dem unsere generischen
Typensammlungen standardmäßig
heterogen sind. Das bedeutet, dass Sammlungen
wie Listenzuordnung mehrere Werte
verschiedener Typen
enthalten können . Nur zum Beispiel. Auch hier möchte ich all dies
entfernen, damit wir dieses Konzept verstehen können. Generischer Typ. Was normalerweise passiert,
ist, wenn wir eine Liste von haben, können
Sie Benutzer sagen, dann kann diese Liste die
erste Zeichenfolge haben , also mark. Dann
können zweite Daten im Lehrer enthalten sein. Und dritte Daten können boolean sein. Man kann „wahr“ sagen. Okay? Was passiert
ist, ist, mehrere
Datentypen in die Schuldenliste eingeben,
was in dass wir mehrere
Datentypen in die Schuldenliste eingeben,
was in Ordnung ist, wenn dies für diese bestimmte Funktion erforderlich
ist , können
Sie eine bestimmte Aufgabe sagen. Das Konzept der Genetik
kann verwendet werden, um eine strikte Strenge
der Datentypen zu erreichen. Das heißt, wenn wir erwähnt haben,
dass dieser Benutzer die Liste aufheben wird ,
enthält die
Benutzerliste nur Zeichenfolgen , dann
wird sichergestellt, dass kein Fehler auftritt. Wichtig, wir erstellen diese Anwendung, weil
wir nicht möchten, dass der Benutzer, die Person, die
unsere Anwendung verwendet , einfach alles, was er
stirbt, in unsere Variablen
einfügt , weil
es einen Fehler anzeigt, wenn jeder versucht, in dieser Einstellung
einen anderen Wert zuzuweisen. Und ein generischer Typ wird
einfach mit weniger
als, größer als deklariert . Das ist hier. List, dann String. Dies bedeutet, dass diese Liste
nur eine Zeichenfolge enthält. Jetzt muss ich schreiben. Und dann Jeff, sehen Sie, jetzt ist der Fehler weg, weil wir tun, was in unserem Programm
erwähnt wird. In ähnlicher Weise können wir, wenn
wir wollen, einfach weniger Tinte verwenden. Marks ist gleich 33, 44, 55. Wenn ich versucht habe, eine Zeichenfolge zu antennen, wird ein Fehler angezeigt, da die Elementtypzeichenfolge wir
diesem Listentyp Integer zuweisen
können ? Es ist also oft sehr praktisch
. Und wir haben auch die Liste besprochen, aber was ist, wenn es eine Karte gibt? Weil Map wie
String-Name ist, dann ein Wert. Angenommen wer ist noch übrig? Ich war genau wie Tom. Und dann lassen wir 22 Wochenende erkennbar sein,
wenn es normal , dass wir keinen Typ
erwähnt haben. Aber wenn Sie es einschränken möchten, dann können wir einfach schreiben dass
String die meiste Zeit offensichtlich
der Schlüssel ist. Und dann wird ein Wert, Wert nur String sein. In diesem Fall zeigt dieser
20-Baum einen Addierer. Wir müssen eine Schnur geben. Angenommen
Alter, erwachsene Legis. Ich gebe nur ein Beispiel. Auf die gleiche Weise haben wir Enlist und Map
verwendet. Genetik kann für
alles wie
Glasfunktionsobjekte verwendet werden . Du könntest mich fragen, wie
funktioniert das ist. Wenn es eine Funktion gibt, bekomme
ich gerade
kein Beispiel. Angenommen, wenn es eine Funktionszeichenfolge
gibt. List, Funktionsname
wird was auch immer sein. Gib, füge die Daten hinzu. Dann ist es, es ist der
Rückgabetyp, der eine Liste zahlt. Aber was ist, wenn wir hier gerade die
Liste der ganzen Zahlen erwähnt haben? Diese Rückgabe sollte also nur ganze Zahlen wie diese
enthalten. Während der Veranstaltungsort den echten
flutternden Code der flachen Replikation sehen wird, werden
Sie diesen generischen
Typ viel Zeit sehen. Unser nächstes Konzept
geht es um Barrierefreiheit, was einfach bedeutet, dass Sie normalerweise ,
wenn Sie aus
einer anderen Programmiersprache kommen, das Konzept
von öffentlich und privat kennen müssen. Eigenschaften sind Variablen
oder welche Funktion auch immer. Standardmäßig sind alle Variablen
und Funktionen öffentlich und wöchentlich für das Objekt
zugänglich, vorausgesetzt, es gibt eine Klasse. Student. Der Studienkurs
sollte so sein. Auf diese int id 2
kann also sein Objekt zugegriffen werden, wie die Ein-Punkt-ID des Schülers. Aber wenn wir es zu
einem privaten Schuldenmittel für
die unbeleuchtete Innerhalb dieser Klasse machen wollen, wird auf die unbeleuchtete Innerhalb dieser Klasse machen wollen, diese Daten nicht außerhalb
zugegriffen. also,
wenn Sie dies hier
sehen können, ist
es das Problem, dass wenn Sie dies hier
sehen können, ist
es das Problem, Sie normalerweise sagen können, Sie normalerweise sagen können dies das Problem des Punktpads ist, aber versuchen wir es zu drucken, weil in VS Code hier wenn
Sie diese ID sehen können. Aber wenn wir eine
echte Programmiersprache verwenden, können
Sie sehen, wann wir in VS Code
arbeiten,
dies wird nicht passieren, denn wenn wir
eine Immobilie in unserer Klasse,
Privateigentum, erstellen eine Immobilie in unserer Klasse,
Privateigentum, , wird dies nicht der Fall
sein Zugriff durch seine Objekte. Mein TED ist also einfach nur
Unterstrich vor
dem Variablennamen zu verwenden . So machen wir es privat. Und du denkst vielleicht, nein, es funktioniert hier nicht, aber das stimmt nicht. Dies ist in einer
Ausgabe von Trackpad, das gelöst wird, wenn
wir einen Texteditor verwenden. Aber im Moment sollte der
einzige Fokus darauf liegen
, das Konzept zu verstehen. Also ja, wir haben
diesen Teil gemacht , der die Barrierefreiheit
steuert, was einfach bedeutet, wie man eine variable R-Funktion innerhalb der Klasse
privat macht. Dann ist das nächste Konzept, das wir
verstehen werden , was ist Vererbung? Dies ist ein weiteres Konzept der
objektorientierten Programmierung. Angenommen, wir haben zwei Klassen. Du kannst diese Rutsche gerade sehen. Es gibt zwei
Klassen, Hund und Katze. Innerhalb der beiden Brillendaten sind
einige Eigenschaften einige
Methoden, die üblich sind. Wir können sagen, zuerst ist Farbe
und die zweite ist Essen. Wenn es also nur ein oder
zwei Pluspunkte gibt, dann ist es AKI. Aber was passiert, wenn wir mehrere Klassen
haben? Und diese Klassen haben auch die Funktion, die auch Katze und Hund
ist. Okay? Aber was
ist, wenn es einen Beinvogel gibt? Dann werden diese auch eine
Färbung in der Eat-Funktion haben. In diesem Fall können
wir einfach eine machen, wir können einfach eine andere
Klasse erstellen, die
die Elternklasse sein wird. Du kannst einfach schicken. Diese Klasse kann
erweitert werden oder
von ihren niedrigeren Klassen kopiert werden. So können Sie einfach die Woche sehen, wir werden eine
separate Klasse
machen und diese gemeinsamen
Merkmale angeben. Lass es uns machen und versuchen es. Ja, oder? In schwerem,
dichtem Konzept. Zuallererst schreibe ich
die Elternklasse wie Tier. Und dann wird es
String, Farbe und Leere haben. Leere. Es bedeutet, dass dies eine Funktion
ist. Mal sehen, ich
habe eine Klasse von Col, Namensschild und es wird
eine Eigenschaft von String Breed haben. Und zweitens wird es breit nach Eigentum
haben. Lass es uns null machen. Was passiert jetzt, wenn ich ein Objekt von Hund
erstelle? Hund ist gleich dem Hund wie diesem. Und wenn ich dann versuche, auf
den Dog Dot zuzugreifen, wird
es nur
Rasse und Park zeigen. Aber was ist, wenn wir diese Farbe auch
wollen? In diesem Fall kommt das Konzept
der Vererbung. Jetzt müssen wir einfach nur noch
Klasse erweitert Tier. Okay? Dieses extens-Schlüsselwort wird verwendet
, wenn wir erben. Wenn ich jetzt Doc Dot c v schreibe, kannst
du
auch Farbe sehen und auch essen. Und wenn Sie möchten, können
wir
die IT-Funktion
wie Print-Eating direkt aufrufen . Und jetzt R1, C, Du kannst essen sehen. Also hier heißt
der Hund die Kinderklasse, und dieses Tier wird Elternklasse
genannt. Und diese Klasse erbt
von dieser Tierklasse erbt Münzstätten, diese
Eigenschaften und Methoden. Es kann auch innerhalb
dieser Klasse verwendet werden. Also ist es gut. Und diese Verlängerung
wird in Flutter verwendet. Ich habe nicht so viel benutzt,
weil in Florida alles bereits erweitert wird. Intern. Wir müssen nur das Keyword
schreiben und das war's. Wir, es ist sehr selten
, dass wir
unsere eigenen Klassen erstellen und erben werden. Es hängt nur von
Ihrer Verwendung ab. Das heißt. Ich hoffe also, Sie haben
das Konzept der Vererbung verstanden und dann, wie Sie eine Variable wie Lex einfach
diesen Unterstrich
privat machen können. Und dieser generische Typ. Generischer Typ wird hauptsächlich
mit Liste, Zuordnung und Bearbeitung verwendet. Also Schulden für
den objektorientierten
Teil der dunklen Sprache.
15. Exception mit dem Einsatz von Try: In dieser Sitzung werden wir über die Behandlung von
Ausnahmen
sprechen. Wenn Sie also bereit sind,
eine Bewerbung zu haben, wird es
definitiv Zeiten geben in denen Sie
auf einige Fehler stoßen. Sind diese Fehler in der Programmiersprache, heißt
es Exception. Sie können also einfach
die Definition hier sehen. Wenn ein Programm
abrupt endet oder einen Fehler aufweist, wird
diese Situation als Ausnahme
bezeichnet. Also weiß definitiv jeder
, dass es einen Fehler geben wird, daher ist es besser, ihn
entsprechend zu behandeln , damit unsere
Anwendung nicht abstürzt. Nun, was ist dieser
Versuch Catch Block? Also nur mit dem Namen kannst
du es verstehen. Versuchen wir zuerst
diesen Codeblock. Und wenn etwas hinzugefügt wird, fangen
Sie den Fehler ab und
machen Sie etwas damit. Das ist also die Bedeutung
dieser Aussage. Okay, jetzt, versuchen wir es in unserem
dunklen Pad, denn offensichtlich ist
es gut, wenn wir das tun. Jetzt. Und es hat eine neue
Variable des Jahres 2021. Und dann ist int 0 gleich 0. Ich hoffe also, dass Sie wissen, dass
Zahlen nicht durch 0 dividiert werden können. Wenn wir also nur sagen, dass int
result gleich
IR dividiert durch 0 ist , dann wird es derzeit Unendlichkeit
zeigen, aber ich werde es tun. Okay? Sehen Sie sich nun an, dass unser
Doppeltyp einer Variablen vom Typ int zugewiesen werden kann. Denn wenn wir so
teilen, wird
dieses Ergebnis
in einem Dezimalpunkt kommen. Um dies zu vermeiden, verwenden
wir dieses Symbol. Was macht es? Es erhält einfach den ersten Wert und Sie entfernen den
Dezimalteil. Wenn ich es nun in der Konsole ausführe, erhalten
Sie diesen Fehler hier und unterstützen den ungefangenen Fehler, den
nicht unterstützten Betrieb. Sie können also sehen dass hier
bereits erwähnt wurde, dass es sich um eine ungeschnittene Bearbeitung handelt. dies zu lösen, werden
wir diesen Versuch verwenden, Catch Block
zu versuchen. Und es steht so geschrieben. Erster Versuch und Catch
ist eine Funktion. Und dieses E, wir werden sie fangen. Oder Sie können sagen, dass dies in dieser Variablen e
gespeichert wird, damit wir verwenden und vorhersagen können. Versuchen wir es jetzt und bringen Sie hierher. Okay? Und wir werden genau richtig sein. Jetzt schreibe ich zuerst
behandelte Ausnahme, dann E, das ist auch immer
die Ausnahme, die es gibt. Ein Licht hatte also rote Farbe. Jetzt sehen Sie, es ist ein normaler Drucker, druckt, keine Ausnahme. Es ist wie behandelte Ausnahme und dann nicht unterstützter Betrieb. Das ist also der Weg, wie würde ich Code nehmen? So wie Sie beispielsweise in diesem Try-Catch
gibt es einen Datenbankaufruf. Und offensichtlich wird es
Zeiten geben , in denen angenommen wird, dass der
Server etwas Sache hat, das Internet funktioniert nicht. In diesem Fall werden wir den Adder
abfangen und
zeigen, dass eine Art
Dialog für
den Benutzer in Bezug auf dasselbe aufmerksam ist,
anstatt dass unsere
Anwendung
abstürzt, abstürzt, und dies wird sehr sein schlechte Erfahrung
für den Benutzer. Sie können also auf der Folie sehen, dass wir so
mit einer Ausnahme umgehen. Ein anderes Beispiel für eine Ausnahme
kann sein, eine Liste zu haben. Nehmen wir an,
wir haben eine Liste von Markierungen und sie wird 30
Winkel enthalten, okay? Es wird drei Tal enthalten. Der Index beginnt also
bei 0 und endet mit 12. Was wird also passieren? Wenn wir versucht haben, Markierungsbaum zu drucken
, der nicht in der Liste enthalten ist. Es
sollte also definitiv einen Fehler anzeigen, aber der Fehler wird behandelt. Und C, Bereichsfehler, Index außerhalb des Bereichs. Der Index sollte weniger als drei betragen. Und wenn ich zwei schreibe, dann wird es einfach
Summe D7 und diesen Catch-Block drucken, offensichtlich da
es keinen Fehler gibt, Dieses Telefon wird ausgeführt. Ich hoffe also, dass Sie
das Konzept der
Ausnahmebehandlung mit
try-catch verstanden haben das Konzept der
Ausnahmebehandlung mit , wenn Sie an einer
dritten Anwendung arbeiten. Dieser Versuch und Catch-Block
wird intensiv verwendet da wir
sicherstellen, dass kein Fehler oder kein Fehler nicht vorhanden ist. Es sollte
keine Situation
auftreten, in der der Benutzer sich ärgern und unsere Anwendung
deinstallieren
sollte. Denn, okay, mehr davon werden
wir in der
überfluteten Rubrik erfahren. Das war's.
16. Statische Static und Methoden: In dieser Sitzung werden
wir also verstehen was statische Variablen
und statische Methoden bedeutet. Wenn Sie also von
dieser Statik und Dingen gehört haben, dann ist es wieder das Konzept der
objektorientierten Programmierung. Und lasst uns eine
Klasse von Schülern haben. Jetzt spreche ich von
statischen Eigenschaften. Denken Sie also auch an die
Instanzvariablen. Also Wasserinstanzvariable, Wenn wir erwähnt haben wie
int Marx ist gleich 0. Dies ist eine Instanzvariable. Okay? Und einfach, wenn ich eine statische Variable
deklarieren möchte, schreibe
ich einfach dieses Schlüsselwort. Und was soll ich dann schreiben? Der Benutzer hat Markierungen. Ich schreibe einfach die Punktzahl. Ja, nur zum Beispiel. Dies ist diese Tick-Variable. Diese statische Variable, die nur das
Schlüsselwort statisch süßt, wird zu einer statischen Variablen. Also denkst du vielleicht,
was ist der Unterschied? Wir werden einfach in einer Weile
dazu kommen. Lassen Sie uns nun eine Funktion haben
, die auch Methode ist. Breit. In Griechenland, Marx,
sollte ich nur Semikolon
plus plus plus sagen und sagen: Ich werde nur ungültig sagen, Punktzahl
erhöhen und
richtig, plus punkten. Das ist unsere Instanzvariable. Ich werde das alles einfach entfernen. Jetzt. Um auf eine
Instanzvariable zugreifen zu
können, müssen wir ein Objekt erstellen. haben wir also schon vorher
gemacht. Krieg. Der String-Name ist gleich, dies ist ein Objekt. Und danach, wenn ich
Druck schreibe und Markierungen drucken möchte, werde ich einfach
nur Ein-Punktmarkierungen ausfüllen. Und dieser Anruf, ich werde es
nur von zehn machen und ich werde einfach plus 10 sagen, dass es nur weniger als 10
erhöht wird, damit wir nicht verwirrt werden. Jetzt. Okay, wenn ich jetzt renne, wird
es 0 drucken. Was, was, was ist, wenn ich die Partitur ausdrucken
möchte? Dann versuchen wir es mit object. Wir haben den Schüler einen Punkt c erstellt. Wenn ich einen Punkt schreibe
, ist die Punktzahl nicht zugänglich. Ist nicht zugänglich, weil
es einen ästhetischen Wert hat. Statische Eigenschaft. Um darauf zugreifen zu können, müssen wir es
direkt vom
Klassennamen aus tun, der Schüler ist, ist dieser Klassenname
dann Punkt Dense Core C. Das ist also ein anderer Ansatz
oder ein anderes Konzept. Sie müssen sich daran erinnern, dass
wir zuerst
ein Objekt erstellen
müssen, wenn wir auf die
Instanzvariable zugreifen möchten . Wenn wir jedoch eine
statische Variable
haben, müssen wir kein Objekt für
diese Klasse direkt
erstellen. Wir können auf den Wert zugreifen. Okay? Wenn du es bis jetzt verstanden hast. Jetzt möchte ich
tun, was ich möchte um auf einen
Punkt in Griechenland zugreifen zu können, Marx. Und ich werde die Erhöhung des Schülers um
einen Punkt lesen. Es ist also, dass Turin falsch buchstabiert. Schüler um einen Punkt erhöhen den Kern. Okay? Und dann werde
ich hier einfach
unsere Werte einbringen. Aber ich hoffe, du weißt, wie die Antwort sein
wird. Es wird dann tatsächlich 12 sein, hier
unten, 120. Okay? Jetzt lasst uns eine Sache machen. Wir werden ein anderes Objekt erstellen. Var Student zwei ist gleich. Student, Okay, wir
haben ein neues Objekt. Wenn ich dann
Druckschüler auf Punktmarken schreibe . Und um es dann zu tun, werde
ich die Punktzahl erhöhen. Okay, das ist die
statische Variable, aber ich mache es mit
dem zweiten Objekt. In Ihrem Kopf könnten
Sie denken,
wenn ich jetzt wieder drucke, wenn ich wieder drucke, das einen Phi darstellt, jetzt stehen wir auf statische Sache. Dann schießt es nur,
dass dieser Punktestand 10 ist. Und dann wieder in der Tat, weil es ein neues
Objekt ist, lasst uns laufen. Aber du wirst
den Unterschied hier sehen. Sehen Sie, dass dies der Schüler
ist, dass Marx 0 ist. Aber dieser
Punktestand für Schüler ist Fortsetzung. Das heißt, vom ersten Objekt haben wir einige Änderungen von der
zweiten Objektwelt vorgenommen, ebenso wie eine
statische Tenuto-Variable. Aber das ganze debuggte Jahr
wird verschiedene Objekte sein, aber der Wert wird gesehen. Im Falle einer
Instanzvariablen beginnt
sie jedoch wieder bei 0. Das ist also der Hauptunterschied zwischen der statischen
Instanzvariablen. Schulden sind
Instanzvariable wird
mehrfach aufgerufen oder initiiert, aber der statische Wert
wird auf eins initialisiert. Nachdem die gleichen Daten aus dem Speicher abgerufen wurden, wird
zumindest der Speicher
effizient gespeichert, da wir
die meiste Zeit
einige Daten sammeln , die in dieser Klasse nicht
geändert werden. Angenommen, es gibt einen Studenten, dann wird sich der College-Name
nicht ändern, nehmen wir an, es gibt
eine Bankklassenbank. Dieser Name der Bank etwas, das
einzigartig ist und sich nicht ändern wird. Was wir also tun, möchten wir
vielleicht nicht
die Erinnerung nutzen ,
es immer wieder zu erstellen. In diesem Fall verwenden wir
das Schlüsselwort static. Ich hoffe, Sie haben verstanden , dass es nur der
Unterschied ist, dass eine Instanzvariable
mehr Speicher verbraucht ,
weil
EBIT jedes Objekt von 0 initialisiert wird
, also von Anfang an. Aber die Statik, die wir
einfach groß werden, ging weiter. Derselbe Wert
wird fortgesetzt. Jetzt haben Sie
statische Eigenschaften verstanden , dass diese Ts. Jetzt ist es Zeit, dass du statisch
verstehst. Nun, wie es die Methode
heißt, schreibe
einfach
das statische Schlüsselwort vor eine Methode. Das war's. Aber wenn Sie es statisch machen, ist es
definitiv nicht über das Objekt
zugänglich. Also werde ich nicht vorschlagen, dies
zu ändern, aber ich werde nur statisch,
nichtig, string,
College-Rückkehr haben nichtig, string, . Okay. Um darauf zugreifen zu können, müssen wir einfach das
Print Student College so lesen . Denken Sie also daran, dass dies kein Objekt
ist. Wir greifen direkt über seinen Klassennamen
darauf zu. Objekt ist das. Und das. Diese beiden sind Objekte, die
nur direkt auf
die Instanzvariable
oder die Instanz zugreifen können nur direkt auf
die Instanzvariable
oder die Instanz zugreifen . Meine Kinder. Ich schreibe es
einfach hier. Es ist eine Instanzmethode. Dies ist eine Instanz meine Zeit, aber das ist eine statische Methode. Dies war also die Logik hinter Dezimalstatik
- und Instanzschlüsseln. Ich hoffe, du hast es bis jetzt verstanden
und genossen. Jetzt sind wir gerade dabei, unseren Kurs
zu beenden. Und danach werden wir direkt
tief in Flutter eintauchen.
17. Ternary und Null Sicherheit: Schließlich sind nur noch
wenige Konzepte übrig, sind schwer sie. Das erste Konzept wird
als ternäre Operatoren bezeichnet. Also schreibe ich einfach einen
ternären Operator. Sie könnten also fragen, was ist ein ternärer Operator? Es ist nichts anderes als auszuweichen
, wenn sonst Aussage zu schreiben. Sie wissen also einfach, wie man
schreibt, unterscheidet sich dies wenn. Und dann hier so
einfach so. Angenommen, ich habe einen Wert
int age ist gleich 25. Bis hier. Ich
schreibe einfach, wenn das Alter 18 ist, Druck erlaubt, vermute. Und wenn nicht,
drucken Sie nicht erlaubt. Okay? Das ist also unsere normale Aussage, wenn Sie
sonst fragen
könnten, was
ist eine Tornado-Rückkehr? Ternäre Operatoren sind es also
gewohnt, den Code, den wir schreiben,
einfach zu
verteilen oder nur sicherzustellen, dass er sehr sauber ist. Wenn wir es schreiben. Tut es nicht, es ist nicht so, dass es nicht zu viel Platz
braucht. Es ist genau das richtige Alter. Mehr als 18. Wenn es stimmt, dann drucke. Ja. Sonst drucken. Nein. Siehst du, das ist der
ternäre Operator. L ist hier wieder Franzose, das, und dann läuft dieses
Gender Program. Und sehen Sie, dass wir die Ausgabe haben, ja. Ternärer Operator ist also eine Möglichkeit, die
if-else-Anweisung zu schreiben. Und ja, du
wirst es viel
Zeit benutzen , weil du den Unterschied
einfach erkennen kannst. Stellen Sie sich eigene Augen vor. Das ist nur eine Codezeile. Früher haben wir zwei Wurzeln, so viele Code, um
dasselbe zu tun. Also nur geschrieben wie die
Bedingung dann die Quotientenkarte. Das heißt, wenn die
Bedingung wahr ist, was wir
dann tun müssen, und mit dieser Spalte bedeutet
es, wenn diese
Bedingung nicht wahr ist, was wir
tun müssen, einfach ist das. Jetzt ist dieser ternäre
Operator vorbei, das Konzept ist vorbei. Danach. Unser endgültiges und wichtiges
Konzept ist die Nullsicherheit. Früher haben Sie auch
diese Nullsicherheit verwendet ,
wenn Sie sich erinnern, war
es die Quotientenmarke
in diesem beiden Typ,
was bedeutet, dass Sie auch null
enthalten können. Diese Nullsicherheit wurde erst kürzlich
eingeführt. Wenn Sie also zurückgehen, vor
sechs Monaten oder Anfang
Ende 2020, können
Sie sagen, dass Sie nichts hören
werden oder
Sie diese Notizen nicht verwenden,
da sie sich nicht
im Produktionsmodus befand. Es geschah am März 2021. Das Konzept der Nullsicherheit
wurde offiziell eingeführt. Wenn wir eine Variable deklarieren, kann
sie einen Wert enthalten oder standardmäßig Null belassen
werden. Dies kann zu Fehlern führen
, wenn wir dabei sind. Aus diesem Grund wurde das Konzept der
Nullsicherheit eingeführt. Wenn wir nun
eine Variable deklarieren, wird
davon ausgegangen, dass
sie nicht
null ist, es sei denn, wir erklären die
Verwendung eines bestimmten Schlüsselworts, das wir später besprechen werden. Jetzt war die Sicherheit
bereits aktiviert. Siehst du hier, Downs. Es wurde hier bereits aktiviert. Und im Flattern ist
es standardmäßig aktiviert, also haben Sie keine andere
Wahl zu entfernen. Was wurde hier in
das
Null-Sicherheitskonzept mit
einigen neuen Keywords oder Operatoren eingeführt hier in
das
Null-Sicherheitskonzept mit . Erstens ist dieses Fragezeichen, das wir zuvor benutzt haben. Wir verwenden es, um zu bezeichnen, dass die
Variable fortgesetzt werden kann. Der reale Wert kann auch null sein. In diesem Fall wissen
wir bereits, dass der Wert
null sein kann , und wir werden
damit entsprechend umgehen. Es wird keinen Spielraum für eine unbekannte Ausnahme geben,
edit integrand tank. Da ich als Lake führe, gab es eine Variable,
angenommen, eine Zeichenfolge, die eine Benutzer-ID enthalten
wird. Und wenn das null ist, wird es ein großes
Problem sein , da wir
ohne
die Benutzer-ID keine Informationen aus
unserer Datenbank
abrufen können keine Informationen aus
unserer Datenbank
abrufen . Schreiben wir es auf. Lass uns schreiben, ob dieser String-Freund Elon Musk gleich
ist, okay? Dann
zeigt es keinen Fehler an. Aber was passiert, wenn wir
schreiben, wenn String null ist? Dies zeigt jetzt einen Fehler an , da wir
einem String keinen Wert zuweisen können. Aber wenn wir wissen, dass
dieser Wert null sein kann, müssen wir diesen Operator
verwenden. Jetzt gibt es kein Problem. Ich dann wird diese
Freundesvariable null sein. Diese Freundesvariable
enthält eine solche Zeichenfolge. Dies ist also die Verwendung des Schlüsselworts „
Quotient Mark“. Lass es uns machen. Lass uns noch etwas machen. Angenommen, wir haben einen Funktionssatz-Freund. Es wird einen
Namen enthalten und wird es nicht, es wird einen Namen akzeptieren. Und wir sagen einfach
name dot TupperCase. Und wir werden
diese Funktion hier aufrufen . Lasst uns rennen. Ich hab's gerade geschafft. Jetzt lasst uns rennen. Offensichtlich. Diese Funktion war nicht, wurde unten geschrieben, also zeigte sie
einen Adder. Was passiert, wenn wir
versuchen, einen Nullwert zu senden? In diesem Fall? Jetzt wird ein Fehler angezeigt, da null
nicht an eine Zeichenfolge gesendet werden kann. Aber wenn wir es null Sicherheit machen, wird
dieser Bereich verschwunden sein, aber der Fehler wird hier sein,
denn wenn er null ist, wie diese Funktion ausgeführt
wird. Weil wir sehen, dass die Num-Namensvariable null sein
wird. Aber auch hier wird es hinzugefügt, da wir
eine Art Funktion haben. Um das anzugehen. Wir müssen hier nachsehen. Wenn der Name gleich null ist
, gebe ich hier nur
die Funktion zurück und führe unten
nicht aus. Dies ist also eine richtige Methode, um zu überprüfen, ob der Wert null
ist oder nicht. Dieses Konzept ist also
sehr wichtig. Und es gibt ein anderes
Keyword, das überprüft werden muss. Wenn ein Wert null ist, ist R null, nämlich dieses Schlüsselwort, Quotientenmarke und Punkt
, den wir verwenden werden. Jetzt mal sehen. Siehe null. Es wird also überprüft, ob
dieser Name null ist oder nicht. Wenn es null ist, dann
sprint einfach Null heraus,
wenn es ein Name ist, der Bill Gates
ist, was wird
dann passieren? Es wird die Funktion ausführen. Dies ist ein besserer Weg, um
einfach die Null zu überprüfen. Null. Was Sie sagen, wenn eine
Variable null ist oder nicht. Danach ist das nächste
Schlüsselwort erforderlich. Dies
ist eine Änderung, die in diesem Code vorgenommen
wird. Wenn Sie sich erinnern wie, was, wo, Name, Argumente. Es wird einfach
so und sagen Sie einfach Zeichenfolgennamen und drucken Sie Ihren Namen aus. Es wird ein Fehler angezeigt, da der Name
Wert sein kann und null sein kann. Entweder müssen wir dieses Fragezeichen
verwenden. Um das zu lösen. Haben wir einfach das
erforderliche Keyword hier schreiben? Ja, dieses Schlüsselwort, was einfach bedeutet, dass wir einen Wert senden
müssen. Wir können
es nicht einfach an diese Funktion senden. Schulden ist also das vom Benutzer
erforderliche Schlüsselwort meistens in dieser Zeit schwören, dass
die Werte optional sein können. Das ist im Namensparameter r.
Wenn Sie nicht schreiben möchten, möchten
sie nicht require schreiben,
dann
ist die andere Sache nur, einen Standardwert anzugeben , der als Gast vermeintlich
ist, wie diesen und es wird sein gleich. Dies ist also ein Standardwert. Wenn der String-Name
null enthält, werde
ich einfach
meinen Namen testen und hier senden. Entschuldigung, es sollte
wenigstens String sein. Wenn ich nichts schicke, wird es Name sein. Weil ich nicht
sage, dass es
null sein wird , können wir es optional machen. Und wenn ich P Learn Mask schreibe, was passiert
dann? Da es sich um ein Namensargument
handelt, sollte es so sein. C-Wert, den wir programmieren. Wir müssen nur
sicherstellen, dass wir all diese Fehler nicht machen. Sie müssen sich an
den Unterschied
zwischen einer Namensvariablen, einem
Namensparameter und einem
Positionsparameter erinnern zwischen einer Namensvariablen, . Ich hoffe also, dass Sie ein wenig
über Sicherheitssache
verstanden haben , weil dieses Konzept
sehr wichtig ist. Danach dann nächstes Schlüsselwort, das ist dieser
Ausruf, um
dem Compiler mitzuteilen , dass wir sehr
sicher sind , dass Sie nicht null sein werden. Wir sind zuversichtlich, dass die Variable immer einen Wert haben
wird. Dann werden nur wir dieses Keyword
verwenden. Probieren wir es selbst aus. Nehmen wir an,
wir haben dieses Ding. Neuer Name, Variable
, die null sein kann. Wir haben genau hier. Und was passiert, wenn ich diese Zeichenfolge an sie
sende, meine Namenfunktion, die auch einen Namensparameter
akzeptiert
, der eine Zeichenfolge ist. Wenn ich nur einen neuen Namen schreibe,
wird hier ein Fehler angezeigt, da wir eine Zeichenfolge
senden, die eine
nullable Zeichenfolge ist, an eine Zeichenfolge. Aber was passiert, wenn wir hier
nur einen Ausruf halten? Was bedeutet, dass wir uns sehr sicher sind
, dass dies einen Wert hat. Um sicherzustellen, dass wir etwas
haben, sind
sie sich sehr sicher, dass
Sie in Zukunft nicht null sein werden. Außerdem verwenden wir diesen Ausruf. Aber denken Sie daran, dass dieser Ausruf eine sehr schwierige Sache
ist. Denn wenn wir mit unserem Ding
falsch liegen, bedeutet
Rentenschulden,
wenn Sie sagen dass der Wert nicht null ist, und wenn der Wert null ist, dann werden wir diese Art von Fehlern in unserem Anwendung,
was nicht gut ist. Sie denken also vielleicht, dass
es zu viel zu verdauen ist, aber nur einige Patienten haben,
weil definitiv. Wenn wir uns im
Flatterkurs befinden, werden
wir all diese
Konzepte sehr klar verstehen. Wir haben also
Schlüsselwörter wie Fragezeichen,
Ausrufezeichen und dann das
erforderliche Schlüsselwort verstanden . Jetzt ist die letzte Änderung
das späte Keyword. Es ist sehr einfach. Dieses Schlüsselwort wird verwendet, wenn
wir sicher sind, dass wir den Wert
dieser Variablen später
initialisieren werden . bedeutet, egal was passiert, wenn das Objekt dieser
Klasse Spin erstellt wird, werden
wir unser v initialisieren und sicherstellen, dass die
Variable nicht null ist. Denken Sie also daran, wenn
Sie sie an
einen Absender vergessen lassen , der für eine
Zeichenfolge oder eine Variable gültig
ist, wird ein Fehler angezeigt. Wenn Sie also eine
Klasse von Schülern haben, können
wir einfach spät int id schreiben, wie diese, spät,
tut mir leid String Name. Und das bedeutet, dass diese
ID ausgedruckt wird. Saudi wird nicht
null bleiben, egal was passiert. Wenn wir also print id Funktion haben, richtig, Aber int id. Also dann ist es in Ordnung. Es wird keine Ära anzeigen, aber wenn wir den
späten Button entfernen, sehen Sie, dann ist es ein Fehler, weil es zuerst
zeigt, bitte haben Sie hier einen Wert
wie do tree, wie diesen. Aber mit dem Schlüsselwort let können
wir diesen
Editor entfernen und einfach
dem Compiler sagen , der nicht so viel Stress
aufnimmt. Wir wissen, dass diese Variable
wichtig ist, und wir werden
sicherstellen , dass sie am
Ende der Objekterstellung einen Wert hat. Das war's also. Dies war das Konzept
der Nullsicherheit. Und so war dies das letzte Thema des
Dark Courses als Schweiß. Wenn ich das Gefühl habe, dass
ich in Zukunft etwas hinzufügen muss, werde
ich es definitiv hinzufügen. Aber im Moment können wir direkt in
den Flatterkurs gehen. Danke.