Úvod do programování - Java



Podobné dokumenty
Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Algoritmy I. Cvičení č.1 ALGI 2015/16

Algoritmy I. Cvičení č.1, 2 ALGI 2016/17

Algoritmizace a programování

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Paměť počítače. alg2 1

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Algoritmizace a programování

Úvod do programovacích jazyků (Java)

Algoritmizace a programování

Algoritmizace a programování

7. Datové typy v Javě

5 Přehled operátorů, příkazy, přetypování

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Programovací jazyk Pascal

Algoritmizace prostorových úloh

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

3 KTE / ZPE Informační technologie

Formátové specifikace formátovací řetězce

Úvod do programování. Lekce 1

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Datové typy strana 29

Algoritmizace prostorových úloh

Úvod do programování - Java. Cvičení č.4

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Algoritmizace prostorových úloh

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Čísla a číselné soustavy.

Informatika Datové formáty

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

Zápis programu v jazyce C#

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Programování v Javě I. Leden 2008

Algoritmy a datové struktury

Sada 1 - Základy programování

Sada 1 - Základy programování

Algoritmizace prostorových úloh

8 Třídy, objekty, metody, předávání argumentů metod

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

KTE / ZPE Informační technologie

Programování v Javě I. Únor 2009

Algoritmizace a programování. Terminálový vstup a výstup

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Algoritmizace a programování

Řídicí struktury. alg3 1

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Teoretické minimum z PJV

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Seminář Java II p.1/43

ADT/ADS = abstraktní datové typy / struktury

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová

Úvod do programovacích jazyků (Java)

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

- jak udělat konstantu long int: L long velka = 78L;

Objektově orientované programování

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Jazyk C# a platforma.net

Opakování programování

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

2. cvičení z ZI1 - Excel

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

PoskytovanéslužbyvsítiTUO-Net. PetrOlivka

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Ing. Igor Kopetschke TUL, NTI

Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

ALGORITMIZACE A PROGRAMOVÁNÍ

Úloha 1 Spojte binární obrazy na obrázku s hodnotami, které reprezentují.

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Operační systémy. Cvičení 3: Programování v C pod Unixem

NPRG030 Programování I, 2016/17 1 / :58:13

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

C2115 Praktický úvod do superpočítání

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

Transkript:

Úvod do programování - Java Cvičení č.1 1 1

UPR informace Cvičící í RNDr. Eliška Ochodková, kancelář A1010 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející Ing. Michal Krátký, Ph.D., kancelář A1004 michal.kratky@vsb.cz k www.cs.vsb.cz/kratky 2 2

Přihlášení Osobní číslo Každý uživatel počítačové sítě TUO-Net má automaticky přiděleno osobní číslo. Studenti mají toto číslo uvedeno na své čipové kartě a v indexu. Osobní číslo se skládá ze tří písmen a tří číslic, např.: abc123 Osobní číslo slouží pro identifikaci v počítačových systémech. Heslo Počáteční heslo je uživateli nastaveno jeho rodné číslo (bez lomítka) Uživatel je povinen změnit si heslo co nejdříve Prvotní heslo opravňuje uživatele k 6 přihlášením Zapomenuté heslo může nastavit fakultní správce nebo kartové středisko - požádat musíte osobně - nelze telefonicky či poštou Autentizace Uživatelé se autentizují pomocí adresářové služby edirectory (Novell): uživatelské DN: [.]os-cislo.? uživatelské jméno: os-cislo uživatelův kontext:.?, což je poslední číslice jeho osobního čísla Např..abc123.3 3 3

UPR informace Zápočet max 70 bodů, min 36 na základě test, pevně dané termíny schopnost on-line implementovat zadání!!! Zkouška test (klasif. zápočet) Max 30 bodů, min 15 bodů Opisování NE!!! Totožné nebo jen mírně modifikované projekty, neschopnost vysvětlit zdrojový kód apod. Opisování u zkoušky Disciplinární i komise podmíněné ě nepodmíněné ě vyloučení ze studia 4 4

UPR informace Instalace (odkazy na webové stránce cvičícího a přednášejícího) Java J2SE Development Kit 6.0 (stáhnout jdk (Java Development Kit), ne jen jre (Java Runtime Environment)) IDE Eclipse na cvičení NetBeans a další Literatura viz webová stránka cvičícího 5 5

Programátorské desatero Programování je lidská činnost, vyžaduje tedy trénink. Programování není cíl, ale prostředek k dosažení cíle. Programování vyžaduje pochopení algoritmizovaného problému. Programátor přemýšlí. Programátor pracuje samostatně. Programátor čte, zejména dokumentaci. Programátor se stále učí nové věci. Programátor testuje to, čemu ještě nerozumí. Programátor umí improvizovat. Programátor optimalizuje. Programátor musí umět přecházet plynule mezi více jazyky. Programátor umí hledat chyby. Programátor hledá chyby, aby se poučil. Programátor umí číst cizí kód. Je to poučné. Programátor píše slušně. Programátor si musí poradit s více editory. Programátor musí umět přečíst kód i bez zvýrazněné syntaxe. 6 6

Životní cyklus javovského programu Soubor AhojSvete.javajava se zdroj. kódem public class AhojSvete { public static void main(string[] args) { System.out.println("Ahoj svete!"); } } Překlad (různé překladače (compilers), např. javac, jikes) z příkazového řádku javac AhojSvete.java AhojSvete.class (tzv. bytecode) Spuštění z příkazového řádku java AhojSvete 7 7

Vývojové prostředí Eclipse Spuštění, ě vytvoření ř workspace (pracovního prostředí) Při prvním spuštění Eclipse jste dotázáni na umístění tzv. Workspace. Vyberte si Váš pracovní adresář, ve kterém se vám vytvoří workspace (adresář s tímto názvem). Tento workspace bude obsahovat vámi vytvořená data projekty, adresáře, soubory. 8 8

Vývojové prostředí Eclipse Vytvoření ř projektu Po spuštění se Eclipse otevírá s posledně otevřeným(i) projektem(y). Chcete-li vytvořit projekt nový, respektive první proveďte následující: Po spuštění IDE se nový projekt vytvoří File -> New -> Project,, a vybere se varianta Java Project. V průvodci dále zadejte jméno projektu (např. cv1) a pak zvolte Finish. K vytvoření projektu také můžeme kliknout na ikonu Vytvořil se tzv. Java project, projekt, kam se budou ukládat naše soubory se zdrojovými kódy (tj. zdrojové soubory) a související í soubory potřebné k vytvoření programu v Javě. 9 9

Vývojové prostředí Eclipse Přidávání ř á tříd Pokud jste zadali adresář projektu, ve kterém již jsou soubory.java, Eclipse je zařadí do projektu. Nové třídy se vytváří File > New > Class, je třeba zadat jméno třídy (musí být stejné jako jméno třídy, která pak bude obsahovat metodu main)., např. AhojSvete. Dále na otázku Which method stubs would you like to create? odpovězte zakliknutím položky public static void main a ukončete volbou Finish. K vytvoření třídy také můžeme kliknout na ikonu Vytvoří se zdrojový soubor AhojSvete.java java, který bude obsahovat jedinou třídu AhojSvete. 10 10

Vývojové prostředí Eclipse Psaní, překlad, ř spouštění ě programu Eclipse obsahuje komfortní editor se syntax highlighting a automatickým odsazováním. Psaní je tedy víceméně intuitivní. Standardní horká klávesa Ctrl-S ukládá soubor. Překlad se ručně spustí volbou Run->Run as-> Java application nebo klikněte na ikonu Chyby a výsledky překladu vypisují do spodního okna Console. 11 11

První program /* * File name: AhojSvete.java * Date: 2007/10/3 * Author: Vase Jmeno * Muj prvni program v Jave */ // deklarace hlavni tridy programu public class AhojSvete { // definice hlavni metody programu public static void main(string[] args) { // vypis retezce na obrazovku System.out.println("Ahoj svete!"); } } /* end of AhojSvete.java */ 12 12

Komentáře // na jeden řádek /* komentář na více řádků */ /** dokumentační komentář * javadoc vygeneruje dokumentaci */ 13 13

Konvence Dokumentace, komentáře Na začátku každé třídy uveďte: -stručný popis třídy, -autora či autory, -označení verze (pořadové číslo či datum poslední změny). Před každou metodou by měl být její j popis p doplněný o popis významu jednotlivých parametrů a návratových hodnot. Popisy tříd a metod by měly být ve formátu vhodném pro javadoc. Vlastní kód můžte rovněž doplnit o komentář, zejména pokud jste začátečníci. 14 14

Konvence Identifikátory (Java je tzv. case senzitivní jazyk pozor na malá a velká písmena!) Třídy začínají velkým a každé další velkým AhojSvete, StringBuffer Metody a proměnné ě začínají malým, další slovo velkým nacticislo(), pocet, pocetprvku Balíky pouze malá písmena, např. java.lang, java.util Konstanty pouze velká písmena MAX_VALUE, PI 15 15

