Pole v Java
Co je to Java Pole?
Java Řada 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í. Primitivní hodnoty nebo objekty můžeme uložit do pole.
Jednoduše řečeno, je to programovací konstrukce, 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;
pomáhá to v tom, že proměnná může snadno odkazovat na index (číslo v závorce[]). smyčky.
for(count=0; count<5; count++) { System.out.println(x[count]); }
Typy pole v Java
Existují dva typy pole.
- Jednorozměrné pole
- Vícerozměrné pole
Proměnné pole
Použití pole ve vašem programu je a 3 krokový proces -
1) Vyhlašování vašeho pole
2) Konstrukce vašeho pole
3) Inicializujte své pole
1) Deklarování vašeho pole
Syntax
<elementType>[] <arrayName>;
nebo
<elementType> <arrayName>[];
Příklad:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) Konstrukce pole
arrayname = new dataType[]
Příklad:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Kombinace prohlášení a výstavby
int intArray[] = new int[10];
3) Inicializujte pole
intArray[0]=1; // Assigns an integer value 1 to the first element 0 of the array intArray[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 First Array
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
Očekávaný výstup:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Krok 3) Pokud x je odkaz na pole, x.délka vám dá délku pole.
Odkomentovat řá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.
Odkomentovat řádek #11. Uložte, zkompilujte a spusťte kód. Sledujte výstup
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Krok 5) Je vyvolána výjimka ArrayIndexOutOfBounds. V případě C by stejný kód ukázal nějakou hodnotu nesmyslu.
Java Array: Pass by reference
Pole jsou předávána funkcím odkazem nebo jako ukazatel na
originál. To znamená cokoli, co uděláte s polem uvnitř
funkce ovlivňuje originál.
Příklad: Pro pochopení Array jsou předá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
Očekávaný výstup:
Before Function Call Apple After Function Call Changed
Vícerozměrná pole
Vícerozměrná pole jsou ve skutečnosti pole polí.
Chcete-li deklarovat vícerozměrné pole proměnlivý, určete každý další index pomocí jiné sady hranatých závorek.
Ex: int twoD[ ][ ] = new int[4][5] ;
Když přidělujete paměť pro vícerozměrné pole, stačí zadat paměť pouze pro první dimenzi (zcela vlevo).
Zbývající rozměry můžete přidělit samostatně.
In Java, délka pole každého pole ve vícerozměrném poli je 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] + " "); } }
Očekávaný výstup:
1