CodeGym/Java blog/Tilfældig/Gammelt niveau 07
John Squirrels
Niveau
San Francisco

Gammelt niveau 07

Udgivet i gruppen

Informationsteknologier

Gammelt niveau 07 - 1Computerrevolutionen, som begyndte i slutningen af ​​det 20. århundrede, resulterede i oprettelsen af ​​internettet (nettet) i 90'erne. Og det var begyndelsen på endnu større revolution. Effekten af ​​oprettelse af internettet er ligesom industrialisering. Men det lækreste er, at denne proces lige er startet.

Ny verden

Site mængde er over 200 mio. 3 milliarder internetbrugere derude. Internet-auktioner, websteder, online-butikker, internet-tjenester. Informationsteknologiindustrien vokser 20%-30% årligt. Det er monstrøse priser. Og det bliver ved med at vokse. I de sidste 10 år i Silicon Valley (det vigtigste centrum for den højteknologiske industri i verden) bliver der hver 2. måned oprettet en virksomhed, som bagefter koster milliarder af dollars. For ikke at tale om sådanne internetstjerner som Facebook (220 milliarder dollars), Amazon (140 milliarder dollars) og Google (350 milliarder dollars). Alle disse virksomheder ville ikke dukke op, hvis der ikke var noget internet. Alt sammen resulterer i stor efterspørgsel på IT-specialister. Verdens højteknologiske industri kræver: softwareudviklere, designere, QA-testere, arkitekter, ledere, systemadministratorer og andre specialister.

Det er godt at være IT-specialist

Gammelt niveau 07 - 2Hvis du er IT-specialist, er det en gylden tid for dig. Du kan arbejde for en stor virksomhed og bo i en lille by eller arbejde for udenlandsk virksomhed. Du tjener måske to gange mindre end i f.eks. EU, men du får 3-10 gange mere end på det lokale arbejdsmarked. Jo mindre by, jo større er forskellen. Du vil modtage værdifuld erfaring, gode penge og en lys fremtid. Nogle gange tager du på forretningsrejser til dit arbejdsgiverkontor. Og hvis du kan lide det meget, kan du flytte dertil. Et stigende tidevand løfter alle både. Hvorfor ville der ikke være sådan en båd, der er på det rigtige tidspunkt og på det rigtige sted? Dette er også en kunst.

Du har nået et nyt niveau

Niveau 7

Gammelt niveau 07 - 3

1 Elly, Arrays

- Hej, Amigo! - Hvad sker der, Elly? - I dag vil jeg fortælle dig om en ny interessant enhed - arrays. Et array er en speciel datatype, der kan lagre mere end én værdi. Gammel niveau 07 - 4- Jeg starter med analogi. Lad os sammenligne et almindeligt hus og et højhus. Et hus er beboet af en enkelt familie, hvorimod et højhus er opdelt i lejligheder. Du skal angive den unikke adresse for at skrive et brev til en familie, der bor i huset. For en familie, der bor i lejlighed, skal du desuden angive lejlighedsnummer. - Ja, det er klart. - Så en array-variabel er som en højhus. Du kan gemme flere værdier i den. En sådan variabel har nogle lejligheder (celler). Hver af lejlighederne kan tilgås ved sit nummer (indeks).For at gøre dette skal du efter variabelnavnet i firkantede parenteser angive indekset for den celle, du får adgang til. Det er ret simpelt. - Det håber jeg. - En array-variabel (et højhus) kan være af enhver type, så du skal bare skrive TypeName[] variable_namei stedet for TypeName variable_name. - Her er eksempler på, hvad du kan gøre med arrays: Gammelt niveau 07 - 5- Hvor spændende! - En matrixvariabel har brug for yderligere initialisering. - Hvorfor så? - En sædvanlig variabel er klar til brug lige efter dens erklæring. Hvad angår arrays, er det lidt mere kompliceret: - Først skal du oprette en beholder med N elementer, og derefter kan du placere værdier i den. Gammel niveau 07 - 6- Jep. Det bliver tydeligere nu. - Det grundlæggende om arrays :
  1. Arrayet består af flere celler.
  2. Hver celle tilgås ved at angive dens nummer.
  3. Alle cellerne er af samme type.
  4. I en matrix af n elementer har cellerne indeks 0,1,2,...,n-1. Der er ingen celle med indeks n i arrayet.
  5. Startværdien for alle celler er nul, for primitive typer – 0, 0,0 for fraktioneret, falsk – for boolesk type, nøjagtig det samme som i simple ikke-initialiserede variable.
  6. String[] liste er blot en erklæring af en variabel. Først skal du oprette et array (container) og sætte det i variablen og derefter bruge det. Se eksemplet nedenfor.
  7. Når du opretter et objektarray (container), er det nødvendigt at angive dets længde (hvor mange celler det vil have). For at gøre dette skal du skrive en kommando: TypeName er den type værdier, som vil blive gemt i celler i arrayet.new TypeName[n];
