java array declare
Tento podrobný výukový program vysvětluje různé způsoby deklarace, vytváření a inicializace nového pole s hodnotami v Javě pomocí příkladů jednoduchého kódu:
V našem předchozím tutoriálu jsme probrali základy polí v Javě spolu s různými koncepty přidruženými k polím, které se podrobně naučíme v této sérii kurzů.
c ++ dvojnásobně propojený příklad seznamu
Prvním a nejdůležitějším krokem u polí je jejich vytvoření. Musíte si být vědomi toho, jaký typ prvků a kolik prvků budete ukládat do polí. Jakmile deklarujete pole, možná budete chtít inicializovat zadáním některých počátečních hodnot a můžete to provést různými způsoby.
V tomto kurzu se tedy zaměříme na vytváření a inicializaci polí, než přejdeme k dalším konceptům.
Co se naučíte:
- Jak deklarovat pole v Javě?
- Vytvořte instanci a inicializujte pole Java
- Inicializace a přístup k prvkům pole
- Často kladené otázky
- Závěr
- Doporučené čtení
Jak deklarovat pole v Javě?
V Javě je jednorozměrné pole deklarováno jedním z následujících způsobů:
data_type() array_name; {or} data_type array_name(); {or} data_type ()array_name;
Zde typ dat určuje typ dat, které pole bude obsahovat. „Typ_dat“ může být primitivní datový typ nebo jakýkoli odvozený typ.
Například, pole myarray typu integer je deklarováno takto:
int () myarray;
NEBO
int () myarray;
NEBO
int myarray ();
To znamená, že pole myarray bude obsahovat prvky datového typu int.
Všimněte si, že protože pole v Javě jsou dynamicky alokována, neurčujeme s deklarací žádnou dimenzi nebo velikost pole. Výše uvedená deklarace říká kompilátoru, že existuje maticová proměnná „myarray“ typu int, která do ní uloží hodnoty celočíselného typu.
Kompilátor nezná velikost ani skutečné hodnoty uložené v poli. Bude to vědět jen po inicializaci pole.
Vytvořte instanci a inicializujte pole Java
Pole jsme již deklarovali v předchozí části. Ale toto je jen odkaz. Chcete-li použít výše deklarovanou proměnnou pole, musíte ji vytvořit instanci a poté zadat její hodnoty. Pole je vytvořeno pomocí „nového“.
Obecná syntaxe vytváření instancí je následující:
array_name = new data_type (size);
Ve výše uvedeném příkazu je array_name název instance instance pole.
data_type=> type of elements the array is going to store size=> the number of elements that will be stored in array
Proto když použijete new with the array, you are actually allocate the array with the data type and the number of elements.
Výše deklarované pole myarray lze tedy vytvořit takto:
myarray = new int(10)
Vytvoření pole v Javě tedy zahrnuje dva kroky, jak je znázorněno níže:
int() myarray; //declaration myarray = new int(10); //instantiation
Jakmile je pole vytvořeno, můžete jej inicializovat pomocí následujících hodnot:
myarray(0) = 1; myarray(1) = 3; ….and so on until all elements are initialized.
Výraz v hranatých závorkách výše se nazývá index pole. Index pole se používá pro přístup ke skutečné hodnotě prvků, tj. Výše uvedená pole myarray 10 int prvků bude mít indexy očíslované od 0 do 9. K prvku pole můžete přistupovat v určité poloze zadáním indexu jako výše.
Všimněte si, že index pole vždy začíná od 0. Alternativně můžete také provést inicializaci pomocí smyčky, kterou uvidíme později.
Můžete také použít literál pole a inicializovat pole během samotné deklarace, jak je uvedeno níže:
int() myarray = {1,3,5,7};
Ve výše uvedeném příkazu je délka pole určena počtem prvků. Jak vidíte, není třeba používat „nový“. Ještě důležitější je, že deklarace, instance a inicializace pole se provádí v jediném příkazu.
Níže je uveden jednoduchý příklad programování deklarace a inicializace pole.
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ýstup:
co dělat se souborem torrentu
Tento program demonstroval deklaraci pole a jeho instanci i inicializaci. Všimněte si, že protože jsme pouze inicializovali othhodnota myarray, druhá hodnota myarray (1), která je vytištěna, má výchozí hodnotu, tj. 0.
Druhé pole ukazuje literálovou proměnnou pole. I když pole neinicializujete, kompilátor Java neudělá žádnou chybu. Normálně, když pole není inicializováno, kompilátor přiřadí výchozí hodnoty každému prvku pole podle datového typu prvku.
Tyto výchozí hodnoty si ukážeme pomocí následujícího 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ýstup:
Ve výše uvedeném programu jsme je právě deklarovali a vytvořili instance. Neinicializovali jsme je na žádné hodnoty. Když tedy zobrazíme obsah těchto polí, v závislosti na datovém typu pole budou mít prvky různé výchozí hodnoty.
Jak je vidět výše, řetězcové pole má výchozí hodnotu „null“, celočíselné hodnoty jsou 0 a dvojnásobné hodnoty jsou výchozí 0,0. Logické hodnoty mají své výchozí hodnoty nastaveny na hodnotu false.
Inicializace a přístup k prvkům pole
# 1) Použití pro smyčku
Program napsaný výše používá pro inicializaci literál pole a ostatní prvky pole jsou inicializovány samostatně. Můžete také použít smyčku for k inicializaci prvků pole.
Převedli jsme výše uvedené pole pomocí pole literálu k jeho inicializaci pomocí smyčky for v níže uvedeném programu.
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ýstup:
Zde, jak vidíte, jsme inicializovali pole pomocí smyčky for. Každý prvek „i“ pole je inicializován hodnotou = i + 1. Kromě použití výše uvedené metody k inicializaci polí můžete také použít některé z metod třídy „Arrays“ balíčku „java.util“ k poskytnutí počátečních hodnot pro pole.
Níže budeme diskutovat o některých z těchto metod.
# 2) Používání Arrays.fill ()
K inicializaci pole lze použít metodu fill () třídy ‘Arrays’. Při inicializaci pole pomocí této metody je pole vyplněno stejnými hodnotami ve všech indexech.
Níže je uveden příklad programování.
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ýstup:
Ve výše uvedeném programu jsme poskytli 30 jako hodnotu, která má být vyplněna pro pole. Výstup ukazuje, že všechny prvky v poli mají hodnotu 30.
# 3) Používání Arrays.copyOf ()
Pomocí metody ‚copyOf () 'použijeme zdrojové pole a poté zkopírujeme jeho hodnoty do nového pole. Můžete určit, kolik hodnot se má zkopírovat a zbývající prvky pole budou mít výchozí hodnoty.
Zkontrolujte následující 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ýstup:
V tomto programu používáme zdrojové pole s názvem ‚evenArray '. Pomocí metody copyOf jsme zkopírovali všechny prvky evenArray do nového pole. Na výstupu zobrazíme obsah nového pole, který je stejný jako evenArray.
Kromě výše uvedených dvou metod jsme právě diskutovali, že existuje více metod, jako je metoda setAll () třídy Arrays a metoda clone () ArrayUtils, které lze použít k inicializaci polí. Těmto metodám se budeme věnovat dále v této sérii kurzů v příslušných tématech.
Často kladené otázky
Otázka č. 1) Můžeme deklarovat pole bez velikosti?
Odpovědět: Ne. Není možné deklarovat pole bez zadání velikosti. Pokud to vůbec chcete udělat, můžete použít ArrayList, který má dynamickou povahu.
Otázka 2) Je velikost pole fixována v Javě?
Odpovědět: Ano. Pole jsou v Javě statická a deklarujete pole se zadanou velikostí. Jakmile je tato velikost zadána, nelze ji znovu změnit.
nejlepší ide pro python na macu
Otázka č. 3) Je při inicializaci polí vždy nutné používat nové?
Odpovědět: Ne. Pole lze inicializovat pomocí nových nebo přiřazením hodnot oddělených čárkami uzavřených do složených závorek.
Takže když inicializujeme pole pomocí literálu Array, jak je znázorněno níže. Nemusíte používat nové.
int() myarray = {1,2,3,4,5};
Počet poskytnutých prvků určí velikost pole.
Otázka č. 4) Je Java Array serializovatelná?
Odpovědět: Ano. Interně pole v Javě implementuje serializovatelné rozhraní.
Otázka č. 5) Je datový typ pole primitivní?
Odpovědět: Ne. Ve skutečnosti pole vůbec není datový typ. Pole je objekt kontejneru, který obsahuje prvky konkrétních datových typů v souvislých paměťových umístěních.
Závěr
To shrnuje vytvoření a inicializaci polí v Javě. Jakmile jsou pole vytvořena a inicializována na některé hodnoty, musíme je vytisknout. Pro tisk prvků pole musíme projít celé pole a vytisknout prvky.
Podíváme se na některé z metod tisku prvků pole v našem dalším kurzu.
Doporučené čtení
- Výukový program pro rozhraní Java a abstrakt třídy s příklady
- Úvod do programovacího jazyka Java - výukový program
- Java vlákna s metodami a životním cyklem
- Výukový program JAVA pro začátečníky: 100+ praktických výukových programů Java Video
- Výukový program Java Array Length s příklady kódu
- Pole C #: Jak deklarovat, inicializovat a přistupovat k poli v C #?
- Java Hello World - vytvořte si svůj první program v Javě ještě dnes
- Úvod do Java polí a souvisejících konceptů