Java: Práce s poli
Z MiS
(Rozdíly mezi verzemi)
m (→Vytvoření pole: Doplněn příklad pro základní typ - třídu.) |
m (→Zjištění počtu prvků v poli: Opraven překlep.) |
||
(Nejsou zobrazeny 4 mezilehlé verze od 1 uživatele.) | |||
Řá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 30: | Řá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 36: | Řá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. | + | 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 52: | Řádka 64: | ||
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]], [[Java: Datové typy]] |
Aktuální verze z 10. 2. 2017, 10:23
Obsah |
K čemu je pole?
- Ukládáme více prvků (proměnných) stejného datového typu.
- 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
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];
- Př
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