Čo je Java Array?
Java Array je veľmi častý typ dátovej štruktúry, ktorá obsahuje všetky dátové hodnoty rovnakého dátového typu. Dátové položky vložené do poľa sa nazývajú prvky a prvý prvok v poli začína indexom nula. Polia dedia triedu objektov a implementujú serializovateľné a klonovateľné rozhrania. Môžeme uložiť primitívne hodnoty alebo objekty do poľa.
Jednoducho povedané, je to programovací konštrukt, ktorý to pomáha nahradiť
x0=0;x1=1;x2=2;x3=3;x4=4;x5=5;
s tým
…x[0]=0;x[1]=1;x[2]=2;x[3]=3;x[4]=4;x[5]=5;
V tomto návode sa naučíte
- Čo je to pole?
- Pole Premenné
- Program prvého poľa
- Java Array: Prejdite odkazom
- Viacrozmerné polia
ako to pomôže, je to, že premenná môže odkazovať na index (číslo v zátvorke []), aby sa ľahko opakovala.
for(count=0; count<5; count++) {System.out.println(x[count]);}
Pole Premenné
Použitie poľa vo vašom programe je 3 krok
proces -1) Vyhlásenie vášho poľa
2) Konštrukcia vášho poľa 3) Inicializácia vášho poľa
1) Vyhlásenie vášho poľa
Syntax
[] ;
alebo
[];
Príklad:
int intArray[];// Defines that intArray is an ARRAY variable which will store integer valuesint []intArray;
2) Vytvorenie poľa
arrayname = new dataType[]
Príklad:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Vyhlásenie a konštrukcia kombinované
int intArray[] = new int[10];
3) Inicializujte pole
intArray[0]=1; // Assigns an integer value 1 to the first element 0 of the arrayintArray[1]=2; // Assigns an integer value 2 to the second element 1 of the array
Vyhlásenie a inicializácia poľa
[] = {};
Príklad:
int intArray[] = {1, 2, 3, 4};// Initilializes an integer array of length 4 where the first element is 1 , second element is 2 and so on.
Program prvého poľa
Krok 1) Skopírujte nasledujúci kód do editora.
class ArrayDemo{public static void main(String args[]){int array[] = new int[7];for (int count=0;count<7;count++){array[count]=count+1;}for (int count=0;count<7;count++){System.out.println("array["+count+"] = "+array[count]);}//System.out.println("Length of Array = "+array.length);// array[8] =10;}}
Krok 2) Uložte, kompilujte a spustite kód. Sledujte výstup
Výkon:
array[0] = 1array[1] = 2array[2] = 3array[3] = 4array[4] = 5array[5] = 6array[6] = 7
Krok 3) Ak x je odkaz na pole, x.length vám dá dĺžku poľa.
10. riadok od komentára. Uložte, skompilujte a spustite kód. Sledujte výstup
Length of Array = 7
Krok 4) Na rozdiel od C, Java kontroluje hranicu poľa pri prístupe k prvku v ňom. Java nedovolí programátorovi prekročiť jeho hranicu.
11. riadok od komentára. Uložte, skompilujte a spustite kód. Sledujte výstup
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8at ArrayDemo.main(ArrayDemo.java:11)Command exited with non-zero status 1
Krok 5) Je vyvolaná ArrayIndexOutOfBoundsException. V prípade C by ten istý kód ukazoval nejakú smetnú hodnotu.
Java Array: Prejdite odkazom
Polia sa do funkcií odovzdávajú odkazom alebo ako ukazovateľ na originál. To znamená, že čokoľvek, čo urobíte s poľom vo vnútri funkcie, ovplyvní originál.
Príklad: Aby sme pochopili, Array sú odovzdávané odkazom
Krok 1) Skopírujte nasledujúci kód do editora
class ArrayDemo {public static void passByReference(String a[]){a[0] = "Changed";}public static void main(String args[]){String []b={"Apple","Mango","Orange"};System.out.println("Before Function Call "+b[0]);ArrayDemo.passByReference(b);System.out.println("After Function Call "+b[0]);}}
Krok 2) Uložte, kompilujte a spustite kód. Sledujte výstup
Výkon:
Before Function Call AppleAfter Function Call Changed
Viacrozmerné polia
Viacrozmerné polia sú vlastne polia polí.
Ak chcete deklarovať viacrozmernú premennú poľa, zadajte každý ďalší index pomocou inej sady hranatých zátvoriek.
Ex: int twoD[ ][ ] = new int[4][5] ;
Keď alokujete pamäť pre viacrozmerné pole, musíte zadať iba pamäť pre prvú (zľava) dimenziu.
Zvyšné rozmery môžete prideliť osobitne.
V prostredí Java je dĺžka poľa každého poľa vo viacrozmernom poli pod vašou kontrolou.
Príklad
public class Guru99 {public static void main(String[] args) {// Create 2-dimensional array.int[][] twoD = new int[4][4];// Assign three elements in it.twoD[0][0] = 1;twoD[1][1] = 2;twoD[3][2] = 3;System.out.print(twoD[0][0] + " ");}}
Výkon:
1