Java: Práce s poli

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Přístup k prvkům pole: Doplněn cyklus foreach a odkazy na Cykly a Java:Kontejnery.)
(Přidány související stránky.)
Řádka 5: Řádka 5:
 
* K jednotlivým prvkům přistupujeme pomocí čísel (indexů). V jiných jazycích (PHP) lze jako označení prvků (index) použít i textové hodnoty atd.).
 
* K jednotlivým prvkům přistupujeme pomocí čísel (indexů). V jiných jazycích (PHP) lze jako označení prvků (index) použít i textové hodnoty atd.).
 
* K prvkům pak můžeme snadno přistupovat například v cyklu.
 
* K prvkům pak můžeme snadno přistupovat například v cyklu.
 +
  
 
== Deklarace pole ==
 
== Deklarace pole ==
Řádka 14: Řádka 15:
  
 
Zatím se vytvoří pouze odkaz na pole, tedy jedna proměnná, která slouží jako odkaz na pole čísel.
 
Zatím se vytvoří pouze odkaz na pole, tedy jedna proměnná, která slouží jako odkaz na pole čísel.
 +
  
 
== Vytvoření pole ==
 
== Vytvoření pole ==
Řádka 25: Řádka 27:
  
 
  Zakaznik data = new Zakaznik[100];
 
  Zakaznik data = new Zakaznik[100];
 +
  
 
== Přístup k prvkům pole ==
 
== Přístup k prvkům pole ==
Řádka 44: Řádka 47:
 
  int celkem = 0;
 
  int celkem = 0;
 
  for (Zbozi z : pole) { celkem += z.getCena(); }
 
  for (Zbozi z : pole) { celkem += z.getCena(); }
 +
  
 
== Zjištění počtu prvků v poli ==
 
== Zjištění počtu prvků v poli ==
Řádka 50: Řádka 54:
 
;Př:  
 
;Př:  
 
  for (int i = 0; i < pole.length; i++) { ... }
 
  for (int i = 0; i < pole.length; i++) { ... }
 +
  
 
== Pole objektů ==
 
== Pole objektů ==
Řádka 60: Řádka 65:
 
  body[5].x += 7;
 
  body[5].x += 7;
 
  System.out.println(body[5].x);
 
  System.out.println(body[5].x);
 +
  
 
== Souhrn syntaxe ==
 
== Souhrn syntaxe ==
  
 
[[Image:pole.png]]
 
[[Image:pole.png]]
 +
 +
 +
== Související stránky ==
 +
* [[Cykly]], [[Java: Kontejnery]], [[Datové typy]]

Verze z 10. 2. 2017, 10:20


Obsah

K čemu je pole?


Deklarace pole

Chceme-li vytvořit proměnnou/atribut typu pole, píšeme:

datovyTyp nazevPromenne[];
Příklad
int pole[];

Zatím se vytvoří pouze odkaz na pole, tedy jedna proměnná, která slouží jako odkaz na pole čísel.


Vytvoření pole

Paměť pro všechny prvky pole se vyhradí teprve příkazem new:

nazevPromenne = new datovyTyp[pocetPolozek];
pole = new int[100];
int pocet = Konfigurace.getPocetPrvku();
pole = new int[pocet];
Zakaznik data = new Zakaznik[100];


Přístup k prvkům pole

Chci-li pracovat s konkrétním prvkem pole, použiji zápis:

nazevPromenne[poziceVPoli];
Prvky jsou číslované od 0!!!
Příklady
System.out.println(pole[5]);
pole[5] = 7;
if (pole[5] > pole[4]) System.out.println("Chyba!");

Prvky můžeme samozřejmě procházet v cyklu podobně jako kontejnery:

Zbozi pole[] = new Zbozi[15];
for (int i = 0; i < pole.length; i++) { pole[i] = new Zbozi(); }

int celkem = 0;
for (Zbozi z : pole) { celkem += z.getCena(); }


Zjištění počtu prvků v poli

Každé pole má vlastnost length, která reprezentuje počet prvků v poli.

nazevPromenne.lenght
for (int i = 0; i < pole.length; i++) { ... }


Pole objektů

V poli můžeme ukládat skalární datové typy, nebo objekty. Pak je syntaxe následující:

Point body[]; // deklarace pole (vytvoření odkazu)
body = new Point[200]; // vytvoření pole (obsazení paměti pro odkazy na objekty)
body[5] = new Point(8, 7); // přiřazení objektu na konkrétní pozici
// přístup k objektům a jejich vlastnostem:
body[5].x += 7;
System.out.println(body[5].x);


Souhrn syntaxe

Pole.png


Související stránky

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje