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
boolean
můž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;
-
spravne
budetrue
pokud hodnota proměnnéa
je větší než 5
spravne = ! vysledek;
- Hodnota proměnné
spravne
bude 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;