java array declare
Tento podrobný výukový program vysvetľuje rôzne spôsoby deklarovania, vytvárania a inicializácie nového poľa s hodnotami v jazyku Java pomocou príkladov jednoduchého kódu:
V našom predchádzajúcom tutoriáli sme diskutovali o základoch polí v Jave spolu s rôznymi konceptmi súvisiacimi s poliami, ktoré sa podrobne naučíme v tejto sérii tutoriálov.
Prvým a najdôležitejším krokom s poľami je ich vytvorenie. Musíte si uvedomiť, aký typ prvkov a koľko prvkov budete do polí ukladať. Po deklarovaní poľa ich možno budete chcieť inicializovať poskytnutím počiatočných hodnôt a môžete to urobiť rôznymi spôsobmi.
V tomto návode sa teda zameriame na vytváranie a inicializáciu polí pred prechodom na ďalšie koncepty.
Čo sa dozviete:
- Ako deklarovať pole v Jave?
- Vytvorte inštanciu a inicializáciu poľa Java
- Inicializácia a prístup k prvkom poľa
- často kladené otázky
- Záver
- Odporúčané čítanie
Ako deklarovať pole v Jave?
V Jave je jednorozmerné pole deklarované jedným z nasledujúcich spôsobov:
data_type() array_name; {or} data_type array_name(); {or} data_type ()array_name;
Tu ‘dátový_typ’ určuje typ údajov, ktoré bude pole obsahovať. Typ_údajov môže byť primitívny údajový typ alebo akýkoľvek odvodený typ.
Napríklad, pole myarray typu celé číslo je deklarované takto:
int () myarray;
ALEBO
int () myarray;
ALEBO
int myarray ();
To znamená, že pole myarray bude obsahovať prvky dátového typu int.
Všimnite si, že keďže sú polia v Jave dynamicky alokované, neurčujeme s deklaráciou nijaký rozmer alebo veľkosť poľa. Vyššie uvedená deklarácia hovorí kompilátoru, že existuje premenná poľa „myarray“ typu int, ktorá do nej bude ukladať hodnoty typu integer.
Kompilátor nepozná veľkosť ani skutočné hodnoty uložené v poli. To sa dozvie až po inicializácii poľa.
Vytvorte inštanciu a inicializáciu poľa Java
Pole sme už deklarovali v predchádzajúcej časti. Ale toto je len referencia. Ak chcete použiť vyššie deklarovanú premennú poľa, musíte ju vytvoriť inštanciu a potom pre ňu poskytnúť hodnoty. Pole je inštancované pomocou „nového“.
Všeobecná syntax inštancie je nasledovná:
array_name = new data_type (size);
Vo vyššie uvedenom výroku je array_name názov inštancie poľa.
data_type=> type of elements the array is going to store size=> the number of elements that will be stored in array
Preto keď použijete nové s poľom, vlastne mu pridelíte pole s dátovým typom a počtom prvkov.
Vyššie deklarované pole myarray je teda možné vytvoriť takto:
myarray = new int(10)
Vytvorenie poľa v Jave teda zahŕňa dva kroky, ktoré sú uvedené nižšie:
int() myarray; //declaration myarray = new int(10); //instantiation
Po vytvorení poľa ho môžete inicializovať nasledujúcimi hodnotami:
myarray(0) = 1; myarray(1) = 3; ….and so on until all elements are initialized.
Výraz v hranatých zátvorkách vyššie sa nazýva index poľa. Index poľa sa používa na prístup k skutočnej hodnote prvkov, tj vyššie uvedená sada polí 10 elementov int bude mať indexy očíslované od 0 do 9. K prvku poľa v konkrétnej polohe môžete pristupovať zadaním indexu ako vyššie.
Všimnite si, že index poľa vždy začína od 0. Alternatívne môžete inicializáciu vykonať aj pomocou slučky, ktorú uvidíme neskôr.
Môžete tiež použiť literál poľa a inicializovať pole počas samotnej deklarácie, ako je uvedené nižšie:
int() myarray = {1,3,5,7};
Vo vyššie uvedenom výroku je dĺžka poľa určená počtom prvkov. Ako vidíte, nie je potrebné používať „nové“. Dôležitejšie je, že deklarácia, inštancia a inicializácia poľa sa vykonávajú v jednom príkaze.
okuliare pre virtuálnu realitu pre Xbox One
Ďalej je uvedený jednoduchý príklad programovania deklarovania a inicializácie poľa.
public class Main { public static void main(String() args) { int() myarray; //declaration myarray = new int(5); //instantiation myarray(0) = 10; //initialization System.out.println('myarray(0) = ' + myarray(0)); //accessing and printing array elements System.out.println('myarray(1) = ' + myarray(1)); int () oddArray = {1,3,5,7}; //initialization with array literal System.out.println('oddArray(0) = ' + oddArray(0)); System.out.println('oddArray(1) = ' + oddArray(1)); System.out.println('oddArray(2) = ' + oddArray(2)); System.out.println('oddArray(3) = ' + oddArray(3)); } }
Výkon:
Tento program demonštroval deklaráciu poľa a jeho inštanciu, ako aj inicializáciu. Všimnite si, že keďže sme iba inicializovali othhodnota myarray, druhá hodnota myarray (1), ktorá je vytlačená, má predvolenú hodnotu, tj. 0.
Druhé pole demonštruje literálnu premennú poľa. Aj keď pole neinicializujete, kompilátor Java neurobí žiadnu chybu. Normálne, keď pole nie je inicializované, kompilátor priradí predvolené hodnoty každému prvku poľa podľa dátového typu prvku.
Tieto predvolené hodnoty si ukážeme pomocou nasledujúceho programu.
class Main { public static void main(String() args) { System.out.println('=======Default Values======'); System.out.print('String Array:'); String() array_str = new String(5); //declaration and instantiation for (String str : array_str) //assumes default values System.out.print(str + ' '); System.out.println('
'); System.out.print('Integer array:'); //array only instantiated not initialized int() array_num = new int(5); for (intnum : array_num) System.out.print(num + ' '); System.out.println('
'); System.out.print('Double array:'); //array only instantiated not initialized doublearray_double() = new double(5); for (double dnum : array_double) System.out.print(dnum + ' '); System.out.println('
'); System.out.print('Boolean array:'); //array only instantiated not initialized booleanarray_bool() = new boolean(5); for (booleanbval : array_bool) System.out.print(bval + ' '); System.out.println('
'); } }
Výkon:
Vo vyššie uvedenom programe sme ich práve deklarovali a vytvorili inštancie. Neinicializovali sme ich na žiadne hodnoty. Keď teda zobrazíme obsah týchto polí, v závislosti od dátového typu poľa budú mať prvky rôzne predvolené hodnoty.
Ako je vidieť vyššie, reťazcové pole má predvolenú hodnotu „null“, celočíselné hodnoty sú 0 a dvojité hodnoty sú predvolené 0,0. Boolovské hodnoty majú svoje predvolené hodnoty nastavené na hodnotu false.
Inicializácia a prístup k prvkom poľa
# 1) Použitie pre slučku
Program napísaný vyššie používa na inicializáciu literál poľa a ostatné prvky poľa sa inicializujú osobitne. Môžete tiež použiť cyklus for na inicializáciu prvkov poľa.
Vyššie uvedené pole sme previedli pomocou array literal na jeho inicializáciu pomocou cyklu for v nasledujúcom programe.
public class Main { public static void main(String() args) { int() oddArray; //declaration oddArray = new int(5); //instantiation for(int i=0;i<5;i++){ oddArray(i) = i+1; //initialization using for loop } System.out.println('oddArray(0) = ' + oddArray(0)); System.out.println('oddArray(1) = ' + oddArray(1)); System.out.println('oddArray(2) = ' + oddArray(2)); System.out.println('oddArray(3) = ' + oddArray(3)); System.out.println('oddArray(4) = ' + oddArray(4)); } }
Výkon:
Tu, ako vidíte, sme inicializovali pole pomocou slučky for. Každý prvok „i“ poľa je inicializovaný hodnotou = i + 1. Okrem použitia vyššie uvedenej metódy na inicializáciu polí môžete na poskytnutie počiatočných hodnôt pre pole použiť aj niektoré z metód triedy „Arrays“ balíka „java.util“.
Niektoré z týchto metód si rozoberieme nižšie.
# 2) Používanie Arrays.fill ()
Na inicializáciu poľa možno použiť metódu fill () triedy ‘Arrays’. Keď inicializujete pole pomocou tejto metódy, pole je vyplnené rovnakými hodnotami vo všetkých indexoch.
Ďalej je uvedený príklad programovania.
import java.util.*; public class Main { public static void main(String() args) { int() oddArray; oddArray = new int(5); //fill the array with value 30 Arrays.fill(oddArray, 30); System.out.println('Array Elements initialised with Arrays.fill:'); for(int i=0;i<5;i++) System.out.println('oddArray(' + i +') = ' + oddArray(i)); } }
Výkon:
Vo vyššie uvedenom programe sme poskytli 30 ako hodnotu, ktorá sa má vyplniť pre pole. Výstup ukazuje, že všetky prvky v poli majú hodnotu 30.
# 3) Používanie Arrays.copyOf ()
Pomocou metódy ‘copyOf ()‘ použijeme zdrojové pole a potom jeho hodnoty skopírujeme do nového poľa. Môžete určiť, koľko hodnôt sa má kopírovať, a potom budú mať zvyšné prvky poľa predvolené hodnoty.
Skontrolujte nasledujúci program.
import java.util.*; public class Main { public static void main(String() args) { int evenArray() = { 2,4,6,8,10 }; //copy contents of evenArray to copyof_Array int() copyof_Array = Arrays.copyOf(evenArray,5); System.out.println('Array Elements initialised with Arrays.copyOf:'); //print the array elements for(int i=0;i<5;i++) System.out.println('copyof_Array(' + i +') = ' + copyof_Array(i)); } }
Výkon:
V tomto programe používame zdrojové pole s názvom ‘evenArray‘. Pomocou metódy copyOf sme skopírovali všetky prvky evenArray do nového poľa. Na výstupe zobrazíme obsah nového poľa, ktorý je rovnaký ako evenArray.
Okrem vyššie uvedených dvoch metód sme práve diskutovali o tom, že existuje viac metód, ako je metóda setAll () triedy Arrays a metóda clone () metódy ArrayUtils, ktoré je možné použiť na inicializáciu polí. Týmto metódam sa budeme venovať neskôr v tejto sérii tutoriálov v príslušných témach.
často kladené otázky
Otázka č. 1) Môžeme deklarovať pole bez veľkosti?
Odpoveď: Nie. Nie je možné deklarovať pole bez určenia veľkosti. Ak to chcete vôbec urobiť, môžete použiť ArrayList, ktorý má dynamickú povahu.
Otázka 2) Je veľkosť poľa fixovaná v prostredí Java?
Odpoveď: Áno. Polia sú v Jave statické a deklarujete pole so zadanou veľkosťou. Po zadaní tejto veľkosti ju už nemôžete znova zmeniť.
Otázka č. 3) Je pri inicializácii polí vždy potrebné používať nové?
Odpoveď: Nie. Pole je možné inicializovať pomocou nových alebo priradením hodnôt oddelených čiarkami, ktoré sú uvedené v zložených zátvorkách.
Takže keď inicializujeme pole pomocou literálu Array, ako je uvedené nižšie. Nemusíte používať nové.
int() myarray = {1,2,3,4,5};
Počet poskytnutých prvkov bude určovať veľkosť poľa.
Otázka 4) Je Java Array serializovateľná?
Odpoveď: Áno. Array v Jave interne implementuje serializovateľné rozhranie.
Otázka č. 5) Je primárny dátový typ poľa?
Odpoveď: Nie. Pole v skutočnosti nie je vôbec dátovým typom. Pole je kontajnerový objekt, ktorý obsahuje prvky špecifických dátových typov v susedných pamäťových pozíciách.
Záver
To sumarizuje vytváranie a inicializáciu polí v Jave. Keď sú polia vytvorené a inicializované na niektoré hodnoty, musíme ich vytlačiť. Pri tlači prvkov poľa musíme prechádzať celým poľom a tlačiť prvky.
V ďalšom návode sa pozrieme na niektoré zo spôsobov tlače prvkov poľa.
Odporúčané čítanie
- Výukový program pre rozhranie Java a abstraktnú triedu s príkladmi
- Úvod do programovacieho jazyka Java - videonávod
- Vlákna Java s metódami a životným cyklom
- Výukový program JAVA pre začiatočníkov: viac ako 100 praktických výučbových programov Java Video
- Výukový program Java Array Length s príkladmi kódu
- C # pole: Ako deklarovať, inicializovať a pristupovať k poli v C #?
- Java Hello World - vytvorte si prvý program v prostredí Java ešte dnes
- Úvod do Java polí a súvisiacich konceptov