Formátování á Konvence Na jednom řádku by měl být jeden příkaz, deklarace jedné proměnné. Obsah bloku odsaďte vždy o 3 či 4 mezery. V rámci jednoho bloku by měly být všechny příkazy odsazeny stejně (Eclipse odsazuje samo). Otevírací závorka bloku je obvykle na konci řádku, uzavírací samostatná na řádku. Např. V řídících strukturách vždy používejte složené závorky pro bloky (a to i v případě, že v bloku je pouze jeden příkaz). Používejte mezeru před otevírací závorkou a okolo operátorů. 16 16

Základní pojmy Datový typ určuje č jakých hodnot může nabývat objekt daného datového typu a množinu přípustných operací nad tímto datovým typem. Objektem rozumíme konstantu, proměnnou, výraz a podprogramy p (v Javě metody). Konstanta -veličina, která nemění hodnotu během řešení problému. Může být použita dvěma způsoby: přímo (63, ABC, ), pojmenováním (označení č identifikátorem), ifiká (PI jméno konstanty 3.14 ). 17 17

final float PI = 3.14; nebo final float PI;. PI = 3.14; Základní pojmy 18 18

Základní pojmy Proměnnáě -veličina, č která může měnit ě hodnotu během řešení problému. Proměnná se zavádí deklarací (pojmenování a určení datového typu konkrétní proměnné, ě event. určením č počáteční hodnoty) int i, k; int j = 1; 19 19

Základní pojmy Výraz se skládá z operátorů, operandů a speciálních znaků (např. závorky). Operandem může být: konstanta, proměnná, výraz, volání podprogramu (metody). Operand je tvořen opět výrazem: (a+b)/2, a=>c, i=2 Příkazy popisují jednotlivé kroky algoritmu a jejich návaznosti. Rozlišujeme jednoduché a strukturované příkazy. Celý algoritmus lze chápat jako jeden příkaz: i = 2; 20 20

Řídící struktury Jednoduché příkazy příkaz přiřazení (operátor přiřazení = ), (čtení a výpis (čtení a výpis je zpravidla realizován jako volání podprogramu)). Strukturované příkazy sekvence (posloupnost), selekce (podmínka), cyklus. 21 21

Datové typy Datový typ určuje č množinu hodnot, kterých může nabýt konstanta, proměnná, podprogram nebo výraz a množinu operací nad těmito hodnotami. Datový typ také určuje, kolik místa (bajtů) bude v paměti pro např. proměnnou tohoto typu vyhrazeno. Deklarace datového objektu znamená přiřazení jednoznačného jména - identifikátoru a určení č jeho datového typu. V Javě DT jednoduché a referenční. 22 22

int i; Deklarace (zavedení) proměnných Můžeme také definovat více proměnných stejného typu najednou (ale doporučení deklarace každé proměnné na samostatný řádek): int a, b, c; int j = 1; float f, g, h; final float PI = 3.14; 23 23

Jednoduché (základní) datové typy boolean (logický typ) - objekt datového typu boolean může nabývat dvou hodnot: pravda (angl. True, logická 1) nepravda (angl. False, logická 0) 24 24

Celé číslo Objekt datového typu celé číslo nabývá hodnot z množiny celých čísel. Celočíselné DT v Javě: byte(8 bitů), short (16 bitů), int(32 bitů), long (64 bitů). Zápis: desítkově, osmičkově (0126, 015) a šestnáctkově (0x3A, 0xCD). 25 25

Reálné číslo Objekt datového typu reálné číslo nabývá hodnot z množiny reálných čísel. Reálné datové typy v Javě: float (32 bitů), double (64 bitů). Zápis: 15., 15.0,.15, 5e6, 7E23, -7E+23, +7E-23. 26 26

Číselné soustavy Každé číslo lze zapsat v poziční č číselné é soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické soustavě reprezentujeme číslo jako posloupnost číslic, které mají různé váhy, podle jejich pozice, tzv. poziční číselná soustava. 172=1*100+7*10+2*1 Obecný zápis čísla v desítkové poziční číselné soustavě a n a n-1 a 1 a 0 a -1 a -2. má hodnotu a n *10 n +a n-1 *10 n-1 +. +a 1 *10 1 +a 0 *10 0 +a -1 *10 n-1 +a -2 *10-2 +.. kde a i { 0,1,2,3,4,5,6,7,8,9} 27 27

Číselné soustavy Počítač je sestrojen z logických obvodů, které pracují pouze s hodnotami 0 a 1. Proto je výhodné použít pro zápis čísel dvojkovou (binární) soustavu. (101) 2 = (1*4+0*2+1*1) 2 = 5 10 Obecný zápis čísla v binární poziční číselné soustavě a n a n-1 a 1 a 0 a -1 a -2. má hodnotu a n *2 n +a n-1 *2 n-1 +. +a 1 *2 1 +a 0 *2 0 +a -1 *2 n-1 +a -2 *2-2 +.. kde a i { 0,1} 28 28

Číselné soustavy 13 :2 0.625*2 2 6 1 1.25 3 0 1 1 0.5 0 1 1.0 13 10 = 1101 2 0.625 10 = 0.101 2 13.625 10 = 1101.101 2 1101 2 = (1*2 3 +1*2 2 +0*2 1 +1*2 0 ) 10 = 13 10 29 29

Číselné soustavy 0.1 10 = = 0*2 0 +0*2-1 +0*2-2 +0*2-3 +1*2-4 +1*2-5 +... = = 0.00011. 2 0.1*2 0.2 0.4 0.8 1.6 1.2 0.4 30 30

Číselné soustavy Paměťová buňka se skládá z osmi bitů. Zápis hodnot do paměťové buňky rozmezí (00000000) 2 až (11111111) 2, 0 až 255. Tento způsob interpretace obsahu paměťové buňky ovšem neumožňuje zápis záporných čísel. Proto se používá ještě některých dalších způsobů. Přímý kód ukládá absolutní hodnotu čísla se znaménkovým bitem, který určí zda se jedná o číslo kladné nebo záporné. 31 31

Přímý kód 123 0 1111011-123 1 1111011 V tomto způsobu kódování dochází k dvojí reprezentaci nuly. 0 0 0000000-0 1 0000000 32 32

