Java: Datové typy
Z MiS
(Rozdíly mezi verzemi)
(→Složené (strukturované): Doplnění objektů a Stringu) |
(→Celá čísla: Komentář k ořezání desetinných čísel.) |
||
(Nejsou zobrazeny 3 mezilehlé verze od 1 uživatele.) | |||
Řádka 9: | Řádka 9: | ||
<div class="Priklad"> | <div class="Priklad"> | ||
Příklad: datový typ <code>int</code> v Javě | Příklad: datový typ <code>int</code> v Javě | ||
− | * Udává, že se jedná o celá čísla v rozsahu | + | * 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ší. | * 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ě | Příklad: třída (datový typ) <code>Point</code> v Javě | ||
− | * rozsah: uspořádané dvojice čísel rozsahu <code>int</ | + | * rozsah: uspořádané dvojice čísel rozsahu <code>int</code> |
* operace: <code>posun(x,y)</code>, <code>rovnost(bod2)</code> a další... | * operace: <code>posun(x,y)</code>, <code>rovnost(bod2)</code> a další... | ||
</div> | </div> | ||
Řádka 21: | Řádka 21: | ||
* u ordinálních lze určit předchozí a následující hodnotu (znak, číslo, ne desetinné číslo). | * u ordinálních lze určit předchozí a následující hodnotu (znak, číslo, ne desetinné číslo). | ||
− | + | === Logická hodnota === | |
− | * <code>boolean</code> | + | * 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; | boolean spravne; | ||
+ | * Nastavení hodnoty: | ||
spravne = true; | spravne = true; | ||
spravne = false; | spravne = false; | ||
spravne = a > 5; | 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) { | if (spravne) { | ||
− | System.out.println(" | + | 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> | * <code>int</code> | ||
int polomer = 5; | int polomer = 5; | ||
− | int | + | int obvodObdelnika = 2*(a+b); |
int a, b, c, obvod3; | int a, b, c, obvod3; | ||
Řádka 40: | Řádka 53: | ||
* <code>long</code> | * <code>long</code> | ||
− | ; Písmeno | + | <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> | * <code>char</code> | ||
− | + | === Desetinná čísla === | |
* <code>double</code> | * <code>double</code> | ||
* <code>float</code> | * <code>float</code> | ||
− | + | === Další === | |
− | * | + | * Výčtový typ |
− | * | + | * „Prázdný typ“ (<code>void</code>) |
public void setLimit(int limit) { | public void setLimit(int limit) { | ||
... | ... | ||
Řádka 55: | Řádka 76: | ||
== Složené (strukturované) == | == Složené (strukturované) == | ||
− | + | === [[Java: Práce s poli|Pole]] === | |
* Viz stránka [[Java: Práce s poli]]. | * Viz stránka [[Java: Práce s poli]]. | ||
* <code>int[]</code> | * <code>int[]</code> | ||
Řádka 63: | Řádka 84: | ||
int vysledek += hodnoty[99]; | int vysledek += hodnoty[99]; | ||
− | + | === Objektové === | |
− | *Objekty tříd. | + | * Objekty tříd. |
* Sdružují dohromady data (jednu nebo několik hodnot jiného datového typu) a operace. | * Sdružují dohromady data (jednu nebo několik hodnot jiného datového typu) a operace. | ||
− | * Třída je vlastně popisem nového datového typu. | + | * 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>. | * V Javě realizován jako objekt třídy <code>String</code>. | ||
* Zároveň lze ale používat konstanty typu textový řetězec. | * Zároveň lze ale používat konstanty typu textový řetězec. |
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;