CodeGym/Java blog/Véletlen/Régi szint 07
John Squirrels
Szint
San Francisco

Régi szint 07

Megjelent a csoportban

Információs technológiák

Régi szint 07-1A 20. század végén kezdődött számítógépes forradalom a 90-es években az internet (web) létrejöttét eredményezte. És ez még nagyobb forradalom kezdete volt. Az internetes teremtés hatása olyan, mint az iparosodás. De a legfinomabb, hogy ez a folyamat most kezdődött.

Új világ

A telephelyek száma meghaladja a 200 milliót. 3 milliárd internet-felhasználó. Internetes aukciók, weboldalak, online boltok, internetes szolgáltatások. Az informatikai ipar évente 20-30%-kal növekszik. Szörnyű árak. És folyamatosan növekszik. Az elmúlt 10 évben a Szilícium-völgyben (a világ csúcstechnológiás iparának fő központja) 2 havonta jön létre egy cég, ami utána dollármilliárdokba kerül. Nem beszélve az olyan internetes sztárokról, mint a Facebook (220 milliárd dollár), az Amazon (140 milliárd dollár) és a Google (350 milliárd dollár). Mindezek a cégek nem jelennének meg, ha nem lenne internet. Mindez nagy keresletet eredményez az IT-szakemberek iránt. A világ csúcstechnológiás iparának szüksége van: szoftverfejlesztőkre, tervezőkre, minőségbiztosítási tesztelőkre, építészekre, menedzserekre, rendszergazdákra és egyéb szakemberekre.

Informatikusnak lenni jó

Régi szint 07-2Ha informatikus vagy, ez egy aranyidő az Ön számára. Dolgozhatsz egy nagy cégnél és élhetsz egy kisvárosban, vagy dolgozhatsz külföldi cégnél. Lehet, hogy kétszer kevesebbet keres, mint például az EU-ban, de 3-10-szer többet kap, mint a helyi munkaerőpiacon. Minél kisebb a település, annál nagyobb a különbség. Értékes tapasztalatot, jó pénzt és fényes jövőt kap. Néha üzleti útra megy a munkáltatói irodába. És ha nagyon szereted, átköltözhetsz oda. Egy emelkedő dagály minden csónakot felemel. Miért ne lenne olyan hajó, amely a megfelelő időben és a megfelelő helyen van? Ez is művészet.

Új szintet értél el

7. szint

Régi szint 07-3

1 Elly, Arrays

- Szia Amigo! - Mi újság, Elly? - Ma egy új érdekes entitásról fogok mesélni, a tömbökről. A tömb egy speciális adattípus, amely egynél több értéket tárolhat. Régi szint 07-4- A hasonlattal kezdem. Hasonlítsunk össze egy szokásos házat és egy sokemeleteset. Egy házban egyetlen család lakik, míg egy sokemeletes épület lakásokra van osztva. Meg kell adnia az egyedi címet, hogy levelet írjon a házban élő családnak. Lakásban élő családnál a lakásszámot is meg kell adni. - Igen, ez világos. - Tehát egy tömbváltozó olyan, mint egy sokemeletes épület. Több értéket is tárolhat benne. Egy ilyen változónak van néhány lakása (cellája). Az apartmanok mindegyike a számával (indexével) érhető el.Ehhez a szögletes zárójelben lévő változó neve után meg kell adni az elért cella indexét. Ez elég egyszerű. - Remélem. - Egy tömbváltozó (egy sokemeletes épület) bármilyen típusú lehet, ezért csak írnod ​​kell TypeName[] variable_namea helyett TypeName variable_name. - Íme néhány példa arra, hogy mit tehet a tömbökkel: Régi szint 07-5- Milyen izgalmas! - Egy tömbváltozó további inicializálást igényel. - Miért is? - Egy szokásos változó közvetlenül a deklarálása után készen áll a használatra. Ami a tömböket illeti, ez egy kicsit bonyolultabb: - Először is létre kell hozni egy N elemből álló tárolót, és utána lehet értékeket elhelyezni. Régi szint 07-6- Igen. Most már világosabb lesz. - A tömbök alapjai :
  1. A tömb több cellából áll.
  2. Minden cella a számának megadásával érhető el.
  3. Az összes cella azonos típusú.
  4. Egy n elemű tömbben a cellák indexei 0,1,2,...,n-1. A tömbben nincs n indexű cella.
  5. Az összes cella kezdeti értéke null, primitív típusoknál – 0, 0,0 a tört típusoknál, false – logikai típusnál, pontosan ugyanaz, mint az egyszerű inicializálatlan változóknál.
  6. A string[] lista csak egy változó deklarációja. Először létre kell hoznia egy tömböt (tárolót), és be kell helyeznie a változóba, majd használja. Lásd az alábbi példát.
  7. Objektumtömb (tároló) létrehozásakor meg kell adni a hosszát (hány cella lesz). Ehhez egy parancsot kell írnia: A TypeName a tömb celláiban tárolt értékek típusa.new TypeName[n];
Régi szint 07-7- Példák: Régi szint 07-8

2 Risha, Tömbök elrendezése a memóriában

- Szia Amigo! Hadd mutassam meg, hogyan működik mindez a memóriában: Régi szint 07-9- És mi ez a 345? - Tulajdonképpen a levegőből szedtem ki, de általában ez a „Stop” szót tartalmazó karakterlánc címe. - Ami a tömböket illeti, ez egy kicsit bonyolultabb:
Régi szint 07-10
- A 155 166 177 a kalapból kihúzott számok is, amelyek a jobb oldali karakterláncok címét jelentik? - Igen. Még jó, hogy kitaláltad. Vegye figyelembe, hogy a második képen van egy további objektum - egy 10 cellából álló tömb. - Minden világos, köszönöm. Egy kép többet ér ezer szónál. Köszönöm, Risha.

3 Risha, Példák tömbökre Array

- Szeretnék néhány példát mutatni azokra az érdekes dolgokra, amelyeket a tömbökkel megtehet: 1. példa. Régi szint 07-112. Régi szint 07-12példa. 3. Régi szint 07-13példa. 4. példa Régi szint 07-14. 5. példa. Régi szint 07-15

4 Diego, Feladatok tömbök létrehozásához és használatához

- Szia Amigo! Íme néhány feladat a számodra, haver:
Feladatok
1 1. Maximum 20 számból álló tömb 1. Az inicializeArray()
metódusban : 1.1. Hozz létre egy 20 számból álló tömböt 1.2. Olvasson be a billentyűzetről 20 számot, és töltse ki a tömböt 2. A max(int[] tömb) metódusnak meg kell találnia a tömb elemeinek maximális számát



2

2. Stringek tömbje fordított sorrendben
1. Hozzon létre egy 10 karakterláncból álló tömböt.
2. Olvasson be a billentyűzetről 8 karakterláncot, és tárolja a tömbben.
3. Jelenítse meg a képernyőn a teljes tömb (10 elem) tartalmát fordított sorrendben. Minden elemnek új sorban kell lennie.

3 3. 2 tömb
1. Hozzon létre egy 10 karakterláncból álló tömböt.
2. Hozzon létre egy másik 10 számból álló tömböt.
3. Olvasson be a billentyűzetről 10 karakterláncot, és töltse ki ezekkel a string tömböt.
4. Írja be a string tömb minden cellájából származó karakterlánc hosszát a számok tömb azonos indexű cellájába! Jelenítse meg a képernyőn a számtömb tartalmát. Minden értéknek új sorban kell lennie.
4 4. Számok tömbje fordított sorrendben
1. Hozzon létre egy 10 számból álló tömböt.
2. Olvasson be a billentyűzetről 10 számot, és tárolja el a tömbben.
3. Rendezd a tömb elemeit fordított sorrendbe.
4. Jelenítse meg a képernyőn az eredményt. Minden értéknek új sorban kell lennie.
5 5. Egy nagy és két kis tömb
1. Hozzon létre egy 20 számból álló tömböt.
2. Olvasson be a billentyűzetről 20 számot, és töltse ki velük a tömböt.
3. Hozzon létre két, egyenként 10 számból álló tömböt.
4. Másolja át a nagy tömb számait két kis tömbbe: a számok felét az első tömbbe, a másik felét a másodikba.
5. Jelenítse meg a képernyőn a második kis tömböt. Minden értéknek új sorban kell lennie.

5 Elly, ArrayList vs. Array

- Én vagyok. - Szia Elly! - Ma egy új izgalmas témánk van! Most egy érdekes új osztályról, az ArrayListről mesélek . - Ó, új osztály? Azta! Mit csinal? - Hadd kezdjem egy kis háttértörténettel. A programozóknak nem tetszett a tömb egyetlen tulajdonsága: lehetetlen megváltoztatni a méretét. Mi a teendő, ha még három bejegyzést szeretne tárolni a tömbben, de csak egy szabad hely van? - Az egyetlen megoldás a helyhiány problémájára egy nagyon nagy tömb létrehozása volt, amely minden elemet tartalmaz. Ez azonban gyakran a memória nem hatékony használatához vezetett. Például, ha a tömb élettartamának 99%-ában csak 3 elemet kellett tárolnia a tömbben, és csak 1%-100 elemet, akkor 100 elemből álló tömböt kell létrehoznia. - Szóval mit találtak ki a programozók? - Megírták az ArrayList osztályt , amely ugyanazt a munkát végezte, mint az Array, de változtathat a méretén. - Érdekes lépés. És hogyan tették ezt? - Minden ArrayList objektum egy közönséges elemtömböt tárol belül. Amikor az ArrayList elemeit olvassa be , a belső tömbből olvassa be azokat. Az elemek írásakor a belső tömbbe írja őket. Hasonlítsa össze: Régi szint 07-16- Tehát mi az előnye az ArrayList-nek? Ami engem illet, a kód hosszabb lett. - Először is, az ArrayList néhány további, tömbben nem elérhető funkciót támogat, amelyeket a programozók nagyon gyakran használnak. Például,szúrjon be elemeket a tömb közepéről, és törölje azokat anélkül, hogy lyukakat hagyna. - Másodszor, az ArrayList megváltoztathatja a méretét . Ha az ArrayList-nek még egy elemet kell tárolnia a belső tömbjében, és nincs szabad hely, a következő történik az ArrayListben :
  1. egy másik tömb jön létre, kétszer akkora.
  2. a régi tömb összes eleme átmásolódik az új tömbbe.
  3. egy új tömb az ArrayList objektum belső változójában van eltárolva, a régi tömb szemétté nyilvánítva (egyszerűen nem tároljuk többé a hivatkozását).
Régi szint 07-17És hogyan kell dolgozni az ArrayListtel? - Valójában ugyanúgy, mint egy tömbnél. Nézz ide. Hasonlítsuk össze a munkát az ArrayList- tel és dolgozzunk egy tömbbel. Példaként oldjuk meg a következő feladatot: « A program olvassa be a billentyűzet 10 karakterláncát, és fordított sorrendben jelenítse meg a képernyőn ». - Ellenőrizze ezt: Régi szint 07-18- Mindkét oszlopban egy színnel festettem egyenértékű műveleteket. - Másnak tűnik, de ha jobban megnézed, minden a régi. - Igen. Most már nincs szögletes zárójel az ArrayList használatakor . Ehelyett a get , set és add metódusokat használjuk . - Észrevettem. De még mindig nagyon hasonlít.

6 Diego, ArrayList feladatok

- Már megint nem csinálsz semmit? Te egy robot vagy, igaz? A robotok mindig el vannak foglalva valamivel. Íme néhány feladat, hogy lépést tartson. De kezdjük néhány tippel. - 1. tipp: A lista leggyakrabban egy ArrayList- et jelent . - 2. tipp: A karakterlánc a String típust jelenti . - 3. tipp: A karakterláncok listájának létrehozása leggyakrabban azt jelenti, hogy ArrayList<String> list = new ArrayList<String>();
Feladatok
1 1. feladat. 5 különböző karakterlánc egy listában
1. Hozzon létre egy listát a karakterláncokból.
2. Adjon hozzá 5 különböző karakterláncot a listához.
3. Jelenítse meg a képernyőn a méretét.
4. Jelenítse meg a képernyőn a lista tartalmát. Minden értéknek új sorban kell lennie. Használjon hurkot.
2 2. feladat 5 sor: «101», «102», «103», «104», «105»
1. Hozzon létre egy listát a karakterláncokból!
2. Adjon hozzá 5 karakterláncot a listához. «101», «102», «103», «104», «105».
3. Törölje az elsőt, a középsőt és az utolsót.
4. Jelenítse meg a képernyőn a lista tartalmát. Minden értéknek új sorban kell lennie. Használjon hurkot.
5. Jelenítse meg a képernyőn a méretét. (Egy bejegyzés törlése után a többi bejegyzés indexe megváltozik. Például ha az első elemet töröljük, a második lesz az első).
3 3. feladat 5 sor fordított sorrendben
1. Hozzon létre egy listát a karakterláncokból!
2. Olvasson 5 karakterláncot a billentyűzetről, majd adja hozzá a listához.
3. Rendezd őket fordított sorrendbe.
4. Jelenítse meg a képernyőn a lista tartalmát. Minden értéknek új sorban kell lennie. Használjon hurkot.
4

4. feladat: Adjunk hozzá 5 karakterláncot a lista elejéhez
1. Hozzuk létre a karakterláncok listáját.
2. Olvasson be a billentyűzetről 5 karakterláncot. Ezeket a karakterláncokat a lista elejéhez adja hozzá, ne a végéhez.
3. Jelenítse meg a képernyőn a lista tartalmát. Minden értéknek új sorban kell lennie. Használjon hurkot.

5 5. feladat Törölje az utolsó karakterláncot, és adja hozzá a lista elejéhez
1. Hozzon létre egy listát a karakterláncokból.
2. Olvassa be a billentyűzetről 5 karakterláncot. Adja hozzá ezeket a karakterláncokat a listához.
3. Törölje az utolsó karakterláncot, és adja hozzá a lista elejéhez. Ismételje meg ezt a műveletet 13-szor.
4. Jelenítse meg a képernyőn a lista tartalmát. Minden értéknek új sorban kell lennie. Használjon hurkot.

7 Risha, Generics

- Most egy másik fantasztikus téma. - Ez a nap tele van meglepetésekkel. Olyan, mint egy igazi születésnap. - Ma elmondom, mi az a generikus. Az általánosok olyan típusok, amelyek paraméterekkel rendelkeznek. A Java-ban a konténerosztályok lehetővé teszik belső objektumaik típusának megadását . - Általános változó deklarálásakor egy helyett két típust adunk meg: a változó típusát és a változóban tárolt adatok típusát. Jó példa erre az ArrayList. Amikor új ArrayList típusú objektumot/változót hozunk létre, célszerű megadni a listán belül tárolandó értékek típusát is. Régi szint 07-19- Izgalmasan hangzik. Különösen tetszett, amit bármilyen típusról mondtál . - Csak jónak tűnik. Valójában, ha az egyik metódusban karakterláncokat helyezünk el egy ArrayList-be, a másik metódusban pedig a tartalmával dolgozunk, és arra számítunk, hogy csak számok lesznek, a program összeomlik. - Látom. - Egyelőre nem fogunk saját osztályokat létrehozni típusparaméterekkel, megtanuljuk a Java készítők által írt osztályok használatát. - Használhatok bármilyen osztályt típusparaméterként, még azt is, amit én írtam? - Igen, bármilyen típusú, kivéve a primitíveket. Minden osztályparamétert az Object osztályból kell örökölni. - Szóval nem írhatok ArrayList<int> , ugye? - Nem teheted. De a Java fejlesztők a primitív típusokhoz írták a nem primitív analógjaikat – az osztályokatTárgy . Így néz ki: Régi szint 07-20- Primitív típusok és analóg osztályok (wrapper osztályok) könnyen hozzárendelhetők egymáshoz: Régi szint 07-21- Finom. Akkor azt hiszem, gyakrabban fogom használni az ArrayList-et.

8 Risha, Példák az ArrayListre, Generics

Régi szint 07-22- Most igazán hasznos dolgokat adok neked. Íme néhány praktikus példa az ArrayList és a Generics használatához: - 1. példa Régi szint 07-23- 2. példa Régi szint 07-24- 3. Régi szint 07-25példa - 4. példa Régi szint 07-26- 5. példa Régi szint 07-27- Félelmetes! Szóval Diego most egy csomó hasonló feladatot fog nekem adni, nem? - Igen!

9 Diego, List<T> feladatok

- Végre szabad vagy. Belefáradtam, hogy ezeket a feladatokat észben tartom neked. Íme még néhány, hogy ne maradj le:
További feladatok az Intellij Idea programban
1 1. Három tömb
1. Olvasson be a billentyűzetről 20 számot, mentse el őket egy listába, majd rendezze három másik listába: Az
1. lista 3-mal osztható számokat tárol ( x%3==0 )
A 2. lista 2-vel osztható számokat tárol ( x%2==0 )
A 3. lista tárolja a többi számot.
Az egyszerre 3-mal és 2-vel osztható számok (például 6) mindkét listához – az 1. listához és a 2. listához – tartoznak.
2. A printList() metódusnak a lista minden elemét új sorban kell megjelenítenie. 3. A printList()
metódus segítségével jelenítse meg a képernyőn ezt a három listát. Először az 1. listát kell megjeleníteni, majd a 2. listát, ezt követően pedig a 3. listát.
2 2. 5 szó fordított sorrendben
Olvasson le a billentyűzetről 5 szó. Adja hozzá őket egy karakterlánc-listához, és jelenítse meg őket a képernyőn fordított sorrendben.
3 3. Az «itt» szó
1. Készítsen listát a «állj», «nézz», «figyelj» szavakból.
2. Minden szó után adjon hozzá egy "itt" karakterláncot.
3. Jelenítse meg az eredményt. A lista minden elemének új sorban kell lennie. Használja a „for” hurkot.
4 4. «r» és «l» betűk
1. Hozzon létre egy listát a szavakból/karakterláncokból, és töltse ki azzal, amit akar.
2. A fix() metódusnak:
2.1. törölje az összes «r» betűt tartalmazó szót a karakterláncok listájából
2.2. duplázza meg az összes «l» betűt tartalmazó szót.
2.3. hagyja változatlanul a szót, ha az «r» és «l» betűket is tartalmazza.
2.4. ne csinálj semmit más szavakkal. Példa

:
rózsafűz
líra tölgy



Kimeneti adatok:
fűz
fűz
líra
tölgy
5 5. A szavak megkettőzése
1. Olvasson fel a billentyűzetről 10 szót/karakterláncot, és adja hozzá egy karakterlánc-listához.
2. A doubleValues ​​metódusnak meg kell duplikálnia a szavakat a minta szerint:
a,b,c → a,a,b,b,c,c.
3. Jelenítse meg az eredményt. A lista minden elemének új sorban kell lennie. Használja a „for” hurkot.

10 professzor

Régi szint 07-28- Megtaláltam csodálatos előadásaimat! Így ma a legértékesebb tudásra tesz szert tömbökben és listákban. Itt vannak: Tippek a Java ArrayList-hez

11 Julio

- Szia Amigo! Örülök, hogy megbirkózott mindezzel – megérdemel egy jutalmat:

12 Kapitány Mókus

- Szia katona! - Jó reggelt uram! - Van egy nagyszerű hírem a számodra. Íme egy gyors ellenőrzés, amellyel erősítheti képességeit. Csináld minden nap, és nagyon gyorsan fejleszted képességeidet. A feladatokat kifejezetten az Intellij IDEA-ban való használatra tervezték.
További feladatok az Intellij Idea programban
1 1. Jelenítse meg a számokat fordított sorrendben
Olvasson le a billentyűzetről 10 számot, és töltse ki a listát ezekkel.
Jelenítse meg a képernyőn a számokat fordított sorrendben. Használja a hurkot.
2 2. Mozgassa az első M sort a lista végére
Olvasson be a billentyűzetről 2 számot: N és M .
Olvasson a billentyűzetről N karakterláncot, és töltsön ki egy listát velük. Az első M
sor áthelyezése a lista végére A lista megjelenítése a képernyőn. Minden értéknek új sorban kell lennie.
3 3. Legnagyobb és legkisebb szám egy tömbben
Hozzon létre egy 20 számból álló tömböt.
Töltse ki számokkal, amelyeket a billentyűzetről olvas le.
Keresse meg a legnagyobb és a legkisebb számot egy tömbben.
Jelenítse meg a képernyőn a legnagyobb és legkisebb számokat szóközzel elválasztva.
4 4. Olvassa el a karakterláncokat a billentyűzetről, amíg a felhasználó be nem írja az „end” karakterláncot.
Hozzon létre egy listát a karakterláncokról.
Olvasson a billentyűzet karakterláncaiból (amit csak akar), és adja hozzá a listához.
Olvassa el a karakterláncokat a billentyűzetről, amíg a felhasználó be nem írja az „end” karakterláncot. a „végét” ki kell hagyni.
Jelenítse meg a képernyőn a karakterláncokat. Minden karakterláncnak új sorban kell lennie.
5 5. Bumm!
Írjon egy programot, amely 30-ról 0-ra számol vissza, és a "Bang!" a végén. A programnak másodpercenként 10-szer kell csökkentenie a számot. Használja az alábbi függvényt késleltetés beszúrásához:
Thread.sleep(100); //egy tizedmásodperc késleltetés.
Példa:
30
29

1
0
Bang!
6 6. Család
Hozzon létre egy Ember osztályt a következő mezőkkel: String name , Boolean sex , int age , Human apa , Human anya . Hozz létre 9 Ember osztály tárgyat, és töltsd ki úgy, hogy két nagypapát, két nagymamát, egy apát, egy anyát és három gyereket kapj. Az objektumok megjelenítése a képernyőn.
Tipp: Ha a String toString() metódusát a Human osztályba
írja , akkor azt egy objektum megjelenítésére fogja használni. Példa kimenet: Név: Anna, nem: nő, életkor: 21, apa: Paul, anya: Kate Név: Kate, nem: nő, életkor: 55



Név: Ian, nem: férfi, életkor: 2, apa: Michael, anya: Anna
7 7. Egy módosító statikus mozgatása
Mozgasson egy statikus módosítót, hogy a program lefordítható legyen.
- Azok a feladatok a zöldeknek szóltak. Hozzáadtam a nagyobb bonyolultságú bónuszfeladatokat. Csak felső fegyverekhez.
Bónusz feladatok
1 1. A program nem fordul le és nem fut. Javítsd meg.
Feladat: Olvassa be a billentyűzetről a macskaadatokat, és jelenítse meg a képernyőn.
Példa:
A macska neve Jinx, életkora 6 éves, súlya 5, farka = 22
A macska neve Maisy, életkora 8 éves, súlya 7, farka = 20
2 2. Adjon hozzá új funkciókat a programhoz.
Régi feladat: A program addig olvassa a karakterláncokat, amíg a felhasználó be nem ír egy üres sort az enter megnyomásával. Ezután a kisbetűket nagybetűssé alakítja (A mama MOM-má), és megjeleníti a képernyőn.
Új feladat: A programnak addig kell olvasnia a karakterláncokat, amíg a felhasználó egy üres sort nem ír be az enter megnyomásával. Ezután a program új listát készít. Ha a karakterlánc páros számú karakterből áll, akkor a karakterlánc megduplázódik, páratlan szám esetén a karakterlánc megháromszorozódik.
Példa bemenet:
Cat
Cats
Me
Példa kimenet:
Cat Cat Cat
Cats Cats
Me Me
3 3. Algoritmus tanulása és gyakorlása.
Olvasson le a billentyűzetről 20 számot, és jelenítse meg őket csökkenő sorrendben.
Hozzászólások
  • Népszerű
  • Új
  • Régi
Hozzászólás írásához be kell jelentkeznie
Ennek az oldalnak még nincsenek megjegyzései