Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

PJV011 X36PJV ( Programování v JaVě ) Cílem předmětu je probrat: - základy jazyka a systému Java - nejdůležitější standardní balíčky (packages j2sdk) Organizace.

Podobné prezentace


Prezentace na téma: "PJV011 X36PJV ( Programování v JaVě ) Cílem předmětu je probrat: - základy jazyka a systému Java - nejdůležitější standardní balíčky (packages j2sdk) Organizace."— Transkript prezentace:

1 PJV011 X36PJV ( Programování v JaVě ) Cílem předmětu je probrat: - základy jazyka a systému Java - nejdůležitější standardní balíčky (packages j2sdk) Organizace předmětu: Přednášky, cvičení, samostudium, semestrální práce, zkouška Studijní pomůcky: http://services.felk.cvut/courses/X36PJV Vývojové prostředky: JBuilder9 Personal nebo JBuilderX Foundation

2 PJV012 Java Java je: –jednotný univerzální jazyk ( což neznamená, že je vhodná pro cokoli ) –rozsáhlý, otevřený, rozvíjející se softwarový systém –právně chráněná –normotvorná - zavádí řadu užitečných norem, uzancí a přístupů –expanzivní, vykázala (od května 1995) dosud nevídaný rozmach –velmi efektivní při tvorbě software –spolehlivá, robustní, přesně specifikovaná a znamenitě dokumentovaná –portabilní, (Windows/Linux/Solaris...) –deterministická - úlohy končí či havarují určitelným způsobem –silně objektová - obsahuje však i neobjektové primitivní typy –síťová –internetová a internacionální –multithreadová - více úkolů může běžet (jakoby) současně –interpretovaná ( s adaptací pro platformu ) –zdarma

3 PJV013 Verze Javy a IDE Tvůrcem a vlastníkem práv Javy je firma Sun Microsystems, která vydává jdk, jre, j2sdk, j2ee, j2me a další produkty po verzích Lze stahovat ze sítě: javasoft.com jdk 1.0.2 (byla první), 1.1...(nový modelu událostí) j2sdk 1.2. (zahrnuje JFC), 1.3., 1.4.2. (aktuální) 1.5 (chystá se na léto 2004, beta je již vydaná) jre - Java Runtime Environment (bez vývojových prostředků) Tento software neobsahuje žádné IDE. S Javou lze pracovat (nepohodlně) řádkově: j2sdk1.4.2/bin/javac A.java B.java j2sdk1.4.2/bin/java A Řada firem vytvořila velmi pokročilá vývojová prostředí SUN ONE, Netbeans (Sun), JBuilder (Borland), JDeveloper(Oracle), VisualJ (IBM), JCreator, BlueJ

4 PJV014 Primitivní typy Typ Formát Zabalující (wrap) třída Celá čísla - dvojkový komplement se znaménkem byte 8-bit -128 … 127 Byte short 16-bit -32768 … 32767 Short int 32-bit -2147483648 … 2147483647 Integer long 64-bit -9223372036854775808 … 9223372036854775807 Long "Reálná" čísla - floating point podle normy IEEE 754 float 32-bit 2 -149 … (2-2 -23 )*2 127, NaN, pos/neg Infinity Float double 64-bit 2 -1074 … (2-2 -52 )*2 1023, NaN, pos/neg Infinity Double Další typy char 16-bit Unicode '\u0000' to '\uffff' 0 to 65535 Character boolean true false Boolean

5 PJV015 Konverze mezi primitivními typy Rozšíření: byte -> short -> int -> long -> float -> double char -> int -> long -> float -> double Rozšíření lze provést přímo přiřazením. Zúžení vyžaduje přetypování ( povoluje se tím ztráta informace) např: double d = 3.14; float f = (float) d; char c = (char) 65.4; byte b = (byte) 97; Pro všechny primitivní typy existují v java.lang zabalující třídy (wrap class). Tyto třídy nemají z hlediska jazyka žádné zvláštní postavení - obsahují řadu užitečných metod, atributů a konstruktorů, které usnadňují práci s primitivními typy a tvoří most k referenčním typům.

6 PJV016 Použití zabalovacích tříd int imax = Integer.MAX_VALUE; // zjištění max. hodnoty int k = Integer.parseInt("123"); // konverze řetěz - číslo String s = Integer.toHexString(k); // konverze do hexadec. tvaru // obdobně pro byte,short,long double dmax = Double.MAX_VALUE; // zjištění max. hodnoty double x = Double.parseDouble("-123.45"); // konverze řetěz - číslo boolean b = Double.isNaN(x); // test na nečíslo // obdobně pro typ float char c =Character.toLowerCase('Z'); // převod znaku boolean b = Character.isLetterOrDigit('@'); // je znak písmeno nebo číslice? int i = Character.digit(''f", 16); // hexadecimální hodnota znaku

7 PJV017 Standardní aritmetiky Integrální pro celá čísla s těmito operátory: + - * / % > >>> & | ^ ~ Pozor však na přetečení! Vyhazuje se pouze výjimka při dělení nulou: java.lang.ArithmeticException. Floating point pro "reálná" čísla s těmito operátory: + - * / % Tato aritmetika nevyhazuje žádné výjimky, avšak zahrnuje tři speciální hodnoty: NaN - Not a Number, tj. nečíslo nebo neurčitý výraz POSITIVE_INFINITY NEGATIVE_INFINITY S těmito hodnotami lze provádět další operace, avšak již nelze získat opravdové číslo.

8 PJV018 Matematické operace K dispozici jsou standardní třídy: Pro počítání v typech int, long, float a double: java.lang.Math java.lang.StrictMath Pro celá čísla s libovolnou přesností java.math.BigInteger Pro reálná čísla s libovolnou přesností java.math.BigDecimal

9 PJV019 Numerické literály Obsahuje-li literál pouze číslice a případně znaménko ukládá se do typu int. např.: -123, 123, +123 Pro uložení do typu long připojíme písmenný sufix l či L např.: 1230000000000000L nebo 1230000000000000l Obsahuje-li literál desetinnou tečku nebo exponent,ukládá se do typu double např.: 123., +123.45, -123E2, -123e2, 12300e-2 Pro uložení do typu float připojíme písmenný sufix f či F např.: -123.0f, +123.45F Oktalový literál se vyznačuje prefixem 0 (nula) např.: 077 (dekadicky 63), 02313154564646L Hexadecimalní literál se vyznačuje prefixem 0x (nula iks) např.: 0x77 (dekadicky 119), 0x1DADA2CAFE3FEEL

10 PJV0110 Znakové a řetězové literály Znakový literál představuje právě jeden znak v Unicodu a uvádí se v apostrofech, např.: 'A' 'Ř' '@' Lze ho vyjádřit až čtyřmi hexadecimálními číslicemi uvozenými prefixem \u, např.: '\uCafe' Řetězový literál je posloupnost znaků v Unicodu (i prázdná) v uvozovkách, např.: "Abc123" "Řeřicha" "@" "". Lze vkládat i znaky Unicodu, např.: "My \uCafe & Tea".

11 PJV0111 Jména a konvence Jméno tvoří libovolná neprázdná posloupnost písmen Unicodu (tedy i z národních abeced), znaků $ _ ( dolar a podtržítko = underscore) a číslic, která nezačíná číslicí a není klíčovým slovem. Jména je vhodné volit mnemotechnická, pouze z písmenek ASCII a číslic, s dolarem a podtržítkem velmi šetřit (mají totiž i jiný význam). Jmény se označují: package (balíček) - jen malá písmena, i několik jmen oddělených tečkou: abc def2.gh3 class (třída) a její konstruktory - podstatné jméno začínající velkým písmenem String FileInputStream BankAccount Výjimky by měly mít sufix Exception MySpecialException

12 PJV0112 Jména a konvence interface (rozhraní) - přídavné jméno začínající velkým písmenem Comparable Serializable method (metoda) - sloveso začínající malým písmenem reset parseDouble isLetterOrDigit variable (proměnná) - začínající vždy malým písmenem count totalTax currentFrequency final variable (konstanta) - jen z velkých písmen, číslic a event. s podtržítkem ORIGIN MAX_VALUE BASE_POINT

13 PJV0113 Klíčová slova Klíčová slova jsou tvořena jen malými písmeny: abstract default if private this boolean do implements protected throw break double import public throws byte else instanceof return transient case extends int short try catch final interface static void char finally long strictfp volatile class float native super while const * for new switch continue goto * package synchronized a dále literály: false true null * - vyhrazená - leč nefunkční


Stáhnout ppt "PJV011 X36PJV ( Programování v JaVě ) Cílem předmětu je probrat: - základy jazyka a systému Java - nejdůležitější standardní balíčky (packages j2sdk) Organizace."

Podobné prezentace


Reklamy Google