CodeGym /Java Blog /Willekeurig /Oud niveau 07
John Squirrels
Niveau 41
San Francisco

Oud niveau 07

Gepubliceerd in de groep Willekeurig

Informatie technologieën

Oud niveau 07 - 1De computerrevolutie, die begon aan het einde van de 20e eeuw, resulteerde in de creatie van het internet (het web) in de jaren 90. En dat was het begin van een nog grotere revolutie. Het effect van internetcreatie is als industrialisatie. Maar het lekkerste is dat dit proces net is begonnen.

Nieuwe wereld

Het aantal sites is meer dan 200 miljoen. 3 miljard internetgebruikers die er zijn. Internetveilingen, websites, online winkels, internetdiensten. De informatietechnologie-industrie groeit jaarlijks met 20% -30%. Het zijn monsterlijke tarieven. En het blijft groeien. De laatste 10 jaar wordt in Silicon Valley (het belangrijkste centrum van de hightechindustrie van de wereld) elke 2 maand een bedrijf opgericht, dat daarna miljarden dollars kost. Om nog maar te zwijgen over internetsterren als Facebook ($ 220 miljard), Amazon ($ 140 miljard) en Google ($ 350 miljard). Al deze bedrijven zouden niet verschijnen als er geen internet was. Dit alles resulteert in een hoge vraag naar IT-specialisten. De wereldwijde hightech-industrie vereist: softwareontwikkelaars, ontwerpers, QA-testers, architecten, managers, systeembeheerders en andere specialisten.

Het is goed om een ​​IT-specialist te zijn

Oud niveau 07 - 2Als je een IT-specialist bent, is het een gouden tijd voor jou. Je kunt voor een groot bedrijf werken en in een kleine stad wonen of voor een buitenlands bedrijf werken. U kunt bijvoorbeeld twee keer minder verdienen dan in de EU, maar u krijgt 3-10 keer meer dan op de lokale arbeidsmarkt. Hoe kleiner de stad, hoe groter het verschil. Je krijgt waardevolle ervaring, goed geld en een mooie toekomst. Soms ga je op zakenreis naar het kantoor van je werkgever. En als je het erg leuk vindt, kun je daarheen verhuizen. Een opkomend tij tilt alle boten op. Waarom zou niet zo'n boot zijn die op het juiste moment en op de juiste plaats is? Dit is ook een kunst.

Je hebt een nieuw niveau bereikt

Niveau 7

Oud niveau 07 - 3

1 Elly, Reeksen

- Hé, Amigo! - Hoe gaat het, Elly? - Vandaag zal ik je vertellen over een nieuwe interessante entiteit - arrays. Een array is een speciaal gegevenstype dat meer dan één waarde kan opslaan. Oud niveau 07 - 4- Ik zal beginnen met analogie. Laten we een gewoon huis en een hoogbouw vergelijken. Een huis wordt bewoond door een enkele familie, terwijl een hoogbouw is opgedeeld in appartementen. U moet het unieke adres opgeven om een ​​brief te schrijven aan een gezin dat in het huis woont. Voor een gezin dat in een appartement woont, moet u ook het appartementnummer opgeven. - Ja, dat is duidelijk. - Een matrixvariabele is dus als een hoog gebouw. U kunt er verschillende waarden in opslaan. Zo'n variabele heeft enkele appartementen (cellen). Elk van de appartementen is toegankelijk via zijn nummer (index).Om dit te doen, moet u achter de variabelenaam tussen vierkante haken de index van de cel waartoe toegang wordt verkregen, specificeren. Het is vrij eenvoudig. - Ik hoop het. - Een array-variabele (een hoog gebouw) kan van elk type zijn, dus u hoeft alleen maar te schrijven TypeName[] variable_namein plaats van TypeName variable_name. - Hier zijn voorbeelden van wat u kunt doen met arrays: Oud niveau 07 - 5- Hoe spannend! - Een arrayvariabele heeft aanvullende initialisatie nodig. - Waarom? - Een gebruikelijke variabele is direct na de declaratie klaar voor gebruik. Wat betreft arrays, het is een beetje ingewikkelder: - Eerst moet je een container van N elementen maken, en dan kun je er waarden in plaatsen. Oud niveau 07 - 6- Ja. Het wordt nu duidelijker. - De basis over arrays :
  1. De array bestaat uit meerdere cellen.
  2. Elke cel is toegankelijk door het nummer ervan aan te geven.
  3. Alle cellen zijn van hetzelfde type.
  4. In een array van n elementen hebben de cellen indexen 0,1,2,...,n-1. Er is geen cel met index n in de array.
  5. De initiële waarde voor alle cellen is null, voor primitieve typen - 0, 0,0 voor fractionele cellen, false - voor het booleaanse type, precies hetzelfde als bij eenvoudige niet-geïnitialiseerde variabelen.
  6. String[] lijst is slechts een declaratie van een variabele. Eerst moet u een array (container) maken en deze in de variabele plaatsen en vervolgens gebruiken. Zie onderstaand voorbeeld.
  7. Wanneer u een objectarray (container) maakt, is het noodzakelijk om de lengte op te geven (hoeveel cellen deze zal hebben). Om dit te doen moet u een commando schrijven: TypeName is het type waarden dat zal worden opgeslagen in cellen van de array.new TypeName[n];
