Co je Java Array?
Java Array je velmi běžný typ datové struktury, která obsahuje všechny datové hodnoty stejného datového typu. Datové položky vložené do pole se nazývají prvky a první prvek v poli začíná indexem nula. Pole dědí třídu objektů a implementují serializovatelná a klonovatelná rozhraní. Můžeme ukládat primitivní hodnoty nebo objekty do pole.
Jednoduše řečeno, je to programovací konstrukt, který to pomáhá nahradit
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 výukovém programu se naučíte
- Co je to pole?
- Proměnné pole
- Program prvního pole
- Java Array: Projděte odkazem
- Vícedimenzionální pole
jak to pomáhá je, že proměnná může odkazovat na index (číslo v závorce []) pro snadné opakování.
for(count=0; count<5; count++) {System.out.println(x[count]);}
Proměnné pole
Použití pole ve vašem programu je 3 krok
proces -1) Prohlášení o vašem poli
2) Sestavení pole 3) Inicializace pole
1) Prohlášení o vašem poli
Syntax
[] ;
nebo
[];
Příklad:
int intArray[];// Defines that intArray is an ARRAY variable which will store integer valuesint []intArray;
2) Konstrukce pole
arrayname = new dataType[]
Příklad:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Prohlášení a konstrukce dohromady
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
Deklarace a inicializace pole
[] = {};
Pří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 prvního pole
Krok 1) Zkopírujte následující kód do editoru.
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, zkompilujte a spusťte kód. Sledujte výstup
Výstup:
array[0] = 1array[1] = 2array[2] = 3array[3] = 4array[4] = 5array[5] = 6array[6] = 7
Krok 3) Pokud x je odkaz na pole, x.length vám dá délku pole.
Odkomentujte řádek č. 10. Uložte, zkompilujte a spusťte kód. Sledujte výstup
Length of Array = 7
Krok 4) Na rozdíl od C Java kontroluje hranici pole při přístupu k prvku v něm. Java nedovolí programátorovi překročit jeho hranici.
Odkomentujte řádek č. 11. Uložte, zkompilujte a spusťte 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 vyvolána výjimka ArrayIndexOutOfBoundsException. V případě C by stejný kód ukázal nějakou nesmyslnou hodnotu.
Java Array: Projděte odkazem
Pole se předávají funkcím odkazem nebo jako ukazatel na originál. To znamená, že cokoli, co uděláte s polem uvnitř funkce, ovlivní originál.
Příklad: Abychom pochopili, jsou pole předávány odkazem
Krok 1) Zkopírujte následující kód do editoru
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, zkompilujte a spusťte kód. Sledujte výstup
Výstup:
Before Function Call AppleAfter Function Call Changed
Vícedimenzionální pole
Vícerozměrná pole jsou ve skutečnosti pole polí.
Chcete-li deklarovat vícerozměrnou proměnnou pole, zadejte každý další index pomocí jiné sady hranatých závorek.
Ex: int twoD[ ][ ] = new int[4][5] ;
Když přidělíte paměť pro vícerozměrné pole, musíte zadat pouze paměť pro první (nalevo) dimenzi.
Zbývající rozměry můžete přidělit samostatně.
V Javě je délka pole každého pole ve vícerozměrném poli pod vaší kontrolou.
Pří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ýstup:
1