Doplňkový kód Číslo v doplňkovém kódu interpretujeme tak, že nejvyšší váha má zápornou hodnotu -(2 n ). V případě osmibitové reprezentace je tedy hodnota nejvyšší váhy -128. ( 2 10 10 (1 0000000) 2 =(1*-2 7 +0*2 6 +...+0*2 0 ) 10 =(-128) 10 (1 0000001) 2 =(1*-2 7 +0*2 6 +...+0*2 1 +1*2 0 ) 10 =(-127) 10 (1 1111111) 2 =(1*-2 7 +1*2 6 +...+1*2 0 ) 10 =(-1) 10 (0 0000000) 2 =(0*-2 7 +0*2 6 +...+0*2 0 ) 10 =(0) 10 (0 0000001) 2 =(0*-2 7 +0*2 6 +...+0*2 1 +1*2 0 ) 10 =(1) 10 (0 1111111) =(0*-2 7 +1*2 6 +...+1*2 0 2 ) 10 =(127) 10 33 33

Reálná čísla Vzhledem k tomu, že libovolný interval reálných čísel obsahuje nekonečný počet hodnot, není možné nalézt jednoznačné zobrazení mezi libovolným reálným intervalem a konečným počtem hodnot, který dává k dispozici kódování do n bitů. Do n bitů lze zakódovat nejvýše 2 n hodnot. Proto je i počet reálných čísel zakódovaných v n bitech maximálně 2 n. Reálná čísla jsou v počítači reprezentována vždy s určitou chybou. Tato chyba závisí na velikosti kódovaného intervalu reálných čísel, na počtu bitů do nichž reálné číslo kódujeme a na způsobu jakým kódování provádíme. 34 34

Pevná řádová čárka Při zobrazení čísla l v pevné řádové é čárce je číslo l zakódováno do n bitů tak, že prvních m bitů odpovídá celé části a zbylých d bitů odpovídá zlomkové části. Takové kódování se pak ve zkratce označuje jako kódování m.d. Stejně jako u celých čísel lze použít přímý i doplňkový kód. Nejčastěji se ale používá doplňkový kód, aby bylo možné používat i záporná čísla. Příklad: V kódování 8.4 zapište číslo (13.625) 10. (13.625) 10 =(00001101.1010) 2 Při kódování s pevnou řádovou čárkou v doplňkovém kódu m.d je nejmenší zobrazitelné číslo -2 m-1 a největší zobrazitelné číslo 2 m-1-2 -d. 35 35

Pohyblivá řádová čárka Pro zobrazení velkých čísel l bychom potřebovali neúměrné množství bitů. Například pro číslo 10 300 přibližně 1000 bitů. Navíc u tak velkých čísel lze obvykle pracovat s menší absolutní přesností (bity nižších řádů lze zanedbat). Obdobná situace je u čísel se zápornými exponenty. Proto se číslo s pohyblivou řádovou čárkou skládá ze dvou částí: mantisy a exponentu. Mantisa je číslo s pevnou řádovou čárkou a exponent celé číslo. Hodnota reálného čísla r s mantisou m a exponentem e se vypočte podle vzorce r=m*2 e. 36 36

Pohyblivá řádová čárka Příklad: V kódování s pohyblivou řádovou čárkou k s mantisou 0.8 a čtyřbitovým exponentem zapište číslo (13.625) 10. (13.625) 10 =(0.11011010) 2 *2 (0100) 2 V paměti by toto číslo mohlo být uloženo jako sekvence následujících bitů: 11011010 0100. n-1 n-1 Rozsah je přibližně od -2 2 do +2 2, kde n je počet bitů exponentu. Relativní přesnost ř δ je dána počtem bitů mantisy m, δ =2 -m. 37 37

Znak Množina hodnot DT znak (char) je tvořena znaky abecedy (malá, velká písmena), číslicemi a speciálními znaky. Každému znaku je přiřazena celočíselná hodnota, tzv. kód znaku. Přiřazení kódů jednotlivým znakům je voleno tak, aby odpovídalo jejich pořadí v tzv. kódovací tabulce. Mezi nejpoužívanější kódování patří kódování podle norem ASCII, Unicode (Java). Zápis: jedním znakem ( A, $ ), posloupností \uxxxx, jde XXXX jsou šestnáctkové číslice ( \u011b je znak ě ), escape sekvencí ( \n je nový řádek), osmičkově. 38 38

Název Velikost Rozsah Implicitní typu hodnota long 8-9 223 372 036 854 775 808 až 0 +9 223 372 036 854 775 807 int 4-2 147 483 648 až 0 +2 147 483 647 short 2-32 768 až +32 767 0 byte 1-128 až +127 0 double 8 ±1.797 693 134 862 315 70 0.0 E+308 float 4 ±3.402 823 47 E+38 0.0 char 2 65 536 různých znaků \u0000 Boolean 1 bit true nebo false false 39 39

Operátor přetypování Pokud se hodnota proměnné kratšího typu ukládá do proměnné delšího typu, provede Java převod automaticky (neexistuje nebezpečí ztráty informace) rozšiřující konverze: int cislo1 = 12; long cislo2; cislo2 = cislo1; Pokud se hodnota proměnné delšího typu ukládá do proměnné kratšího typu, je třeba provést explicitní it přetypování ř zužujícící í í konverze: float desetinnecislo1; double desetinnecislo2 = 0.123456789; desetinnecislo1 = (float) desetinnecislo2; 40 40

Unární unární -, unární +, int j; int i = -3; j = -i; speciální ++l-hodnota, --l-hodnota l-hodnota++, l-hodnota-- Binární +, -, *, /, %, Operátory =, ==,!=, &&,, &,,!, <, <=, >, >=, &,, ^, <<, >>, >>>, ~ Ternární. 41 41

Operátory ++, -- ve výrazu se pracuje s původní hodnotou a teprve poté je hodnota proměnné zvýšena: l-hodnota++, l-hodnota nejprve se zvýší hodnota proměnné a pak se použije: ++l-hodnota, --l-hodnota int puvodni = 10; int nova = puvodni++; int puvodni = 10; int nova = ++puvodni; // puvodni=11, nova=10 // puvodni=11, nova=11 42 42

Další operátory Operátor Příklad Význam operátoru += x += y x = x + y -= x -= y x = x - y /= x /= y x = x / y *= x *= y x = x * y %= x %= y x = x % y ++ x++ x = x + 1 ++x -- x-- x = x - 1 --x 43 43

Logické operace Relační č operace - výsledkem relačních č operací je vždy logická hodnota. Relační operace jsou binární operace: ==,!=, <, >, <=, >=, &&,, &,,! Zkrácené x úplné vyhodnocování logických součtů a součinů. 44 44

Ternární operátor Ternární operátor slouží k vytvoření ř tzv. podmíněného ě výrazu, syntaxe: log_vyraz? výraz1 : výraz2 Zapíšeme-li například tento podmíněný výraz: cislo1 < 5? cislo2++ : cislo2-- hodnota proměnné cislo2 se zvýší o jedničku (provede se výraz1) pokud je hodnota proměnné cislo1 menší než 5 (podmínka (log_vyraz) je splněna). Pokud je hodnota proměnné cislo1 větší nebo rovna 5 (tedy podmínka není splněna), hodnota proměnné cislo2 se sníží (provede se vyraz2). 45 45