Oud niveau 07 - 7- Voorbeelden: Oud niveau 07 - 8

2 Risha, opstelling van arrays in het geheugen

- Hé, Amigo! Ik zal je laten zien hoe het allemaal werkt in het geheugen: Oud niveau 07 - 9- En wat is deze 345? - Eigenlijk heb ik het uit de lucht geplukt, maar normaal gesproken is het het adres van de string die het woord «Stop» bevat. - Wat betreft arrays, het is een beetje ingewikkelder:
Oud niveau 07 - 10
- Zijn 155.166.177 ook nummers uit een hoed die het adres van strings aan de rechterkant vertegenwoordigen? - Ja. Het is maar goed dat je het geraden hebt. Merk op dat er in de tweede afbeelding een extra object is - een reeks van 10 cellen. - Alles is duidelijk, bedankt. Een foto zegt meer dan duizend woorden. Dank je wel, Risha.

3 Risha, Voorbeelden van arrays Array

- Ik wil je een paar voorbeelden geven van interessante dingen die je kunt doen met arrays: Voorbeeld 1. Oud niveau 07 - 11Voorbeeld 2. Oud niveau 07 - 12Voorbeeld 3. Oud niveau 07 - 13Voorbeeld 4. Oud niveau 07 - 14Voorbeeld 5. Oud niveau 07 - 15

4 Diego, Taken voor het maken en gebruiken van arrays

- Hé, Amigo! Hier zijn een paar taken voor jou, vriend:
Taken
1 1. Maximaal een array van 20 getallen
1. In de methode initializeArray() :
1.1. Maak een reeks van 20 getallen
1.2. Lees van het toetsenbord 20 getallen en vul de array ermee
2. De methode max(int[] array) moet het maximale aantal elementen van de array vinden

2

2. Array van strings in omgekeerde volgorde
1. Maak een array van 10 strings.
2. Lees 8 strings van het toetsenbord en sla ze op in de array.
3. Toon op het scherm de inhoud van de gehele array (10 items) in omgekeerde volgorde. Elk item moet op een nieuwe regel staan.

3 3. 2 arrays
1. Maak een array van 10 strings.
2. Maak nog een reeks van 10 getallen.
3. Lees 10 strings van het toetsenbord en vul de stringarray ermee.
4. Schrijf de lengte van een string uit elke cel van de string-array in de cel met getallen-array met dezelfde index. Geef op het scherm de inhoud van de reeks getallen weer. Elke waarde moet op een nieuwe regel staan.
4 4. Reeks getallen in omgekeerde volgorde
1. Maak een reeks van 10 getallen.
2. Lees 10 cijfers van het toetsenbord en sla ze op in de array.
3. Rangschik array-elementen in omgekeerde volgorde.
4. Geef het resultaat weer op het scherm. Elke waarde moet op een nieuwe regel staan.
5 5. Een grote en twee kleine reeksen
1. Maak een reeks van 20 getallen.
2. Lees van het toetsenbord 20 cijfers en vul de array ermee.
3. Maak twee reeksen van elk 10 getallen.
4. Kopieer de getallen van de grote reeks naar twee kleine reeksen: de helft van de getallen naar de eerste reeks, de andere helft naar de tweede.
5. Toon de tweede kleine array op het scherm. Elke waarde moet op een nieuwe regel staan.

5 Elly, ArrayList vs. Array

- Ik ben het. - Hallo, elly! - Vandaag hebben we een nieuw spannend onderwerp! Nu zal ik je vertellen over een interessante nieuwe klasse, de ArrayList . - Oh, een nieuwe klas? Wauw! Wat doet het? - Laat ik beginnen met een klein achtergrondverhaal. De programmeurs hielden niet van één eigenschap van een array: het is onmogelijk om de grootte ervan te veranderen. Wat te doen als u nog drie vermeldingen in de array wilt opslaan, maar er slechts één vrije ruimte is? - De enige oplossing voor het probleem van ruimtegebrek was het maken van een zeer grote array die alle elementen bevat. Maar dit leidde vaak tot inefficiënt geheugengebruik. Als u bijvoorbeeld in 99% van de levensduur van de array slechts 3 elementen in een array hoeft op te slaan, en slechts in 1% - 100 elementen, zou u een array van 100 elementen moeten maken. - Wat hebben de programmeurs bedacht? - Ze schreven de klasse ArrayList die hetzelfde werk deed als de Array, maar de grootte ervan kon variëren. - Een interessante zet. En hoe deden ze dat? - Elk ArrayList- object slaat een gewone reeks elementen op. Wanneer u elementen uit de ArrayList leest , leest deze ze uit de interne array. Wanneer u de elementen schrijft, schrijft het ze naar de interne array. Vergelijk: Oud niveau 07 - 16- Dus wat is het voordeel van de ArrayList? Wat mij betreft, de code werd langer. - Ten eerste ondersteunt ArrayList enkele extra functies die niet beschikbaar zijn in array, die programmeurs vaak gebruiken. Bijvoorbeeld,plaats elementen in en verwijder ze uit het midden van de array zonder gaten achter te laten. - Ten tweede kan ArrayList de grootte wijzigen . Wanneer ArrayList nog een element in zijn interne array moet opslaan en er geen vrije ruimte is, gebeurt het volgende in de ArrayList :
  1. er wordt nog een array gemaakt, twee keer zo groot.
  2. alle elementen van de oude array worden naar de nieuwe array gekopieerd.
  3. een nieuwe array wordt opgeslagen in een interne variabele van het ArrayList-object, de oude array wordt als afval gedeclareerd (we slaan de referentie gewoon niet meer op).
Oud niveau 07 - 17En hoe te werken met de ArrayList? - Eigenlijk op dezelfde manier als bij een array. Kijk hier. Laten we werk vergelijken met de ArrayList en werken met een array. Laten we als voorbeeld de volgende taak oplossen: « Het programma moet 10 strings van het toetsenbord lezen en deze in omgekeerde volgorde op het scherm weergeven ». - Controleer dit: Oud niveau 07 - 18- Ik schilderde gelijkwaardige acties in beide kolommen met één kleur. - Het lijkt anders, maar als je beter kijkt, is alles hetzelfde. - Ja. Nu hebben we geen vierkante haken bij het gebruik van ArrayList . In plaats daarvan gebruiken we de methoden get , set en add . - Ik heb het gemerkt. Maar het is nog steeds erg vergelijkbaar.

6 Diego, ArrayList-taken

