Java: Práce s poli

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Oprava vzhledu, doplnění komentářů)
m (Zjištění počtu prvků v poli: Opraven překlep.)
 
(Není zobrazeno 7 mezilehlých verzí od 1 uživatele.)
Řádka 1: Řádka 1:
[[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Java]]
+
[[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Java]][[Category:Stránky s obrázky]]
  
 
== K čemu je pole? ==
 
== K čemu je pole? ==
*Ukládáme více prvků stejného datového typu.
+
* Ukládáme více prvků (proměnných) stejného datového typu.
* K prvkům pak můžeme snadno přistupovat například pomocí cyklů apod.
+
* 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.
 +
 
  
 
== Deklarace pole ==
 
== Deklarace pole ==
Řádka 13: Řá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 22: Řádka 25:
 
  int pocet = Konfigurace.getPocetPrvku();
 
  int pocet = Konfigurace.getPocetPrvku();
 
  pole = new int[pocet];
 
  pole = new int[pocet];
 +
 +
Zakaznik data = new Zakaznik[100];
 +
  
 
== Přístup k prvkům pole ==
 
== Přístup k prvkům pole ==
Řádka 27: Řádka 33:
 
  nazevPromenne[poziceVPoli];
 
  nazevPromenne[poziceVPoli];
 
<div class="Varovani">Prvky jsou číslované od 0!!!</div>
 
<div class="Varovani">Prvky jsou číslované od 0!!!</div>
;:  
+
;Příklady:  
 
  System.out.println(pole[5]);
 
  System.out.println(pole[5]);
  
Řádka 33: Řádka 39:
  
 
  if (pole[5] > pole[4]) System.out.println("Chyba!");
 
  if (pole[5] > pole[4]) System.out.println("Chyba!");
 +
 +
Prvky můžeme samozřejmě procházet v [[Cykly|cyklu]] podobně jako [[Java: Kontejnery|kontejnery]]:
 +
 +
Zbozi pole[] = new Zbozi[15];
 +
for (int i = 0; i < pole[[#Zjištění počtu prvků v poli|.length]]; i++) { pole[i] = new Zbozi(); }
 +
 +
int celkem = 0;
 +
for (Zbozi z : pole) { celkem += z.getCena(); }
 +
  
 
== Zjištění počtu prvků v poli ==
 
== Zjištění počtu prvků v poli ==
 
Každé pole má vlastnost <code>length</code>, která reprezentuje počet prvků v poli.
 
Každé pole má vlastnost <code>length</code>, která reprezentuje počet prvků v poli.
  nazevPromenne.lenght
+
  nazevPromenne.length
;:  
+
; Příklady:  
 
  for (int i = 0; i < pole.length; i++) { ... }
 
  for (int i = 0; i < pole.length; i++) { ... }
  
 
== Pole objektů ==
 
== Pole objektů ==
V poli můžeme ukládat skalární [[Datové typy|datové typy]], nebo objekty. Pak je syntaxe následující:
+
V poli můžeme ukládat skalární [[Java: Datové typy|datové typy]], nebo objekty. Pak je syntaxe následující:
  
 
  Point body[]; // deklarace pole (vytvoření odkazu)
 
  Point body[]; // deklarace pole (vytvoření odkazu)
Řádka 49: Řádka 64:
 
  body[5].x += 7;
 
  body[5].x += 7;
 
  System.out.println(body[5].x);
 
  System.out.println(body[5].x);
 +
 +
 +
== Souhrn syntaxe ==
 +
 +
[[Image:pole.png]]
 +
 +
 +
== Související stránky ==
 +
* [[Cykly]], [[Java: Kontejnery]], [[Java: Datové typy]]

Aktuální verze z 10. 2. 2017, 10:23


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.length
Příklady
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