====== Přehled datových typů v programování ====== **Datový typ** je v informatice atribut dat, který informuje překladač (nebo procesor) o tom, jakým způsobem má data interpretovat. Určuje rozsah hodnot, které může data nabývat, a operace, které s nimi lze provádět. ===== 1. Základní (primitivní) typy ===== Tyto typy jsou atomické a představují nejjednodušší stavební kameny v paměti počítače. * **Celá čísla (Integers):** * `int`, `long`, `short`, `byte`. * Slouží k ukládání čísel bez desetinné části. Rozlišují se podle počtu bitů (např. 8-bitový byte vs 64-bitový long). * **Desetinná čísla (Floating Point):** * `float`, `double`. * Reprezentují reálná čísla s plovoucí desetinnou čárkou. * **Logické hodnoty (Boolean):** * `bool` (nabývá pouze hodnot **true** nebo **false**). * Klíčové pro větvení programu a [[it:math:logic|digitální logiku]]. * **Znaky ([[it:sw:char|Char]]):** * Jeden symbol (písmeno, číslice, interpunkce). Vnitřně reprezentován jako číslo (ASCII/Unicode). --- ===== 2. Složené a strukturované typy ===== Vznikají kombinací primitivních typů do složitějších celků. * **Pole (Array):** Indexovaná sekvence prvků stejného typu. * **Řetězce (String):** Sekvence znaků, v mnoha jazycích implementována jako pole typu char. * **Struktury (Struct) / Třídy (Class):** Uživatelsky definované typy, které seskupují různé datové typy pod jeden název (základ OOP). * **Ukazatele (Pointers):** Speciální typy, které neobsahují hodnotu, ale adresu v paměti. --- ===== 3. Typové systémy ===== Způsob, jakým jazyky s typy pracují, definuje jejich vlastnosti: ^ Typ systému ^ Charakteristika ^ Příklady ^ | **Statické** | Typ proměnné je znám již při kompilaci. | Java, C++, Rust | | **Dynamické** | Typ se určuje až za běhu programu. | Python, JavaScript | | **Silné** | Jazyk striktně zakazuje nelegální operace mezi typy. | Python, Java | | **Slabé** | Jazyk provádí automatické (implicitní) převody. | PHP, JavaScript | --- ===== 4. Proč na datových typech záleží? ===== * **Správa paměti:** Menší typy (např. `short`) šetří RAM v rozsáhlých systémech. * **Bezpečnost:** Typová kontrola zabraňuje chybám (např. pokusu o vynásobení jména číslem). * **Výkon:** Práce s celými čísly je pro CPU rychlejší než práce s desetinnými čísly. ---- //Související články:// * [[it:sw:char|Podrobně o datovém typu Char]] * [[it:math:binary|Binární soustava a reprezentace dat]] * [[it:sw:oop|Základy objektově orientovaného programování]] //Tagy: {{tag>programming dev software-engineering data-types coding-basics}}//