a computer monitor sitting on top of a wooden desk
|

Darbas su masyvais Java: kaip jį deklaruoti, užpildyti ir parodyti

Sandėliavimo patalpoje yra skyriai, kurie užpildyti turiniu. Dedame daiktus į spintos lentynas arba pilame vandenį į ledukų formeles. Visa tai panašu į tai, kaip masyvai veikia „Java“. Juose vienu metu yra kelios reikšmės. Tai patogu, nes nereikia kiekvieną kartą kurti atskiro kintamojo. Be masyvų sunku įsivaizduoti darbą su dideliais duomenų kiekiais. Šiame straipsnyje mes jums pasakysime, kas yra „Java“ masyvas, kaip jį deklaruoti ir užpildyti.

Daugiau apie Java masyvus ir kitas vienos iš populiariausių programavimo kalbų sintaksės ypatybes galite sužinoti kursuose .

Masyvas Java – kas tai yra

Standartinis kintamasis turi tik vieną reikšmę. Masyvai gali saugoti kelis to paties tipo elementus. Galite įsivaizduoti juos kaip langelius su duomenimis – viena ląstelė vienam elementui. Be to, kiekvienas iš jų turi adresą arba indeksą, su kuriuo galite greitai pasiekti. Į masyvus negalima sudėti skirtingų tipų duomenų – pavyzdžiui, sveikųjų skaičių ir frazių.

Dirbdami su to paties tipo duomenų rinkiniu be masyvų, kiekvienam elementui turėsite deklaruoti savo kintamąjį. Taip pat nustatykite įvardijimo taisykles, kad juos atskirtumėte. Tai ilgas laikas ir gana sunku prisiminti tokią informacijos apimtį. Naudodami masyvus galite pateikti sąrašus arba eilutes kaip vieną struktūrą ir dirbti su jais kaip visuma. Prieš pradedant dirbti su masyvu, jis, kaip ir kiti kintamieji, turi būti deklaruotas.

Mergina rašo kodą

Masyvo deklaravimas Java

Mes paskelbsime kintamąjį, kuris padės pasiekti norimą langelį, nurodydami jo indeksą (eilės numerį). Java tai atrodo taip:

int[ ] inds

dvigubi [ ] skaičiai

char[ ] raidės

Masyvo kintamųjų tipas turi būti kvadratas, o prieš juos nėra tarpo. Masyvo tipas gali būti bet koks (sveikasis skaičius, eilutė, data). Viena skliaustų pora rodo, kad kintamasis yra vienmatis masyvas. Kartais skliaustai dedami skirtingai:

int [] myArray1 – su tarpu

int myArray1[] – po kintamojo pavadinimo.

Antroji parinktis kilusi iš C kalbos, tačiau naudojama daug rečiau. Jei rašote kodą, geriau naudoti žinomą būdą ir jo nekeisti viso darbo metu. Paprastai kintamojo pavadinimas nurodomas daugiskaita. Tai gali būti daiktavardis (obuoliai, arkliai, automobiliai), būdvardis arba įvardis. Aukščiau pateiktame pavyzdyje naudojome bendrąjį žymėjimo masyvą, kuris reiškia rinkinį. Geriau masyvams suteikti tikslesnius pavadinimus, kad galėtumėte tiksliai suprasti, kas yra viduje. Pavyzdžiui, žaidėjai ar studentai. Masyvas taip pat gali saugoti nuorodų duomenų tipus.

Kurse „ Java Developer from Scratch “ pirmiausia išmoksite „Java“ duomenų tipus, o tada – vienmačius ir daugiamačius masyvus. 80 procentų mokymosi susideda iš praktikos – tai žymiai palengvina sintaksės supratimą.

Masyvo kūrimas Java

Kai paskelbsime masyvą, galime tęsti jo kūrimą. Čia turime pasakyti kompiliatoriui objekto dydį. Juk jo požiūriu masyvas yra objektas. Kurdami naudojame žodį naujas.

naujas masyvo_pavadinimas[masyvo_ilgis]

arba

int[ ] studentai = naujas int[7]

Mes paskelbėme sveikųjų skaičių masyvą, vadinamą studentais, ir pasakėme, kad jame yra 7 langeliai. Kiekviename iš jų bus tam tikras skaičius. Galite atlikti kitą tipą (jie bus lygiaverčiai, tačiau kodui sutrumpinti geriau naudoti aukščiau pateiktą parinktį):

int[ ] studentai;

studentai = naujas tarpinis[7]

Masyvo ilgis

Kiekvienas masyvo elementas turi savo indeksą. Bendras ilgis gali būti teigiamas arba nulis. Svarbu atsiminti, kad sukūrus masyvą ilgio keisti negalima – vadinasi, nesikeičia ir jo dydis. Java elementų numeracija prasideda nuo nulio. Jei mūsų masyvas susideda iš 7 elementų, tai pirmasis turės indeksą 0, o paskutinis – 6. Ilgio kintamasis padės sužinoti ilgį:

int[ ] studentai = naujas int[7]; — sukurti 7 elementų masyvą, vadinamą studentais

System.out.println(studentas.ilgis) ; — rodyti masyvo ilgį.

Pažvelkime į dar kelis pavyzdžius, kad suprastume kiekvieno masyvo elemento ilgį ir skaičių.

int[ ] masyvas1 = { 1,4,8} – skaičius 1 turės indeksą 0, 4 – 2, 8 – 3

string[ ] array2 = { “Karšta”, “šalta”} – pirmasis žodis indeksas 0, o antrasis – 1

Vaikino programavimas nešiojamajame kompiuteryje

Masyvo inicijavimas Java

Norėdami paleisti masyvą, turite jį užpildyti reikšmėmis arba inicijuoti. Galite naudoti įvairias parinktis.

Greitas inicijavimas

Stygos[ ] spalvos = nauja eilutė[ ]{«Mėlyna», «Geltona», «Pilka»}

arba be naujos

Styginių[ ] spalvos = {«Mėlyna», «Geltona», «Pilka»}

Patogus pasirinkimas tais atvejais, kai žinote, kokios reikšmės bus masyve. Mes tiesiog juos išvardijame atskirdami kableliais, kaip darėme aukščiau. Java sukurta taip, kad masyve saugomi ne objektai, o nuorodos į juos. Jie veda į vietą, kur yra šis objektas. Dažniausiai šis inicijavimo metodas naudojamas, kai reikšmių skaičius yra mažas ir jūs jas žinote iš anksto.

Be „Java“ kūrimo kursų, internete firmos siūlo ir kitų galimybių trokštantiems ar praktikuojantiems programuotojams. Pavyzdžiui, žiniatinklio kūrimo mokymas arba C++ kursas pradedantiesiems .

Inicijavimas pagal indeksą

Kaip prisimenate, reikšmių numeracija prasideda nuo nulio. O masyvo ilgio ilgis yra 1. Taip atsitinka todėl, kad masyvo ilgis visada vienu vienetu didesnis už paskutinį indeksą – juk pradedame skaičiuoti nuo 0. Pavyzdys:

int[ ] skaičiai = naujas int[2];

skaičiai[0] = 5;

skaičiai[1] = 8;

int a = skaičiai[0];

int b = skaičiai[1];

System.out.println(a);

System.out.println(b);

Išvada:

5

8

Čia mes turime rankiniu būdu nurodytas kiekvieno masyvo elemento reikšmes. Pavyzdyje tai yra skaičiai 5 ir 8. Tada jie buvo suskaičiuoti iš jo ir patalpinti į kintamuosius a ir b. Šis metodas yra panašus į pirmąjį, tačiau yra kelių komponentų, palyginti su greituoju variantu. Taigi masyvas gali būti lankstesnis, jei inicijavimas atliekamas skirtingose ​​programos vietose, kai nustatoma tokia užduotis.

Ciklas

Darbas su masyvu rankiniu būdu ne visada tinka inicijuoti. Kodas tampa masyvesnis ir užtrunka daugiau laiko. Procesui automatizuoti naudojami ciklai. Norėdami naudoti kilpą, turite žinoti pirminę indekso reikšmę, masyvo ilgį ir galutinę indekso reikšmę. Masyvams tinkamiausia for kilpa. Šiuo atveju duomenų tipas gali būti int, short, baitas arba char.

int[ ] skaičiai = {1, 2, 3, 4, 5};

for (int i = 0; i < skaičiai.ilgis; i++) {

System.out.println(skaičiai[i])

Kitas pavyzdys su įvertinimais:

int[ ] ženklai = {3, 5, 4};

Styginių[ ] vardai = {“Kolya”, “Arina”, “Masha”};

for (int i = 0; i < marks.length; i++) {

System.out.printf(“%s bus įvertintas %d%n”, vardai[i], pažymiai[i]);

}

Kolya gauna 3 įvertinimą

Arina gauna 5 balus

Masha gauna 4 įvertinimą

Kintamasis i naudojamas kaip indeksą nurodantis skaitiklis. Pradinė jo reikšmė yra 0, tačiau, kai ciklai veikia, kintamasis pasikeičia į 1, kai praeina viena kilpa. Ciklas baigiasi, kai nebegali būti tenkinama sąlyga i < marks.length. Jei peržengsite masyvo ribas, įvyks klaida. Tai galite padaryti kairėje, jei indeksas yra neigiamas, arba dešinėje, jei jis yra didesnis už masyvo ilgį arba jam lygus. Klaidos kodas atrodo taip. Problema ta, kad masyve nėra langelio su indeksu 4. Pasirodo, skaičiai[4] = 4 + 1.

int[ ] skaičiai = naujas int[4];

for (int i = 0; i <= skaičiai.ilgis; i++) {

skaičiai [i] = i + 1

Vaikinas rašo kodą kompiuteryje

Masyvo išvestis ir foreach ciklas

Galite išvesti kilpą naudodami aukščiau aprašytą for kilpą. Tačiau yra supaprastinta versija, vadinama foreach. Jį sudaro dvi dalys, atskirtos dvitaškiu. Dešinėje bus masyvo pavadinimas, kairėje – į elementus panašaus tipo kintamasis. Pagal standartą kiekvienas elementas paimamas iš masyvo ir perkeliamas į kintamąjį, o ciklas progresuojant palaipsniui išvedamas. Tiesą sakant, jis skiriasi išvaizda, tačiau vykdymo mašinai jie yra vienodi. Palyginkite dvi parinktis:

dėl

Styginių[ ] spalvos = {“Balta”, “Raudona”, “Juoda”, “Žalia”, “Oranžinė”, “Mėlyna”, “Violetinė”};

for (int i = 0; i < color.length; i++) {

System.out.println(spalvos[i])

kiekvienam

Styginių[ ] spalvos = {“Balta”, “Raudona”, “Juoda”, “Žalia”, “Oranžinė”, “Mėlyna”, “Violetinė”};

for (Eilutės spalva: spalvos) {

System.out.println(spalva)

Dėl antrosios parinkties galite pasiekti elementus. Tačiau negalite naudoti indeksavimo arba pasiekti vertės ne nurodyta tvarka. Be to, negalėsite pakeisti ar ištrinti vertės. Foreach labiau tinka produkcijai. Ir jei mes kalbame apie sudėtingesnes operacijas, tai geriau naudoti.

Daugiau pavyzdžių:

int[ ] masyvas = {1, 2, 3, 4, 5};

for (int elementas : masyvas) {

System.out.println(elementas)

Vienmatis ir dvimatis Java masyvas

Masyvas yra objektas. Mes galime tai deklaruoti kaip kintamąjį. Toks masyvas bus vadinamas dvimačiu. Jo struktūra atrodo taip:

dvigubas[ ][ ] myArray

Paskelbkime dvimatį masyvą:

int[ ][ ] du = naujas int[3][4]

Priskirkime indeksams reikšmes:

int[ ][ ] du = naujas int[3][4];

du[0][1] = 2

Dvimatis masyvas gali atrodyti taip:

int [ ][ ] twomasArray = {{5,8,9,4}, {9,4,1,3}, {9,8,2,3}}

Greitas išėmimas:

int [ ][ ] twomasArray = {{5,8,9,4}, {9,4,1,3}, {9,8,2,3}}

System.out.printLn(Arrays.deepToString(twomasArray))

[[5,8,9,4], [9,4,1,3], [9,8,2,3]]

Koks yra dvimačių masyvų pranašumas? Pažiūrėkime į pavyzdį. Tarkime, reikia rasti mokyklinių dalykų pažymių aritmetinį vidurkį. Jei turite keturis vienmačius masyvus, turite parašyti 4 ciklus, iš kurių kiekviename reikia apskaičiuoti kiekvieno elemento aritmetinį vidurkį. Su dvimačiu masyvu viskas paprasčiau. Pakanka eiti per elementus, pridedant 2 kilpoms. Taip gali atrodyti dvimatis masyvas naudojant kilpas „two for“:

for (int i = 0; i < masyvas.ilgis; i++) {

for (int j = 0; j < masyvas[i].ilgis; j++) {

System.out.print(masyvas[i][j] + «\t»)

Norite tapti backend kūrėju, bet nežinote nuo ko pradėti? Pabandykite lankyti įvadines pamokas į internetinius kursus iš patikimų mokyklų.

Mergina programuoja prie stalo

Darbo su masyvais metodai

Pažvelkime į kelis metodus ir būdus, kurie palengvins darbą su masyvais.

Rūšiavimas

Jei reikia rūšiuoti elementus didėjančia tvarka, naudokite Arrays.sort(a) . Kitais atvejais padės Arrays.sort(a, Comparator c) antrasis komponentas lygina du gretimus elementus.

int[ ] mano skaičiai = naujas int[ ] { 8, 6, 3, 1 };

Masyvai.rūšiuoti(manoskaičiai);

System.out.println( Arrays.toString(manonumeriai))

1,3,6,8

Užpildymas

Norint užpildyti masyvus identiškais elementais, jums nereikia rašyti ciklo Arrays.fill(a, val); Jis peržiūrės masyvo a elementus ir priskirs reikšmę val .

int[] mano skaičiai = naujas int[8];

Masyvai.užpildyti(manoskaičiai, 5);

System.out.println( Arrays.toString(manonumeriai))

5,5,5,5,5,5,5,5

Lyginiai ir nelyginiai elementai

Jei reikia atskirai išvesti lyginius skaičius, vadovaukitės šiuo pavyzdžiu:

dvigubas[ ] manoSkaičiai = {2, 2,9, 3, 18, 25,9};

System.out.print(“Lyginiai masyvo myNumbers elementai: “);

for (int i = 0; i < manoSkaičiai.ilgis; i++) {

if(manoSkaičiai[i]%2 == 0){

System.out.print(manoSkaičiai[i] + «, «)

Lyginiai myNumbers masyvo elementai: 2.0, 18.0

Nelyginis:

dvigubas[ ] mano skaičiai = {2, 2,9, 3, 18, 25,9}

System.out.print(“Nelyginiai masyvo myNumbers elementai: “);

for (int i = 0; i < manoSkaičiai.ilgis; i++) {

if(manoSkaičiai[i]%2 != 0){

System.out.print(manoSkaičiai[i] + «, «)

Lyginiai myNumbers masyvo elementai: 2.9, 3, 25.9

Žmonės dirba prie kompiuterių

Visų elementų suma

Masyvo elementų sumos apskaičiavimo Java programoje pavyzdys:

dvigubas[ ] manoSkaičiai = {4, 19, 1,3, 3, 25,7};

dviguba suma = 0;

for (int i = 0; i < manoSkaičiai.ilgis; i++) {

iš viso += manoSkaičiai[i];

System.out.println(“Masyvo myNumbers elementų suma: ” + iš viso)

„myNumbers“ masyvo elementų suma: 53

su foreach kilpa:

dvigubas[ ] manoSkaičiai = {4, 19, 1,3, 3, 25,7};

dviguba suma = 0;

for(double element : myNumbers) {

bendras += elementas;

System.out.println(“Masyvo manoSkaičiai suma: ” + iš viso)

„myNumbers“ masyvo suma: 53

Rezultatai

  • Masyvas susideda iš to paties tipo elementų, kurie yra vienas po kito. Kiekvieną elementą galima pasiekti naudojant rodyklę.
  • Masyvo ilgis nesikeičia jį sukūrus.
  • Java programoje elementai masyvuose numeruojami pradedant nuo nulio.
  • Galite sukurti masyvus, kurių elementai yra kiti masyvai. Jie vadinami daugiamačiais.
  • Java turi daug patogių darbo su masyvais metodų, kurie daro kodo rašymą dar patogesnį.

Įvertinkite straipsnį

0 / 12

Your page rank:

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *