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.

  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>;

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