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[]). toaletaping.
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>;
or
<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
