Java: Datové typy
Z MiS
(Rozdíly mezi verzemi)
(Vytvoření stránky) |
(→Celá čísla: Komentář k ořezání desetinných čísel.) |
||
| (Není zobrazeno 6 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]] | ||
| + | |||
| + | == Co je to datový typ == | ||
| + | |||
| + | Datový typ entity (objektu nebo proměnné) udává: | ||
| + | * rozsah hodnot, které můžeme do entity ukládat, | ||
| + | * a operace, které můžeme s entitou provádět. | ||
| + | |||
| + | <div class="Priklad"> | ||
| + | Příklad: datový typ <code>int</code> v Javě | ||
| + | * Udává, že se jedná o celá čísla v rozsahu < 2^(-32) ; 2^(32)-1 ). | ||
| + | * Můžeme provádět operace sčítání, odčítání, násobení a další. | ||
| + | |||
| + | Příklad: třída (datový typ) <code>Point</code> v Javě | ||
| + | * rozsah: uspořádané dvojice čísel rozsahu <code>int</code> | ||
| + | * operace: <code>posun(x,y)</code>, <code>rovnost(bod2)</code> a další... | ||
| + | </div> | ||
== Jednoduché (primitivní, skalární) == | == Jednoduché (primitivní, skalární) == | ||
| − | Ordinální | + | ; Ordinální a neordinální |
| − | * | + | * u ordinálních lze určit předchozí a následující hodnotu (znak, číslo, ne desetinné číslo). |
| − | * | + | |
| − | * | + | === Logická hodnota === |
| − | * | + | * Datový typ: <code>boolean</code> |
| − | ** | + | * Proměnná typu <code>boolean</code> může nést pouze dvě hodnoty: |
| − | ** | + | ** pravda/ano (anglicky <code>true</code>) |
| − | * | + | ** nepravda/ne (anglicky <code>false</code>) |
| − | * | + | |
| − | * | + | * Vytvoření proměnné: |
| − | ** | + | boolean spravne; |
| − | ** | + | * Nastavení hodnoty: |
| − | + | spravne = true; | |
| − | *Desetinná čísla | + | spravne = false; |
| − | * | + | spravne = a > 5; |
| − | * | + | * <code>spravne</code> bude <code>true</code> pokud hodnota proměnné <code>a</code> je větší než 5 |
| + | spravne = ! vysledek; | ||
| + | * Hodnota proměnné <code>spravne</code> bude opačná než hodnota proměnné <code>vysledek</code>. | ||
| + | * Testování hodnoty: | ||
| + | if (spravne) { | ||
| + | System.out.println("V proměnné spravne je hodnota pravda (true)."); | ||
| + | } | ||
| + | if (! spravne) { | ||
| + | System.out.println("V proměnné spravne je hodnota nepravda (false)."); | ||
| + | } | ||
| + | |||
| + | === Celá čísla === | ||
| + | * <code>int</code> | ||
| + | int polomer = 5; | ||
| + | int obvodObdelnika = 2*(a+b); | ||
| + | |||
| + | int a, b, c, obvod3; | ||
| + | obvod3 = a+b+c; | ||
| + | * <code>long</code> | ||
| + | |||
| + | <div class="Varovani"> | ||
| + | Pokud do proměnné celočíselného typu uložíme desetinné číslo, automaticky se zahodí desetinná část! | ||
| + | Příklad: | ||
| + | int polomer = 1; | ||
| + | int obvodKruhu = 2*Math.PI*polomer; | ||
| + | System.out.println(obvodKruhu); ''// Vypíše se: ''6'', nikoli ''6.28'', jak bychom čekali!'' | ||
| + | </div> | ||
| + | |||
| + | === Písmeno === | ||
| + | * <code>char</code> | ||
| + | |||
| + | === Desetinná čísla === | ||
| + | * <code>double</code> | ||
| + | * <code>float</code> | ||
| + | |||
| + | === Další === | ||
| + | * Výčtový typ | ||
| + | * „Prázdný typ“ (<code>void</code>) | ||
| + | public void setLimit(int limit) { | ||
| + | ... | ||
| + | } | ||
== Složené (strukturované) == | == Složené (strukturované) == | ||
| − | Pole | + | === [[Java: Práce s poli|Pole]] === |
| − | * | + | * Viz stránka [[Java: Práce s poli]]. |
| − | *int[] | + | * <code>int[]</code> |
| − | Objektové | + | int[] hodnoty = new int[100]; |
| − | *Objekty tříd | + | hodnoty[0] = 10; |
| − | *Třída | + | hodnoty[99] = 1; |
| − | Textový řetězec (text) | + | int vysledek += hodnoty[99]; |
| − | *V Javě realizován jako objekt třídy String. | + | |
| + | === Objektové === | ||
| + | * Objekty tříd. | ||
| + | * Sdružují dohromady data (jednu nebo několik hodnot jiného datového typu) a operace. | ||
| + | * Třída je vlastně popisem nového (námi vytvořeného) datového typu. | ||
| + | * Syntaxe viz: [[Java:_Zápis_tříd]] | ||
| + | |||
| + | === Textový řetězec (text) === | ||
| + | * V Javě realizován jako objekt třídy <code>String</code>. | ||
| + | * Zároveň lze ale používat konstanty typu textový řetězec. | ||
| + | String jmeno; | ||
| + | String titul = "Mgr."; | ||
| + | jmeno = "Pavel Karas"; | ||
| + | jmeno = titul+" "+jmeno; | ||
| + | System.out.println("Vaším vedoucím je "+jmeno; | ||
| + | |||
| + | == Další zdroje == | ||
| + | # [http://interval.cz/clanky/naucte-se-javu-datove-typy/ Interfal.cz-> Naučte se Javu-> Datové typy] | ||
Aktuální verze z 26. 11. 2015, 14:07
Obsah |
Co je to datový typ
Datový typ entity (objektu nebo proměnné) udává:
- rozsah hodnot, které můžeme do entity ukládat,
- a operace, které můžeme s entitou provádět.
Příklad: datový typ int v Javě
- Udává, že se jedná o celá čísla v rozsahu < 2^(-32) ; 2^(32)-1 ).
- Můžeme provádět operace sčítání, odčítání, násobení a další.
Příklad: třída (datový typ) Point v Javě
- rozsah: uspořádané dvojice čísel rozsahu
int - operace:
posun(x,y),rovnost(bod2)a další...
Jednoduché (primitivní, skalární)
- Ordinální a neordinální
- u ordinálních lze určit předchozí a následující hodnotu (znak, číslo, ne desetinné číslo).
Logická hodnota
- Datový typ:
boolean - Proměnná typu
booleanmůže nést pouze dvě hodnoty:- pravda/ano (anglicky
true) - nepravda/ne (anglicky
false)
- pravda/ano (anglicky
- Vytvoření proměnné:
boolean spravne;
- Nastavení hodnoty:
spravne = true; spravne = false; spravne = a > 5;
-
spravnebudetruepokud hodnota proměnnéaje větší než 5
spravne = ! vysledek;
- Hodnota proměnné
spravnebude opačná než hodnota proměnnévysledek. - Testování hodnoty:
if (spravne) {
System.out.println("V proměnné spravne je hodnota pravda (true).");
}
if (! spravne) {
System.out.println("V proměnné spravne je hodnota nepravda (false).");
}
Celá čísla
-
int
int polomer = 5; int obvodObdelnika = 2*(a+b);
int a, b, c, obvod3; obvod3 = a+b+c;
-
long
Pokud do proměnné celočíselného typu uložíme desetinné číslo, automaticky se zahodí desetinná část! Příklad:
int polomer = 1; int obvodKruhu = 2*Math.PI*polomer; System.out.println(obvodKruhu); // Vypíše se: 6, nikoli 6.28, jak bychom čekali!
Písmeno
-
char
Desetinná čísla
-
double -
float
Další
- Výčtový typ
- „Prázdný typ“ (
void)
public void setLimit(int limit) {
...
}
Složené (strukturované)
Pole
- Viz stránka Java: Práce s poli.
-
int[]
int[] hodnoty = new int[100]; hodnoty[0] = 10; hodnoty[99] = 1; int vysledek += hodnoty[99];
Objektové
- Objekty tříd.
- Sdružují dohromady data (jednu nebo několik hodnot jiného datového typu) a operace.
- Třída je vlastně popisem nového (námi vytvořeného) datového typu.
- Syntaxe viz: Java:_Zápis_tříd
Textový řetězec (text)
- V Javě realizován jako objekt třídy
String. - Zároveň lze ale používat konstanty typu textový řetězec.
String jmeno;
String titul = "Mgr.";
jmeno = "Pavel Karas";
jmeno = titul+" "+jmeno;
System.out.println("Vaším vedoucím je "+jmeno;