- Doe je weer niets? Je bent een robot, nietwaar? Robots zijn altijd ergens mee bezig. Hier zijn enkele taken om u wakker te houden. Maar laten we beginnen met een paar tips. - Tip 1: Een lijst betekent meestal een ArrayList . - Tip 2: Een string betekent het type String . - Tip 3: Een lijst met strings maken betekent meestal ArrayList<String> list = new ArrayList<String>();
Taken
1 Taak 1. 5 verschillende strings in een lijst
1. Maak een lijst met strings.
2. Voeg 5 verschillende strings toe aan de lijst.
3. Geef de grootte weer op het scherm.
4. Geef de scherminhoud van de lijst weer. Elke waarde moet op een nieuwe regel staan. Gebruik een lus.
2 Taak 2. 5 regels: «101», «102», «103», «104», «105»
1. Maak een lijst met strings.
2. Voeg 5 strings toe aan de lijst. «101», «102», «103», «104», «105».
3. Verwijder de eerste, de middelste en de laatste.
4. Geef de scherminhoud van de lijst weer. Elke waarde moet op een nieuwe regel staan. Gebruik een lus.
5. Geef de grootte weer op het scherm. (Na het verwijderen van één item, veranderen de indexen van andere items. Als we bijvoorbeeld het eerste element verwijderen, wordt het tweede het eerste).
3 Taak 3. 5 regels in omgekeerde volgorde
1. Maak een lijst met strings.
2. Lees 5 strings van het toetsenbord en voeg ze toe aan de lijst.
3. Schik ze in omgekeerde volgorde.
4. Geef de scherminhoud van de lijst weer. Elke waarde moet op een nieuwe regel staan. Gebruik een lus.
4

Taak 4. Voeg 5 strings toe aan het begin van de lijst
1. Maak een lijst met strings.
2. Lees van het toetsenbord 5 strings. Voeg deze strings toe aan het begin van de lijst, niet aan het einde.
3. Geef de scherminhoud van de lijst weer. Elke waarde moet op een nieuwe regel staan. Gebruik een lus.

5 Taak 5. Verwijder de laatste string en voeg deze toe aan het begin van de lijst
1. Maak een lijst met strings.
2. Lees van toetsenbord 5 strings. Voeg deze strings toe aan de lijst.
3. Verwijder de laatste string en voeg deze toe aan het begin van de lijst. Herhaal deze actie 13 keer.
4. Geef de scherminhoud van de lijst weer. Elke waarde moet op een nieuwe regel staan. Gebruik een lus.

7 Risha, Generieke geneesmiddelen

- Nu, nog een geweldig onderwerp. - Deze dag zit vol verrassingen. Het is als een echte verjaardag. - Vandaag zal ik je vertellen wat Generics zijn. Generics zijn typen die parameters hebben. In Java kunt u met containerklassen typen van hun interne objecten specificeren . - Wanneer we een generieke variabele declareren, specificeren we twee typen in plaats van één: het type variabele en het type gegevens dat in de variabele is opgeslagen. Een goed voorbeeld hiervan is ArrayList. Wanneer we een nieuw object/variabele van het type ArrayList maken, is het ook goed om het type waarden op te geven dat in de lijst moet worden opgeslagen. Oud niveau 07 - 19- Het klinkt opwindend. Ik hield vooral van wat je zei over elk type. - Het lijkt gewoon goed te zijn. Als in de ene methode strings in een ArrayList worden geplaatst, en in de andere methode werk je met de inhoud ervan en verwacht je dat er alleen getallen zullen zijn, zal het programma crashen. - Ik zie. - Tot nu toe gaan we geen eigen klassen maken met typeparameters, we leren klassen te gebruiken die zijn geschreven door Java-makers. - Mag ik elke klasse als typeparameter gebruiken, zelfs degene die ik zelf heb geschreven? - Ja, elk type, behalve primitieve. Alle klasseparameters moeten worden geërfd van de klasse Object. - Dus ik kan niet schrijven ArrayList<int> , kan ik? - Dat kan niet. Maar Java-ontwikkelaars hebben voor primitieve typen hun niet-primitieve analogen geschreven - klassen geërfd vanVoorwerp . Zo ziet het eruit: Oud niveau 07 - 20- Primitieve typen en analoge klassen (wrapper-klassen) kunnen eenvoudig aan elkaar worden toegewezen: Oud niveau 07 - 21- Prima. Dan denk ik dat ik de ArrayList vaker ga gebruiken.

8 Risha, Voorbeelden van ArrayList, Generics

Oud niveau 07 - 22- Nu zal ik je echt nuttige dingen geven. Hier zijn enkele handige voorbeelden om met ArrayList en Generics te werken: - Voorbeeld 1. Oud niveau 07 - 23- Voorbeeld 2. Oud niveau 07 - 24- Voorbeeld 3. Oud niveau 07 - 25- Voorbeeld 4. Oud niveau 07 - 26- Voorbeeld 5. Oud niveau 07 - 27- Geweldig! Dus Diego gaat me nu een aantal soortgelijke taken geven, nietwaar? - Ja!

9 Diego, Lijst<T> taken

- Eindelijk ben je vrij. Ik ben het beu om deze taken voor je in gedachten te houden. Hier zijn er nog een paar om je wakker te houden:
Extra taken te doen in Intellij Idea
1 1. Drie reeksen
1. Lees van het toetsenbord 20 getallen, sla ze op in een lijst en sorteer ze vervolgens in drie andere lijsten:
Lijst 1 bevat getallen die deelbaar zijn door 3 ( x%3==0 )
Lijst 2 bevat getallen die deelbaar zijn door 2 ( x%2==0 )
Lijst 3 slaat de rest van de getallen op.
De getallen die tegelijkertijd deelbaar zijn door 3 en 2 (bijvoorbeeld 6) behoren tot beide lijsten – lijst 1 en lijst 2. 2.
De methode printList() moet elk element van de lijst op een nieuwe regel weergeven.
3. Gebruik de methode printList() om deze drie lijsten op het scherm weer te geven. Eerst moet lijst 1 worden weergegeven, dan lijst 2 en daarna lijst 3.
2 2. 5 woorden in omgekeerde volgorde
Lees van het toetsenbord 5 woorden. Voeg ze toe aan een stringlijst en geef ze in omgekeerde volgorde weer op het scherm.
3 3. Het woord «hier»
1. Maak een lijst met de woorden «stop», «kijk», «luister».
2. Voeg na elk woord een tekenreeks toe met «hier».
3. Geef het resultaat weer. Elk element van de lijst moet op een nieuwe regel staan. Gebruik de "for"-lus.
4 4. Letters «r» en «l»
1. Maak een lijst met woorden/strings, vul deze met wat je maar wilt.
2. De methode fix() moet:
2.1. verwijder alle woorden die de letter «r» bevatten uit de lijst met strings
2.2. verdubbel alle woorden die de letter «l» bevatten.
2.3. laat het woord ongewijzigd als het zowel de letters «r» als de «l» bevat.
2.4. doe niets met andere woorden. Voorbeeld

:
roze
wilgenlier
eik


Uitvoergegevens : wilgen
wilgenlier eik


5 5. Dupliceer de woorden
1. Lees 10 woorden/strings van het toetsenbord, voeg ze toe aan een stringlijst.
2. De methode doubleValues ​​moet woorden dupliceren volgens het patroon:
a,b,c → a,a,b,b,c,c.
3. Geef het resultaat weer. Elk element van de lijst moet op een nieuwe regel staan. Gebruik de "for"-lus.

10 prof

Oud niveau 07 - 28- Ik heb mijn geweldige lezingen gevonden! Dus vandaag doe je de meest waardevolle kennis op in arrays en lijsten. Hier zijn ze: Tips over ArrayList in Java

11 juli

- Hé, Amigo! Ik ben blij dat je dit allemaal hebt doorstaan ​​- je verdient een beloning:

12 Kapitein Eekhoorns

- Hallo, soldaat! - Goedemorgen meneer! - Ik heb geweldig nieuws voor je. Hier is een snelle check om je vaardigheden te versterken. Doe het elke dag en je zult je vaardigheden heel snel verbeteren. Taken zijn speciaal ontworpen om te doen in Intellij IDEA.
Extra taken te doen in Intellij Idea
1 1. Nummers in omgekeerde volgorde weergeven
Lees van het toetsenbord 10 nummers en vul de lijst ermee.
Geef op het scherm de nummers in omgekeerde volgorde weer. Gebruik de lus.
2 2. Verplaats de eerste M regels naar het einde van de lijst
Lees van het toetsenbord 2 cijfers: N en M .
Lees van toetsenbord N strings en vul er een lijst mee.
Verplaats de eerste M regels naar het einde van de lijst
Toon de lijst op het scherm. Elke waarde moet op een nieuwe regel staan.
3 3. Grootste en kleinste getal in een array
Maak een array van 20 getallen.
Vul het met cijfers die van het toetsenbord worden gelezen.
Zoek het grootste en kleinste getal in een array.
Geef op het scherm de grootste en kleinste getallen weer, gescheiden door een spatie.
4 4. Lees tekenreeksen van het toetsenbord totdat de gebruiker de tekenreeks "einde" invoert
Maak een lijst met tekenreeksen.
Lees van de toetsenbordstrings (wat je maar wilt), voeg ze toe aan de lijst.
Lees tekenreeksen van het toetsenbord totdat de gebruiker de tekenreeks "einde" invoert. "einde" moet worden weggelaten.
Toon de snaren op het scherm. Elke string moet op een nieuwe regel staan.
5 5. Knal!
Schrijf een programma dat aftelt van 30 naar 0 en «Bang!» weergeeft. aan het einde. Het programma zou het aantal 10 keer per seconde moeten verminderen. Gebruik de onderstaande functie om een ​​vertraging in te voegen:
Thread.sleep(100); // vertraging van een tiende van een seconde.
Voorbeeld:
30
29

1
0
Knal!
6 6. Familie
Maak een klasse Mens aan met de velden: String name , boolean sex , int age , Human father , Human mother . Maak 9 objecten van de menselijke klasse en vul ze zo in dat je twee grootvaders, twee grootmoeders, een vader, een moeder en drie kinderen krijgt. Toon op het scherm de objecten op het scherm.
Tip: Als je je methode String toString()
in de klasse Human schrijft , dan wordt die gebruikt om een ​​object weer te geven. Voorbeelduitvoer: Naam: Anna, geslacht: vrouw, leeftijd: 21, vader: Paul, moeder: Kate Naam: Kate, geslacht: vrouw, leeftijd: 55



Naam: Ian, geslacht: man, leeftijd: 2, vader: Michael, moeder: Anna
7 7. Verplaats een statische modifier
Verplaats een statische modifier zodat het programma compileert.
- Die taken waren voor greens. Ik heb bonustaken met een hogere complexiteit toegevoegd. Alleen voor topwapens.
Bonustaken
1 1. Programma compileert en start niet. Maak het.
Taak: lees vanaf het toetsenbord de kattengegevens en geef deze weer op het scherm.
Voorbeeld:
naam kat is Jinx, leeftijd is 6, gewicht is 5, staart = 22
naam kat is Maisy, leeftijd is 8, gewicht is 7, staart = 20
2 2. Voeg nieuwe functionaliteit toe aan het programma.
Oude taak: het programma leest strings totdat de gebruiker een lege regel invoert door op enter te drukken. Vervolgens zet het kleine letters om in hoofdletters (moeder verandert in moeder) en geeft ze weer op het scherm.
Nieuwe taak: het programma moet strings lezen totdat de gebruiker een lege regel invoert door op enter te drukken. Het programma bouwt vervolgens een nieuwe lijst op. Als de string een even aantal karakters heeft, wordt de string gedupliceerd, als de string een oneven aantal karakters heeft, wordt de string verdrievoudigd.
Voorbeeldinvoer:
Kat
Katten
Ik
Voorbeelduitvoer:
Kat Kat Kat
Katten
Ik Ik
3 3. Algoritme leren en oefenen.
Lees van het toetsenbord 20 cijfers en toon ze in aflopende volgorde.
Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION