Java: Práce s poli
Z MiS
(Rozdíly mezi verzemi)
(Vytvoření stránky: bez formátování) |
m (→Zjištění počtu prvků v poli: Opraven překlep.) |
||
(Není zobrazeno 8 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? == | |
− | *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 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.). | |
− | *Deklarace | + | * 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]; | |
− | + | ||
− | Pole objektů | + | 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]; | ||
+ | <div class="Varovani">Prvky jsou číslované od 0!!!</div> | ||
+ | ;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 [[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 == | ||
+ | Každé pole má vlastnost <code>length</code>, 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í [[Java: Datové typy|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 == | ||
+ | |||
+ | [[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