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.

  1. Jednorozmฤ›rnรฉ pole
  2. 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

Shrลˆte tento pล™รญspฤ›vek takto: