CodeGym/Java-blogg/Tilfeldig/Gammelt nivå 07
John Squirrels
Nivå
San Francisco

Gammelt nivå 07

Publisert i gruppen

Informasjonsteknologier

Gammelt nivå 07 - 1Datarevolusjonen, som begynte på slutten av 1900-tallet, resulterte i etableringen av internett (nettet) på 90-tallet. Og det var begynnelsen på en enda større revolusjon. Effekten av Internett-oppretting er som industrialisering. Men det kjekkeste er at denne prosessen nettopp har startet.

Ny verden

Nettstedets mengde er over 200 millioner. 3 milliarder internettbrukere der ute. Internett-auksjoner, nettsider, nettbutikker, internett-tjenester. Informasjonsteknologiindustrien vokser 20–30 % årlig. Det er monstrøse priser. Og det fortsetter å vokse. I løpet av de siste 10 årene i Silicon Valley (det viktigste senteret for høyteknologisk industri i verden) opprettes det hver 2. måned et selskap, som etterpå koster milliarder av dollar. For ikke å snakke om slike internettstjerner som Facebook (220 milliarder dollar), Amazon (140 milliarder dollar) og Google (350 milliarder dollar). Alle disse selskapene ville ikke dukket opp hvis det ikke fantes Internett. Alt dette resulterer i høy etterspørsel hos IT-spesialister. Verdens høyteknologiske industri krever: programvareutviklere, designere, QA-testere, arkitekter, ledere, systemadministratorer og andre spesialister.

Det er godt å være IT-spesialist

Gammelt nivå 07 - 2Hvis du er en IT-spesialist, er det en gylden tid for deg. Du kan jobbe for et stort selskap og bo i en liten by eller jobbe for utenlandsk selskap. Du kan tjene to ganger mindre enn i EU, for eksempel, men du vil få 3-10 ganger mer enn på det lokale arbeidsmarkedet. Jo mindre by, jo større forskjell. Du vil motta verdifull erfaring, gode penger og en lys fremtid. Noen ganger drar du på forretningsreiser til arbeidsgiverkontoret ditt. Og hvis du liker det mye, kan du flytte dit. En stigende tidevann løfter alle båter. Hvorfor er det ikke en slik båt som er til rett tid og på rett sted? Dette er også en kunst.

Du har nådd et nytt nivå

Nivå 7

Gammelt nivå 07 - 3

1 Elly, Arrays

- Hei, Amigo! - Hva skjer, Elly? - I dag skal jeg fortelle deg om en ny interessant enhet - matriser. En matrise er en spesiell datatype som kan lagre mer enn én verdi. Gammelt nivå 07 - 4- Jeg begynner med analogi. La oss sammenligne et vanlig hus og et høyhus. Et hus er okkupert av en enkelt familie, mens et høyhus er delt inn i leiligheter. Du må spesifisere den unike adressen for å skrive et brev til en familie som bor i huset. For en familie som bor i leilighet må du oppgi leilighetsnummer i tillegg. - Ja, det er klart. – Så, en matrisevariabel er som et høyhus. Du kan lagre flere verdier i den. En slik variabel har noen leiligheter (celler). Hver av leilighetene kan nås med sitt nummer (indeks).For å gjøre dette, etter variabelnavnet i hakeparenteser, må du spesifisere indeksen til cellen du får tilgang til. Det er ganske enkelt. - Jeg håper det. - En matrisevariabel (en høyhus) kan være av hvilken som helst type, så du må bare skrive TypeName[] variable_namei stedet for TypeName variable_name. - Her er eksempler på hva du kan gjøre med arrays: Gammelt nivå 07 - 5- Så spennende! - En matrisevariabel trenger ekstra initialisering. - Hvorfor det? - En vanlig variabel er klar til bruk like etter deklarasjonen. Når det gjelder arrays, er det litt mer komplisert: - Først må du lage en beholder med N elementer, og deretter kan du plassere verdier i den. Gammelt nivå 07 - 6- Jepp. Det blir klarere nå. - Grunnleggende om arrays :
  1. Matrisen består av flere celler.
  2. Hver celle er tilgjengelig ved å angi nummeret.
  3. Alle cellene er av samme type.
  4. I en rekke med n elementer har cellene indeksene 0,1,2,...,n-1. Det er ingen celle med indeks n i matrisen.
  5. Startverdien for alle cellene er null, for primitive typer – 0, 0,0 for brøker, falsk – for boolsk type, nøyaktig det samme som i enkle uinitialiserte variabler.
  6. String[] liste er bare en erklæring av en variabel. Først må du lage en matrise (beholder) og legge den i variabelen, og deretter bruke den. Se eksempelet nedenfor.
  7. Når du oppretter en objektmatrise (beholder), er det nødvendig å spesifisere lengden (hvor mange celler den vil ha). For å gjøre dette må du skrive en kommando: TypeName er typen verdier som vil bli lagret i cellene i matrisen.new TypeName[n];
Gammelt nivå 07 - 7- Eksempler: Gammelt nivå 07 - 8

2 Risha, Arrangement av arrays i minnet

- Hei, Amigo! La meg vise deg hvordan det hele fungerer i minnet: Gammelt nivå 07 - 9- Og hva er denne 345? – Egentlig plukket jeg det ut av luften, men normalt er det adressen til strengen som inneholder ordet «Stopp». - Når det gjelder arrays, er det litt mer komplisert:
Gammelt nivå 07 - 10
- Er 155 166 177 også trukket ut av en hatt som representerer adressen til strenger til høyre? - Jepp. Det er bra at du gjettet det. Merk at i det andre bildet er det et ekstra objekt - en rekke med 10 celler. - Alt er klart, takk. Et bilde er verdt tusen ord. Takk, Risha.

3 Risha, Eksempler på arrays Array

- Jeg vil gi deg noen eksempler på interessante ting du kan gjøre med arrays: Eksempel 1. Gammelt nivå 07 - 11Eksempel 2. Gammelt nivå 07 - 12Eksempel 3. Gammelt nivå 07 - 13Eksempel 4. Gammelt nivå 07 - 14Eksempel 5. Gammelt nivå 07 - 15

4 Diego, Oppgaver for opprettelse og bruk av arrays

- Hei, Amigo! Her er et par oppgaver for deg, kompis:
Oppgaver
1 1. Maksimalt en matrise på 20 tall
1. I metoden initializeArray() :
1.1. Lag en matrise med 20 tall
1.2. Les fra tastaturet 20 tall og fyll arrayet med dem
2. Metoden max(int[] array) skal finne det maksimale antallet av elementene i arrayet

2

2. Matrise med strenger i omvendt rekkefølge
1. Lag en matrise med 10 strenger.
2. Les 8 strenger fra tastaturet og lagre dem i arrayet.
3. Vis innholdet i hele matrisen (10 elementer) på skjermen i omvendt rekkefølge. Hvert element skal være på en ny linje.

3 3. 2 matriser
1. Lag en matrise med 10 strenger.
2. Lag en annen rekke med 10 tall.
3. Les fra tastaturet 10 strenger og fyll strengen med dem.
4. Skriv lengden på en streng fra hver celle i strengmatrisen i cellen med tallmatrisen med samme indeks. Vis innholdet i tallrekken på skjermen. Hver verdi skal være på en ny linje.
4 4. Matrise med tall i omvendt rekkefølge
1. Lag en matrise med 10 tall.
2. Les 10 tall fra tastaturet og lagre dem i arrayet.
3. Ordne matriseelementer i omvendt rekkefølge.
4. Vis resultatet på skjermen. Hver verdi skal være på en ny linje.
5 5. En stor og to små matriser
1. Lag en matrise med 20 tall.
2. Les 20 tall fra tastaturet og fyll matrisen med dem.
3. Lag to matriser med 10 tall hver.
4. Kopier tallene fra den store matrisen til to små matriser: halvparten av tallene til den første matrisen, den andre halvparten til den andre.
5. Vis den andre lille matrisen på skjermen. Hver verdi skal være på en ny linje.

5 Elly, ArrayList vs. Array

- Det er meg. - Hei, Elly! – I dag har vi et nytt spennende tema! Nå skal jeg fortelle deg om en interessant ny klasse, ArrayList . – Å, en ny klasse? Wow! Hva gjør den? - La meg begynne med en liten bakhistorie. Programmererne likte ikke én egenskap ved en matrise: det er umulig å endre størrelsen. Hva gjør du hvis du vil lagre tre oppføringer mer i arrayet, men det er bare én ledig plass? – Den eneste løsningen på plassmangelproblemet var å lage et veldig stort array som inneholder alle elementene. Men dette førte ofte til ineffektiv bruk av minne. For eksempel, hvis du i løpet av 99 % av matrisens levetid trengte å lagre bare 3 elementer i matrisen, og bare i 1% - 100 elementer, måtte du lage en matrise med 100 elementer. – Så hva kom programmererne på? – De skrev klassen ArrayList som gjorde samme jobben som Arrayen, men som kunne variere størrelsen. – Et interessant grep. Og hvordan gjorde de det? - Hvert ArrayList- objekt lagrer en vanlig rekke elementer inne. Når du leser elementer fra ArrayList , leser den dem fra den interne matrisen. Når du skriver elementene, skriver den dem til den interne matrisen. Sammenlign: Gammelt nivå 07 - 16- Så hva er fordelen med ArrayList? For meg ble koden lengre. - For det første støtter ArrayList noen tilleggsfunksjoner som ikke er tilgjengelige i array, som programmerere bruker veldig ofte. For eksempel,sett inn elementer i og slett dem fra midten av matrisen uten å etterlate hull. - For det andre kan ArrayList endre størrelsen . Når ArrayList trenger å lagre ett element til i sin interne array, og det ikke er ledig plass, skjer følgende inne i ArrayList :
  1. en annen matrise opprettes, dobbelt så stor.
  2. alle elementene i den gamle matrisen kopieres til den nye matrisen.
  3. en ny matrise er lagret i en intern variabel i ArrayList-objektet, den gamle matrisen blir erklært som søppel (vi lagrer rett og slett ikke referansen lenger).
Gammelt nivå 07 - 17Og hvordan jobbe med ArrayList? - Egentlig på samme måte som med en matrise. Se her. La oss sammenligne arbeid med ArrayList og arbeid med en matrise. Som et eksempel, la oss løse følgende oppgave: « Programmet skal lese fra tastaturet 10 streng og vise dem til skjermen i omvendt rekkefølge ». - Sjekk dette: Gammelt nivå 07 - 18- Jeg malte tilsvarende handlinger i begge kolonnene med én farge. – Det virker annerledes, men hvis du ser nærmere etter er alt det samme. - Jepp. Nå har vi ingen firkantede parenteser når vi bruker ArrayList . I stedet bruker vi metodene get , set og add . - Jeg har lagt merke til det. Men det er fortsatt veldig likt.

6 Diego, ArrayList-oppgaver

– Gjør du ingenting igjen? Du er en robot, er du ikke? Roboter er alltid opptatt med noe. Her er noen oppgaver for å holde deg oppe. Men la oss begynne med et par tips. - Tips 1: En liste betyr oftest en ArrayList . - Tips 2: En streng betyr typen String . - Tips 3: Å lage en liste over strenger betyr oftest ArrayList<String> list = new ArrayList<String>();
Oppgaver
1 Oppgave 1. 5 forskjellige strenger i en liste
1. Lag en liste med strenger.
2. Legg til 5 forskjellige strenger i listen.
3. Vis størrelsen på skjermen.
4. Vis innholdet i listen på skjermen. Hver verdi skal være på en ny linje. Bruk en løkke.
2 Oppgave 2. 5 linjer: «101», «102», «103», «104», «105»
1. Lag en liste med strenger.
2. Legg til 5 strenger i listen. «101», «102», «103», «104», «105».
3. Slett den første, den midterste og den siste.
4. Vis innholdet i listen på skjermen. Hver verdi skal være på en ny linje. Bruk en løkke.
5. Vis størrelsen på skjermen. (Etter at du har slettet en oppføring, endres indeksene til andre oppføringer. Hvis vi for eksempel sletter det første elementet, blir det andre det første).
3 Oppgave 3. 5 linjer i omvendt rekkefølge
1. Lag en liste med strenger.
2. Les 5 strenger fra tastaturet, og legg dem deretter til listen.
3. Ordne dem i omvendt rekkefølge.
4. Vis innholdet i listen på skjermen. Hver verdi skal være på en ny linje. Bruk en løkke.
4

Oppgave 4. Legg til 5 strenger i begynnelsen av listen
1. Lag en liste med strenger.
2. Les fra tastaturet 5 strenger. Legg disse strengene til begynnelsen av listen, ikke til slutten.
3. Vis innholdet i listen på skjermen. Hver verdi skal være på en ny linje. Bruk en løkke.

5 Oppgave 5. Slett den siste strengen og legg den til i begynnelsen av listen
1. Lag en liste med strenger.
2. Les fra tastaturet 5 strenger. Legg til disse strengene i listen.
3. Slett den siste strengen og legg den til i begynnelsen av listen. Gjenta denne handlingen 13 ganger.
4. Vis innholdet i listen på skjermen. Hver verdi skal være på en ny linje. Bruk en løkke.

7 Risha, generiske

- Nå, nok et fantastisk tema. – Denne dagen er full av overraskelser. Det er som en ekte bursdag. – I dag skal jeg fortelle deg hva generika er. Generiske er typer som har parametere. I Java lar containerklasser deg spesifisere typer av deres interne objekter . – Når vi deklarerer en generisk variabel, spesifiserer vi to typer i stedet for én: typen av variabelen og typen data som er lagret i variabelen. Et godt eksempel på dette er ArrayList. Når vi oppretter et nytt objekt/variabel av typen ArrayList, er det også greit å spesifisere type verdier som skal lagres i listen. Gammelt nivå 07 - 19– Det høres spennende ut. Jeg elsket spesielt det du sa om enhver type. – Det ser bare ut til å være bra. Faktisk, hvis du i en metode plasserer strenger i en ArrayList, og i den andre metoden jobber med innholdet og forventer at det bare vil være tall, vil programmet krasje. - Jeg skjønner. Foreløpig kommer vi ikke til å lage våre egne klasser med type-parametere, vi skal lære å bruke klasser skrevet av Java-skapere. - Kan jeg bruke hvilken som helst klasse som typeparameter, også den jeg har skrevet? – Ja, alle typer, bortsett fra primitive. Alle klasseparametere må arves fra klasseobjektet. - Så jeg kan ikke skrive ArrayList<int> , kan jeg? - Det kan du ikke. Men Java-utviklere har skrevet for primitive typer deres ikke-primitive analoger - klasser arvet fraObjekt . Slik ser det ut: Gammelt nivå 07 - 20- Primitive typer og analoge klasser (innpakningsklasser) kan enkelt tildeles hverandre: Gammelt nivå 07 - 21- Fint. Da antar jeg at jeg kommer til å bruke ArrayList oftere.

8 Risha, Eksempler på ArrayList, Generics

Gammelt nivå 07 - 22- Nå skal jeg gi deg virkelig nyttige ting. Her er noen nyttige eksempler for å jobbe med ArrayList og Generics: - Eksempel 1. Gammelt nivå 07 - 23- Eksempel 2. Gammelt nivå 07 - 24- Eksempel 3. Gammelt nivå 07 - 25- Eksempel 4. Gammelt nivå 07 - 26- Eksempel 5. Gammelt nivå 07 - 27- Fantastisk! Så, Diego kommer til å gi meg en haug med lignende oppgaver nå, ikke sant? - Jepp!

9 Diego, List<T> oppgaver

– Endelig er du fri. Jeg er lei av å huske på disse oppgavene for deg. Her er et par til for å holde deg oppdatert:
Ytterligere oppgaver å gjøre i Intellij Idea
1 1. Tre matriser
1. Les fra tastaturet 20 tall, lagre dem i en liste, og sorter dem deretter i tre andre lister:
Liste 1 lagrer tall som er delbare med 3 ( x%3==0 )
Liste 2 lagrer tall som er delbare med 2 ( x%2==0 )
Liste 3 lagrer resten av tallene.
Tallene som er delbare med 3 og 2 samtidig (for eksempel 6) tilhører begge listene – liste 1 og liste 2.
2. Metoden printList() skal vise hvert element i listen på en ny linje.
3. Bruk metoden printList() for å vise disse tre listene på skjermen. Først skal liste 1 vises, deretter liste 2, etter den liste 3.
2 2. 5 ord i omvendt rekkefølge
Les fra tastaturet 5 ord. Legg dem til i en strengliste og vis dem på skjermen i omvendt rekkefølge.
3 3. Ordet «her»
1. Lag en liste over ordene «stopp», «se», «lytt».
2. Legg til en streng som inneholder «her» etter hvert ord.
3. Vis resultatet. Hvert element i listen skal være på en ny linje. Bruk "for" loop.
4 4. Bokstavene «r» og «l»
1. Lag en liste med ord/strenger, fyll den med det du måtte ønske.
2. Metoden fix() skal:
2.1. slett alle ordene som inneholder bokstaven «r» fra listen over strenger
2.2. doble alle ordene som inneholder bokstaven «l».
2.3. la ordet stå uendret dersom det inneholder både bokstavene «r» og «l».
2.4. ikke gjør noe med andre ord.

Eksempel:
rosevier lyre eik
Utdata



:
pil
selje
lyre
eik
5 5. Dupliser ordene
1. Les fra tastaturet 10 ord/strenger, legg dem til i en strengliste.
2. Metoden doubleValues ​​skal duplisere ord i henhold til 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. Bruk "for" loop.

10 Professor

Gammelt nivå 07 - 28– Jeg fant mine fantastiske forelesninger! Så i dag vil du få den mest verdifulle kunnskapen i matriser og lister. Her er de: Tips om ArrayList i Java

11 Julio

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

12 Kaptein Ekorn

- Hei, soldat! - God morgen, sir! - Jeg har noen fantastiske nyheter til deg. Her er en rask sjekk for å styrke ferdighetene dine. Gjør det hver dag, og du vil forbedre ferdighetene dine raskt. Oppgaver er spesielt designet for å gjøre i Intellij IDEA.
Ytterligere oppgaver å gjøre i Intellij Idea
1 1. Vis tall i omvendt rekkefølge
Les fra tastaturet 10 tall og fyll listen med dem.
Vis tallene i omvendt rekkefølge på skjermen. Bruk løkken.
2 2. Flytt de første M linjene til slutten av listen
Les fra tastaturet 2 tall: N og M .
Les fra tastaturets N- strenger og fyll en liste med dem.
Flytt de første M linjene til slutten av listen
Vis listen på skjermen. Hver verdi skal være på en ny linje.
3 3. Største og minste tall i en matrise
Lag en matrise med 20 tall.
Fyll den med tall som leses fra tastaturet.
Finn det største og minste tallet i en matrise.
Vis de største og minste tallene på skjermen atskilt med et mellomrom.
4 4. Les strenger fra tastaturet til brukeren skriver inn strengen "slutt"
Lag en liste over strenger.
Les fra tastaturstrengene (hva du vil), legg dem til i listen.
Les strenger fra tastaturet til brukeren skriver inn strengen "slutt". "slutt" bør utelates.
Vis strengene på skjermen. Hver streng skal være på en ny linje.
5 5. Bang!
Skriv et program som teller ned fra 30 til 0, og viser «Bang!» på slutten. Programmet skal redusere antallet 10 ganger per sekund. Bruk funksjonen nedenfor for å sette inn en forsinkelse:
Thread.sleep(100); //forsinkelse på en tiendedel av et sekund.
Eksempel:
30
29

1
0
Bang!
6 6. Familie
Lag en klasse Menneske med feltene: Strengnavn , boolsk kjønn , int alder , Menneskelig far , Menneskelig mor . Lag 9 gjenstander av menneskeklassen og fyll dem på en slik måte at du får to bestefedre, to bestemødre, en far, en mor og tre barn. Vis objektene på skjermen på skjermen.
Tips:
Hvis du skriver metoden String toString() i klassen Human, vil den bli brukt til å vise et objekt.
Eksempel:
Navn: Anna, kjønn: kvinne, alder: 21, far: Paul, mor: Kate
Navn: Kate, kjønn: kvinne, alder: 55
Navn: Ian, kjønn: mann, alder: 2, far: Michael, mor: Anna
7 7. Flytt en statisk modifikator
Flytt en statisk modifikator slik at programmet kompilerer.
– De oppgavene var for greener. Jeg la til bonusoppgaver med høyere kompleksitet. Kun for toppvåpen.
Bonusoppgaver
1 1. Programmet kompilerer og kjører ikke. Fiks det.
Oppgave: Les kattedataene fra tastaturet og vis dem på skjermen.
Eksempel:
Kattens navn er Jinx, alder er 6, vekten er 5, hale = 22
Kattens navn er Maisy, alder er 8, vekten er 7, hale = 20
2 2. Legg til ny funksjonalitet til programmet.
Gammel oppgave: Programmet leser strenger til brukeren skriver inn en tom linje ved å trykke enter. Deretter konverterer den små bokstaver til store bokstaver (mamma blir til MOM) og viser dem på skjermen.
Ny oppgave: Programmet skal lese strenger til brukeren skriver inn en tom linje ved å trykke enter. Programmet bygger deretter en ny liste. Hvis strengen har et partall av tegn, dupliseres strengen, hvis oddetall tredobles strengen.
Eksempel på input:
Cat
Cats
Me
Eksempel på utdata:
Cat Cat Cat
Cats Cats
Me Me
3 3. Lære og praktisere algoritme.
Les fra tastaturet 20 tall og vis dem i synkende rekkefølge.
Kommentarer
  • Populær
  • Ny
  • Gammel
Du må være pålogget for å legge igjen en kommentar
Denne siden har ingen kommentarer ennå