Java: Práce s poli

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Vytvoření stránky: bez formátování)
 
(Oprava vzhledu, doplnění komentářů)
Řádka 1: Řádka 1:
 
[[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Java]]
 
[[Category:VSE]][[Category:Informatika]][[Category:Programování]][[Category:Java]]
  
Datová struktura
+
== K čemu je pole? ==
 
*Ukládáme více prvků stejného datového typu.
 
*Ukládáme více prvků stejného datového typu.
Základní operace
+
* K prvkům pak můžeme snadno přistupovat například pomocí cyklů apod.
*Deklarace
+
 
**datovyTyp nazevPromenne[];
+
== Deklarace pole ==
**Př:
+
Chceme-li vytvořit proměnnou/atribut typu pole, píšeme:
***int pole[];
+
datovyTyp nazevPromenne[];
*Vytvoření
+
 
**nazevPromenne = new datovyTyp[pocetPolozek];
+
;Příklad:
**Př:  
+
int pole[];
***pole = new int [100];
+
 
*Přístup k prvku
+
Zatím se vytvoří pouze odkaz na pole, tedy jedna proměnná, která slouží jako odkaz na pole čísel.
**nazevPromenne[poziceVPoli];
+
 
**Prvky jsou číslované od 0!!!
+
== Vytvoření pole ==
**Př:  
+
Paměť pro všechny prvky pole se vyhradí teprve příkazem new:
***System.out.println(pole[5]);
+
nazevPromenne = new datovyTyp[pocetPolozek];
***pole[5] = 7;
+
;Př:  
***if (pole[5] > pole[4]) System.out.println("Chyba!");
+
pole = new int[100];
*Zjištění počtu prvků
+
 
**nazevPromenne.lenght
+
int pocet = Konfigurace.getPocetPrvku();
**Př:  
+
pole = new int[pocet];
***for (int i = 0; i < pole.length; i++) { ... }
+
 
Pole objektů
+
== Přístup k prvkům pole ==
*Point body[];
+
Chci-li pracovat s konkrétním prvkem pole, použiji zápis:
*body = new Point[200];
+
nazevPromenne[poziceVPoli];
*body[5] = new Point(8, 7);
+
<div class="Varovani">Prvky jsou číslované od 0!!!</div>
*System.out.println(body[5].x);
+
;Př:  
*PR* Prvních 100 prvočísel.
+
System.out.println(pole[5]);
 +
 
 +
pole[5] = 7;
 +
 
 +
if (pole[5] > pole[4]) System.out.println("Chyba!");
 +
 
 +
== Zjištění počtu prvků v poli ==
 +
Každé pole má vlastnost <code>length</code>, která reprezentuje počet prvků v poli.
 +
nazevPromenne.lenght
 +
;Př:  
 +
for (int i = 0; i < pole.length; i++) { ... }
 +
 
 +
== Pole objektů ==
 +
V poli můžeme ukládat skalární [[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);

Verze z 11. 1. 2013, 07:31


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

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!!!
System.out.println(pole[5]);
pole[5] = 7;
if (pole[5] > pole[4]) System.out.println("Chyba!");

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);
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje