‫Oké, dus nu je weet hoe je een race moet gebruiken en hoe je je moet kleden voor elke troepenmacht, laten we die
‫combineren. Laten we de concepten combineren in één video en één voorbeeld.
‫Maar laten we ook eens kijken naar geneste forums.
‫In deze video gaan we deze verschillende functies bespreken en dan zullen we zien wanneer we een geneste for-lus
‫moeten gebruiken en wat de voordelen zijn van een geneste for-lus ten opzichte van een voor elke lus als het
‫gaat om bijvoorbeeld multidimensionale reeksen.
‫Oké, laten we beginnen.
‫Het eerste dat ik hier heb is, zoals je kunt zien, ik heb deze
‫matrix, een tweedimensionale array, die drie items heeft voor elke dimensie.
‫Oké, dus drie rijen en drie kolommen, om zo te zeggen.
‫Dus ik ga de voor elke lus gebruiken door hier de voor elk trefwoord te gebruiken.
‫Deze en DTAP.
‫En dit stelt me dan in staat om in principe heel snel in te typen welk type het is, hoe ik
‫het item van de verzameling waar ik doorheen loop en de verzameling wil noemen.
‫Dus dit is een leuk trucje als je sneller wilt coderen.
‫Dus het item zal van het type integer zijn omdat we door deze matrix willen lopen, die een aantal
‫gehele getallen bevat, en het item dat we kunnen volgen item.
‫We zouden het NUM kunnen noemen omdat het een getal is dat we het element zouden kunnen noemen.
‫Dit zouden normale namen zijn die je hier zou zien, maar voor nu komt het goed.
‫En dan wordt de verzameling die ik wil doorlopen mijn matrix die ik hier heb voorbereid.
‫En dat is ook de reden waarom ik deze matrix statisch moest maken, omdat
‫ik hem binnen mijn statische hoofdmethode gebruik en je geen niet-statische items kunt gebruiken die variabelen zijn binnen de statische hoofdmethode of binnen
‫statische methoden in het algemeen.
‫OK, dus om dit voor elke groep te herhalen en de matrixitems weer te geven, kunnen we gewoon doorgaan
‫en de console gebruiken.
‫Rechter regel verklaring hier.
‫Dus s. W. dubbele tab en hier ga ik gewoon zeggen: toon het item en maak dan een lege ruimte.
‫Of maak een lege ruimte en laten we eigenlijk niet de rode lijn gebruiken, maar goed, dus dit zal het gewoon in
‫één regel schrijven en niet de hele tijd een nieuwe regel maken.
‫Nu, laten we dit heel snel uitvoeren.
‫En we zullen zien dat we een, twee, drie, vier, vijf, zes, zeven, acht, negen hebben.
‫OK, dus alle items die we hier in onze matrix hebben, worden weergegeven.
‫Dus we gebruiken dit voor elke lus om door elk afzonderlijk item in deze matrix te gaan.
‫En het gaat gewoon van links of linksboven naar rechtsonder, om zo te zeggen, in ons voorbeeld hier.
‫OK, dus voor elke twee is een krachtig hulpmiddel.
‫Het stelt ons in staat om door een verzameling en een 2D-matrix te gaan, een 3D-matrix, hoeveel dimensies je
‫ook wilt hebben, dit zijn uiteindelijk allemaal verzamelingen, want hier gebruiken we een array en een array is
‫een soort van een collectie.
‫OK, en dit is wat we nodig hadden om de voor elke lus te geven om doorheen te itereren.
‫Dus itereer door onze collectiematrix.
‫Dus nu kunnen we doorgaan en dit gebruiken om u te laten zien hoe u dit had kunnen bereiken met behulp van een geneste
‫for-lus.
‫OK, dus de voor elke groep is super handig als je gewoon elk item erin
‫wilt doornemen, maar het heeft bepaalde nadelen in termen van bepaalde situaties.
‫Dus in het geval dat u het item nu wilt wijzigen, kunt u dit niet doen omdat het beveiligd is.
‫U kunt dus niet doorgaan en zeggen dat het item nu moet worden overschreven met bijvoorbeeld drie, zoals u hier kunt
‫zien.
‫Dus als je dat probeert, staat er dat het niet aan een item kan worden toegewezen omdat het een is voor elke iteratievariabele.
‫OK, dus het is niet het eigenlijke item, het is eigenlijk gewoon de waardeopslag, om zo te zeggen.
‫Dus we slaan de waarde op waar we momenteel naar kijken uit onze collectie en wat we hier opslaan, de
‫waarde ervan.
‫Dus in de eerste iteratie is het één, in de tweede iteratie is het twee, maar het is eigenlijk nooit
‫de waarde zelf.
‫Het is slechts een verwijzing naar de waarde.
‫Oké, dus dit helpt ons echt niet.
‫Dus als we het echt willen aanpassen, hebben we zoiets als een geneste for-lus nodig.
‫Oké, dus hier, laten we doorgaan en een nest maken.
‫Ik ga hier een kleine rode lijnverklaring toevoegen, waarin staat dat dit onze array afdrukt met behulp van een geneste map.
‫Dus wat is een genest volume?
‫Nou, het is eigenlijk een map met een andere for-lus erin.
‫OK, dus hier gaan we er vier gebruiken en we kunnen dubbeltikken opnieuw gebruiken.
‫Dus gaan we van I nul naar de lengte.
‫Dus hier moeten we de lengte van de iteratie invoeren.
‫Dus wat ik hier ga doen, is dat ik mijn matrix ga gebruiken, maar ik zou hier natuurlijk lengte kunnen gebruiken
‫en dit zou me dan de lengte van de hele matrix geven.
‫Dus eigenlijk het aantal items dat ik in deze matrix heb, maar dat is niet wat ik wil.
‫Ik wil elke dimensie doorlopen, dus ik wil er rij voor rij en kolom voor kolom doorheen gaan.
‫Dus de eerste dimensie zijn de rijen.
‫Dus ik kan een methode gebruiken die arrays biedt.
‫Dus de array-klasse heeft deze grote lengte-methode waarbij ik de dimensie moet ontleden.
‫OK, dus dit geeft me het weergegeven getal of je kunt hier gewoon zien dat het aantal elementen in
‫de opgegeven dimensie van de array vertegenwoordigt.
‫Dus in mijn geval, als ik nul invoer, zal dit nu de nul retourneren met een dimensie die in feite de
‫rijen betekent.
‫OK, dus dit geeft me de rijen.
‫Dus als ik nu elke afzonderlijke kolom wil doorlopen, moet ik hier een andere for-lus gebruiken.
‫Dus dit wordt mijn innerlijke volume, zoals zo inner for loop.
‫OK, en deze hier, dit wordt de buitenste for-lus.
‫Oke dus.
‫Wat we nu moeten veranderen, is natuurlijk de naam van de iteratievariabele, dus hier gaan we Jay gebruiken
‫in plaats van I.
‫Dit is een gangbare praktijk.
‫Dus als je een in een foto hebt, gebruik je hier meestal Jay als de naam van de tellervariabele.
‫Maar nu willen we Jay niet vergelijken met de lengte van de eerste dimensie, maar van de tweede dimensie.
‫Dus we vullen er hier een in.
‫Dus hierdoor kan ik nu elke kolom doornemen.
‫Dus deze Falu-klus zal zijn om door de afzonderlijke kolommen te gaan en dit volgt.
‫Jope zal het testament doorlopen om de individuele rijen te doorlopen.
‫Dat betekent dus dat we nu verder kunnen.
‫En doe gewoon onze juiste verklaring hier, maar dan, natuurlijk, we hebben hier geen item, dus wat
‫hebben we?
‫Welnu, we hebben de matrix, de statische variabele die we hier hebben gemaakt.
‫Maar deze matrix moet weten welke items het moet weergeven.
‫Dus ik ga zeggen, toon gewoon I j.
‫Wat betekent weergegeven dat als.
‫Rol naar de Jeff-kolom, wat in feite betekent dat ik in de eerste iteratie nul zal zijn.
‫En dan beginnen we met dit volume en dit volume zal er doorheen gaan totdat het klaar is.
‫En dan gaat het alleen naar de volgende iteratie van de uit de lus.
‫Dus alleen dan word ik met één verhoogd.
‫OK, dus dat betekent dat ik nul blijf totdat we door dit volume zijn gegaan, wat betekent dat we bij nul beginnen
‫voor I en dan hebben we dat J nul is in de eerste iteratie.
‫Dus we krijgen de eerste invoer, dan is J één omdat we zijn verhoogd zodra we deze regel code
‫hebben doorlopen en we deze met één hebben verhoogd.
‫Dus nu wordt J één en zeggen we nul één.
‫Dus de positie nul één van onze matrix wordt deze twee hier, dan wordt J twee, wat deze drie
‫zal zijn.
‫En dan controleren we of het is.
‫Twee plus één, wat goed komt, Jay, wordt verhoogd na de duur is drie minder dan de lengte van
‫die huidige dimensie waar we naar kijken.
‫En de dimensie wordt de kolomdimensie.
‫Dus hoeveel kolommen hebben we?
‫En in dit geval hebben we drie kolommen.
‫Dus drie is niet minder dan drie, en daarom zal dit boek klaar zijn met de uitvoering ervan.
‫En we gaan weer naar de buitenste for-lus.
‫Dus deze keer verhogen of verhogen we I.
‫Met één, wat betekent dat ik nu één zal zijn, en dan doorlopen we dit voor Loop drie keer, dus we hebben
‫ik één en nul in de eerste iteratie hiervan in een for-lus, dan zal het één zijn, dan het zullen er
‫twee zijn.
‫Dus het zal in principe door dit item gaan, dan dit item dan dit item, en elke keer zal het het
‫op de console schrijven en een lege ruimte achterlaten.
‫En dan in de eerste iteratie van onze lus of uit de lus hier, zal het als het ware door de laatste rij
‫gaan.
‫Dus dit is hier een genest voor.
‫Kijk.
‫Oké, dus laten we dit heel snel doen om te zien of dit echt gaat
‫doen wat ik zeg en je kunt hier zien, nou ja, misschien moet ik het iets anders afdrukken.
‫Hier, ik heb nog een regeleinde.
‫Zoals, dus laten we dit nog eens proberen.
‫Dus je ziet, dit is onze 2D-array die is afgedrukt met de geneste for-lus.
‫Dit is deze hier.
‫Deze was voor elke lus.
‫En nu, op dit punt, zou je kunnen zeggen, hé, wat is het voordeel, Dennis?
‫Heeft dit zelfs zin?
‫Ik vind het niet leuk wat je daar doet.
‫Ik gebruik liever de voor elke lus.
‫Zie je, het is supereenvoudig, heel weinig code dat ik nodig heb.
‫Hoewel het leuke hier is, heb ik directe toegang tot het item waar ik momenteel naar kijk.
‫Dus hier in dit geval, ik itereer er gewoon doorheen.
‫Maar wat als ik door zou gaan en er een nieuwe waarde aan zou toekennen?
‫Laten we zeggen dat ik er nul aan toeken.
‫Dus als we dit nu uitvoeren, krijgen we een aantal nullen.
‫Hier zie je nul nul nul nul.
‫Dus nu kan ik een logica maken waarmee ik bijvoorbeeld de waarde zou overschrijven.
‫En dat is niet gemakkelijk haalbaar met een voor elke lus, voor elk om super geweldig te zijn,
‫om gewoon iets weer te geven en een code uit te voeren voor elk afzonderlijk item, maar niet specifiek
‫het item zelf te veranderen, omdat het item slechts een opslaglocatie voor de korte termijn is voor welke waarde we ook hebben in de.
‫Collectie die we aan het bekijken zijn, en dat is anders voor een Nesat Falu, en dat is al een voordeel dat je
‫hier ziet.
‫Maar er zijn nog andere voordelen en we gaan kijken naar wat meer voorbeelden van geneste for-lussen met dit
‫specifieke voorbeeld dat we hier hebben.
‫We gaan het een beetje aanpassen in de volgende video.
‫En je gaat bijvoorbeeld kijken hoe je even getallen of oneven getallen uit je for-lus kunt halen
‫en dan ook kijken hoe je deze kunt aanpassen zodat je bijvoorbeeld alleen diagonale elementen print, want dan krijg je een
‫algemeen idee van waar je for loops voor kunt gebruiken of tenzij het voor flipt.
‫En eigenlijk heb je zoveel vrijheid en programmering.
‫En ik wilde je gewoon wat meer tools geven die je kunt gebruiken.
‫OK, dus op dit punt zou ik zeggen, laten we naar de volgende video gaan waar we dat gaan bekijken.