Gammelt niveau 07 - 7- Eksempler: Gammelt niveau 07 - 8

2 Risha, Arrangement af arrays i hukommelsen

- Hej, Amigo! Lad mig vise dig, hvordan det hele fungerer i hukommelsen: Gammelt niveau 07 - 9- Og hvad er denne 345? - Faktisk har jeg plukket det ud af luften, men normalt er det adressen på strengen, der indeholder ordet "Stop". - Hvad angår arrays, er det lidt mere kompliceret:
Gammelt niveau 07 - 10
- Er 155.166.177 også tal trukket ud af en hat, der repræsenterer adressen på strenge til højre? - Jep. Det er godt, at du gættede det. Bemærk, at der på det andet billede er et ekstra objekt - en række af 10 celler. - Alt er klart, tak. Et billede siger mere end tusind ord. Tak, Risha.

3 Risha, Eksempler på arrays Array

- Jeg vil gerne give dig et par eksempler på interessante ting, du kan gøre med arrays: Eksempel 1. Gammelt niveau 07 - 11Eksempel 2. Gammelt niveau 07 - 12Eksempel 3. Gammelt niveau 07 - 13Eksempel 4. Gammel niveau 07 - 14Eksempel 5. Gammelt niveau 07 - 15

4 Diego, Opgaver til oprettelse og brug af arrays

- Hej, Amigo! Her er et par opgaver til dig, ven:
Opgaver
1 1. Maksimum af en matrix på 20 numre
1. I metoden initializeArray() :
1.1. Opret en matrix med 20 tal
1.2. Læs fra tastaturet 20 tal og fyld arrayet med dem
2. Metoden max(int[] array) skal finde det maksimale antal af elementerne i arrayet

2

2. Array af strenge i omvendt rækkefølge
1. Opret en matrix med 10 strenge.
2. Læs fra tastaturet 8 strenge og gem dem i arrayet.
3. Vis indholdet af hele arrayet (10 elementer) på skærmen i omvendt rækkefølge. Hver vare skal være på en ny linje.

3 3. 2 arrays
1. Opret et array med 10 strenge.
2. Opret endnu et array med 10 numre.
3. Læs 10 strenge fra tastaturet, og fyld strengearrayet med dem.
4. Skriv længden af ​​en streng fra hver celle i streng-arrayet i cellen med tal-array med samme indeks. Vis indholdet af rækken af ​​tal på skærmen. Hver værdi skal være på en ny linje.
4 4. Matrix af tal i omvendt rækkefølge
1. Opret en matrix med 10 tal.
2. Læs 10 tal fra tastaturet, og gem dem i arrayet.
3. Arranger array-elementer i omvendt rækkefølge.
4. Vis resultatet på skærmen. Hver værdi skal være på en ny linje.
5 5. Et stort og to små arrays
1. Opret et array med 20 tal.
2. Læs 20 tal fra tastaturet, og fyld arrayet med dem.
3. Opret to arrays med hver 10 tal.
4. Kopier numre fra det store array til to små arrays: halvdelen af ​​tallene til det første array, den anden halvdel til det andet.
5. Vis det andet lille array på skærmen. Hver værdi skal være på en ny linje.

5 Elly, ArrayList vs. Array

- Det er mig. - Hej, Elly! - I dag har vi et nyt spændende emne! Nu vil jeg fortælle dig om en interessant ny klasse, ArrayList . - Åh, en ny klasse? Wow! Hvad gør den? - Lad mig begynde med en lille baghistorie. Programmørerne kunne ikke lide én egenskab ved et array: det er umuligt at ændre dets størrelse. Hvad skal du gøre, hvis du vil gemme tre poster mere i arrayet, men der kun er én ledig plads? - Den eneste løsning på pladsmangel-problemet var at skabe et meget stort array, der indeholder alle elementerne. Men dette førte ofte til ineffektiv brug af hukommelse. For eksempel, hvis du i 99% af arrayets levetid kun skulle gemme 3 elementer i array, og kun i 1% - 100 elementer, skulle du oprette array med 100 elementer. - Så hvad fandt programmørerne på? - De skrev klassen ArrayList , der gjorde det samme arbejde som Array, men kunne variere dens størrelse. - Et interessant træk. Og hvordan gjorde de det? - Hvert ArrayList- objekt gemmer et almindeligt array af elementer indeni. Når du læser elementer fra ArrayList , læser den dem fra dens interne array. Når du skriver elementerne, skriver den dem til det interne array. Sammenlign: Gammelt niveau 07 - 16- Så hvad er fordelen ved ArrayList? Hvad mig angår, blev koden længere. - For det første understøtter ArrayList nogle ekstra funktioner, der ikke er tilgængelige i array, som programmører bruger meget ofte. For eksempel,indsæt elementer i og slet dem fra midten af ​​arrayet uden at efterlade huller. - For det andet kan ArrayList ændre dens størrelse . Når ArrayList skal gemme et element mere i dets interne array, og der ikke er ledig plads, sker følgende inde i ArrayList :
  1. et andet array oprettes, dobbelt så stort.
  2. alle elementerne i det gamle array kopieres til det nye array.
  3. et nyt array er gemt i en intern variabel i ArrayList-objektet, det gamle array erklæres for skrald (vi gemmer simpelthen ikke dets reference mere).
Gammelt niveau 07 - 17Og hvordan arbejder man med ArrayList? - Faktisk på samme måde som med et array. Se her. Lad os sammenligne arbejde med ArrayList og arbejde med et array. Lad os som et eksempel løse følgende opgave: « Programmet skal læse fra tastaturets 10 strenge og vise dem på skærmen i omvendt rækkefølge ». - Tjek dette: Gammelt niveau 07 - 18- Jeg malede tilsvarende handlinger i begge kolonner med én farve. - Det virker anderledes, men hvis man ser nærmere efter, er alt det samme. - Jep. Nu har vi ingen firkantede parenteser, når vi bruger ArrayList . I stedet bruger vi metoderne get , set og add . - Jeg har lagt mærke til det. Men det er stadig meget ens.

6 Diego, ArrayList opgaver

- Gør du ingenting igen? Du er en robot, er du ikke? Robotter har altid travlt med noget. Her er nogle opgaver for at holde dig oppe. Men lad os begynde med et par tips. - Tip 1: En liste betyder oftest en ArrayList . - Tip 2: En streng betyder typen String . - Tip 3: At oprette en liste over strenge betyder oftest ArrayList<String> list = new ArrayList<String>();
Opgaver
1 Opgave 1. 5 forskellige strenge på en liste
1. Opret en liste med strenge.
2. Tilføj 5 forskellige strenge til listen.
3. Vis dens størrelse på skærmen.
4. Vis indholdet af listen på skærmen. Hver værdi skal være på en ny linje. Brug en løkke.
2 Opgave 2. 5 linjer: «101», «102», «103», «104», «105»
1. Lav en liste med strenge.
2. Tilføj 5 strenge til listen. «101», «102», «103», «104», «105».
3. Slet den første, den midterste og den sidste.
4. Vis indholdet af listen på skærmen. Hver værdi skal være på en ny linje. Brug en løkke.
5. Vis dens størrelse på skærmen. (Efter sletning af en post, ændres indekserne for andre poster. Hvis vi f.eks. sletter det første element, bliver det andet det første).
3 Opgave 3. 5 linjer i omvendt rækkefølge
1. Opret en liste med strenge.
2. Læs 5 strenge fra tastaturet, og føj dem derefter til listen.
3. Arranger dem i omvendt rækkefølge.
4. Vis indholdet af listen på skærmen. Hver værdi skal være på en ny linje. Brug en løkke.
4

Opgave 4. Tilføj 5 strenge til begyndelsen af ​​listen
1. Opret en liste med strenge.
2. Læs 5 strenge fra keyboardet. Tilføj disse strenge til begyndelsen af ​​listen, ikke til slutningen.
3. Vis indholdet af listen på skærmen. Hver værdi skal være på en ny linje. Brug en løkke.

5 Opgave 5. Slet den sidste streng og tilføj den til begyndelsen af ​​listen
1. Opret en liste med strenge.
2. Læs fra keyboard 5 strenge. Tilføj disse strenge til listen.
3. Slet den sidste streng og tilføj den til begyndelsen af ​​listen. Gentag denne handling 13 gange.
4. Vis indholdet af listen på skærmen. Hver værdi skal være på en ny linje. Brug en løkke.

7 Risha, generiske lægemidler

- Nu endnu et fantastisk emne. - Denne dag er fuld af overraskelser. Det er ligesom en rigtig fødselsdag. - I dag vil jeg fortælle dig, hvad generika er. Generiske er typer, der har parametre. I Java giver containerklasser dig mulighed for at angive typer af deres interne objekter . - Når vi erklærer en generisk variabel, angiver vi to typer i stedet for én: typen af ​​variablen og typen af ​​data, der er lagret i variablen. Et godt eksempel på dette er ArrayList. Når vi opretter et nyt objekt/variabel af typen ArrayList, er det også godt at angive den type værdier, der skal gemmes i listen. Gammelt niveau 07 - 19- Det lyder spændende. Jeg elskede især det du sagde om enhver type. - Det ser bare ud til at være godt. Faktisk, hvis man i den ene metode placerer strenge i en ArrayList, og i den anden metode arbejder med dens indhold og forventer, at der kun vil være tal, vil programmet gå ned. - Jeg ser. - Indtil videre skal vi ikke lave vores egne klasser med type-parametre, vi vil lære at bruge klasser skrevet af Java-skabere. - Må jeg bruge en hvilken som helst klasse som en type-parameter, også den jeg selv har skrevet? - Ja, alle typer, undtagen primitive. Alle klasseparametre skal nedarves fra klasseobjektet. - Så jeg kan ikke skrive ArrayList<int> , vel? - Det kan du ikke. Men Java-udviklere har skrevet til primitive typer deres ikke-primitive analoger - klasser arvet fraObjekt . Sådan ser det ud: Gammelt niveau 07 - 20- Primitive typer og analoge klasser (indpakningsklasser) kan nemt tildeles hinanden: Gammel niveau 07 - 21- Fint. Så vil jeg vel bruge ArrayList oftere.

8 Risha, Eksempler på ArrayList, Generics

Gammelt niveau 07 - 22- Nu vil jeg give dig virkelig brugbare ting. Her er nogle praktiske eksempler til at arbejde med ArrayList og Generics: - Eksempel 1. Gammel niveau 07 - 23- Eksempel 2. Gammelt niveau 07 - 24- Eksempel 3. Gammelt niveau 07 - 25- Eksempel 4. Gammelt niveau 07 - 26- Eksempel 5. Gammel niveau 07 - 27- Fantastisk! Så Diego vil give mig en masse lignende opgaver nu, ikke? - Jep!

9 Diego, List<T> opgaver

- Endelig er du fri. Jeg er træt af at huske på disse opgaver for dig. Her er et par mere for at holde dig oppe:
Yderligere opgaver at udføre i Intellij Idea
1 1. Tre arrays
1. Læs fra tastaturet 20 numre, gem dem på en liste, og sorter dem derefter i tre andre lister:
Liste 1 gemmer tal deleligt med 3 ( x%3==0 )
Liste 2 gemmer tal deleligt med 2 ( x%2==0 )
Liste 3 gemmer resten af ​​numrene.
Tallene, der er delelige med 3 og 2 på samme tid (f.eks. 6) hører til begge lister – liste 1 og liste 2.
2. Metoden printList() skal vise hvert element i listen på en ny linje.
3. Brug metoden printList() til at vise disse tre lister på skærmen. Først skal liste 1 vises, derefter liste 2, efter denne liste 3.
2 2. 5 ord i omvendt rækkefølge
Læs fra tastaturet 5 ord. Tilføj dem til en strengliste og vis dem på skærmen i omvendt rækkefølge.
3 3. Ordet «her»
1. Opret en liste over ordene «stop», «se», «lyt».
2. Tilføj en streng med «her» efter hvert ord.
3. Vis resultatet. Hvert element i listen skal være på en ny linje. Brug "for" loop.
4 4. Bogstaverne «r» og «l»
1. Lav en liste med ord/strenge, fyld den med hvad du vil.
2. Metoden fix() skal:
2.1. slet alle ord, der indeholder bogstavet «r» fra listen over strenge
2.2. fordoble alle de ord, der indeholder bogstavet «l».
2.3. lad ordet være uændret, hvis det både indeholder bogstaverne «r» og «l».
2.4. gør ikke noget med andre ord. Eksempel

:
rosenpil
lire
eg


Outputdata: pil
pil
lire eg

5 5. Dupliker ordene
1. Læs fra tastaturet 10 ord/strenge, tilføj dem i en strengliste.
2. Metoden doubleValues ​​skal duplikere ord efter mønsteret:
a,b,c → a,a,b,b,c,c.
3. Vis resultatet. Hvert element i listen skal være på en ny linje. Brug "for" loop.

10 Professor

Gammel niveau 07 - 28- Jeg fandt mine skønne foredrag! Så i dag får du den mest værdifulde viden i arrays og lister. Her er de: Tips om ArrayList i Java

11 Julio

- Hej, Amigo! Jeg er glad for, at du har klaret alt dette - du fortjener en belønning:

12 kaptajn egern

- Hej, soldat! - Godmorgen hr! - Jeg har nogle fantastiske nyheder til dig. Her er et hurtigt tjek for at styrke dine færdigheder. Gør det hver dag, og du vil hurtigt forbedre dine færdigheder. Opgaver er specielt designet til at udføre i Intellij IDEA.
Yderligere opgaver at udføre i Intellij Idea
1 1. Vis numre i omvendt rækkefølge.
Læs fra tastaturet 10 numre og fyld listen med dem.
Vis tallene på skærmen i omvendt rækkefølge. Brug løkken.
2 2. Flyt første M linjer til slutningen af ​​listen
Læs fra tastaturet 2 numre: N og M .
Læs fra tastaturets N strenge, og fyld en liste med dem.
Flyt første M linjer til slutningen af ​​listen
Vis listen på skærmen. Hver værdi skal være på en ny linje.
3 3. Største og mindste tal i en matrix
Opret en matrix med 20 tal.
Fyld den med tal, der læses fra tastaturet.
Find det største og mindste tal i en matrix.
Vis på skærmen de største og mindste tal adskilt af et mellemrum.
4 4. Læs strenge fra tastaturet, indtil brugeren indtaster strengen "slut"
Opret en liste over strenge.
Læs fra tastaturstrengene (hvad end du vil), føj dem til listen.
Læs strenge fra tastaturet, indtil brugeren indtaster strengen "slut". "slut" skal udelades.
Vis strengene på skærmen. Hver streng skal være på en ny linje.
5 5. Bang!
Skriv et program, der tæller ned fra 30 til 0, og som viser «Bang!» i slutningen. Programmet skal reducere antallet 10 gange i sekundet. Brug funktionen nedenfor til at indsætte en forsinkelse:
Thread.sleep(100); //forsinkelse på en tiendedel af et sekund.
Eksempel:
30
29

1
0
Bang!
6 6. Familie
Opret en klasse Menneske med felterne: Strengnavn , boolesk køn , int alder , Menneskelig far , Menneskelig mor . Lav 9 objekter af Human-klassen og fyld dem på en sådan måde, at du får to bedstefædre, to bedstemødre, en far, en mor og tre børn. Vis objekterne på skærmen på skærmen.
Tip:
Hvis du skriver din metode String toString() i klassen Human, så vil den blive brugt til at vise et objekt.
Eksempel output:
Navn: Anna, køn: kvinde, alder: 21, far: Paul, mor: Kate
Navn: Kate, køn: kvinde, alder: 55
Navn: Ian, køn: mand, alder: 2, far: Michael, mor: Anna
7 7. Flyt en statisk modifikator
Flyt en statisk modifikator, så programmet kompilerer.
- De opgaver var for grønne. Jeg tilføjede bonusopgaver af højere kompleksitet. Kun til toppistoler.
Bonus opgaver
1 1. Programmet kompilerer og kører ikke. Lav det.
Opgave: Læs kattedata fra tastaturet og vis dem på skærmen.
Eksempel:
Kattens navn er Jinx, alderen er 6, vægten er 5, hale = 22
Kattens navn er Maisy, alderen er 8, vægten er 7, hale = 20
2 2. Tilføj ny funktionalitet til programmet.
Gammel opgave: Programmet læser strenge indtil brugeren indtaster en tom linje ved at trykke enter. Så konverterer den små bogstaver til store bogstaver (mor bliver til MOM) og viser dem på skærmen.
Ny opgave: Programmet skal læse strenge indtil brugeren indtaster en tom linje ved at trykke enter. Programmet bygger derefter en ny liste. Hvis strengen har et lige antal tegn, duplikeres strengen, hvis ulige tal er tredoblet.
Eksempel på input:
Cat
Cats
Me
Eksempel output:
Cat Cat Cat
Cats Cats
Me Me
3 3. At lære og praktisere algoritme.
Læs 20 tal fra tastaturet, og vis dem i faldende rækkefølge.
Kommentarer
  • Populær
  • Ny
  • Gammel
Du skal være logget ind for at skrive en kommentar
Denne side har ingen kommentarer endnu