- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Zjednodušená ukázka:
Stáhnout celý tento materiálCharacter
"Reálná" čísla - dle normy IEEE 754
float 32-bit 2-149 … (2-2-23)*2127, NaN, pos/neg Infinity Float
(1.4E-45 ... 3.4E38)
double 64-bit 2-1074… (2-2-52)*21023, NaN, pos/neg Infinity Double
(4.9E-324 ... 1.7E308)
boolean true false Boolean
void pomocný prázdný typ Void exp byte long int short float double char exp mantisa mantisa rozšíření přiřazením zúžení přetypováním
odkrojí horní bity znaménko: 0/1 tj. +/- Primitivní typy jsou vzájemně nekompatibilní, ale jejich hodnoty lze převádět. 8 16 16 32 32 64 64 23 8 1 1 52 11 (+127 ) (+1023 ) minimální
aritmetika Konverze primitivních typů 0 -1 1 2 -2 MAX_VALUE MIN_VALUE 100...0000 011...1111 111..1110 111..1111 000..0000 000..0001 000..0010 + 000..0111 111..1001 7 -7 overflow MAX+MAX=-2
MIN+MIN=0
MAX+1=MIN Integrální aritmetika int a long Numerické literály Obsahuje-li literál jen číslice a příp. znaménko ukládá se do typu int.
např.: -123, 123, +123
Pro uložení v typu long se sufixem l či L
např.: 1230000000000000l nebo 1230000000000000L
Obsahuje-li literál tečku nebo exponent, ukládá se do typu double
např.: 123., +123.45, -123E2, -123e2, 12300e-2
Pro uložení v typu float se sufixem f či F
např.: -123.0f , +123.45E+3F
Oktalový literál se vyznačuje prefixem 0 (nula)
např.: 077 ( dekadicky 63 ), 02313154564646L
Hexadecimální literál se vyznačuje prefixem 0x (nula iks)
např.: 0x77 ( dekadicky 119 ), 0x1DADA2CAFE3FEEL Standardní aritmetiky Integrální aritmetika pro celá čísla int a long s těmito operátory:
+ - * / %
> >>>
& | ^ ~
Pozor: Přetečení se nijak nehlásí !
Pouze dělení nulou vyhazuje výjimku java.lang.ArithmeticException.
“Reálná” aritmetika pro float a double čísla má operátory:
+ - * / %
Nevyhazuje 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. Krom x != NaN je každé porovnání s NaN vždy false. Použití obalový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 hexa
Integer I = new Integer( "123" ); // konverze řetěz - číslo
// 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 / číslice?
int i = Character.digit( ''f" , 16 ); // hexadec. hodnota znaku
Java 1.5 zavedla zjednodušený zápis tzv. autoboxing, který automaticky
zabaluje/rozbaluje primitivní typy do/z příslušných obalových objektů. Matematické operace K dispozici jsou třídy:
Pro počítání v typech int, long, float a double:
java.lang.Math
java.lang.StrictMath je identická, strictfp
– požaduje přesné dodržování normy IEEE 754, byť hardware
umožňuje více
Pro čísla s libovolnou přesností existují třídy:
java.math.BigInteger - pro celá čísla
java.math.BigDecimal - pro desetinná reálná čísla
Výpočty provádějí metodami - nikoli operátory. 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 čtyřmi hexadecimálními číslicemi s prefixem \u např.: '\uCafe' .
Leč nelze použít \u000A či \u000a je to přechod na novou řádku.
Inu trapné, užijte tedy \n či \r .
Řetězový literál je posloupnost znaků Unicodu ( i prázdná ) v uvozovkách např.: "Abc123" "Řeřicha" "@" "" .
Lze vložit znaky Unicodu, např.: "My \uCafe & Tea" .
Řetězový literály se ukládají při kompilaci do poolu literálů.
Řetěz není primitivní typ – je to objekt referenčního typu java.lang.String,
který je imutabilní.
Na řetězovém literálu lze volat všechny metody třídy String. Operátory = přiřazení
+ - sčítání / odčítání aritmetické nebo unární plus / minus
++ -- inkrement / dekrement pre a post
násobení
/ dělení, integrální dělení jsou-li oba operandy integrálních typů
% modulo, tj. zbytek po dělení
> >>> posun vlevo/vpravo aritmetický resp. logický (nuly zleva) –
jen int a long. Posun o k%32 resp. k%64 pro int resp. long.
+ zřetězení – je-li alespoň jeden operand řetěz
instanceof - test referenčního typu
(type) - přetypo
Vloženo: 12.06.2009
Velikost: 736,85 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Mohlo by tě zajímat:
Skupina předmětu X36PJV - Programování v jazyku Java
Reference vyučujících předmětu X36PJV - Programování v jazyku Java
Podobné materiály
- 01M4 - Matematika 4 - Přednášky Prucha ReseniII
- 01M4 - Matematika 4 - Přednášky Prucha ReseniIII
- X01ALG - Úvod do algebry - Přednášky Horcik
- X01MA1 - Matematika 1 - Přednášky Tkadlec
- X16EKO - Ekonomika - Přednášky ekonomika
- X31EO1 - Elektrické obvody 1 - Přednášky EO1
- X31EO2 - Elektrické obvody 2 - Přednášky (2)
- X31EO2 - Elektrické obvody 2 - Přednášky
- X34ELE - Elektronika - Přednášky
- X36ALG - Algoritmizace - Přednášky algoritmizace
- Y36PJV - Programování v jazyku Java - Přednášky
- X02FY1 - Fyzika 1 - Přednášky
- X17TEP - Teorie elektromagnetického pole - prednasky
- 34EL - Elektronika - prednasky
- 12TD - Technická dokumentace - prednasky
- X12UEM - Úvod do elektrotechnických materiálů - prednasky od slova do slova
- Y36OMO - Objektové modelování - přednášky
Copyright 2024 unium.cz