Programovßnφ v jazyce Java

Kurz programovßnφ v Jav∞ - 2. dφl

 

Komentß°e

Komentß°e slou₧φ k zapsßnφ poznßmek p°φmo do zdrojovΘho k≤du. P°ekladaΦ tyto komentß°e ignoruje. Existujφ t°i typy komentß°∙, kterΘ vidφte v tabulce, t°i teΦky (...) znamenajφ vßÜ komentß°.

Komentß°e
Druh Vysv∞tlenφ
// ... jedno°ßdkov² komentß°, kter² na konci °ßdku konΦφ
/* ... */ m∙₧e b²t na jednom °ßdku, ale i na vφce
/** ... */ dokumentaΦnφ komentß°, z kterΘho se pomocφ nßstroje Javadoc generuje dokumentace.

Deklarace

Deklarujφ se prom∞nnΘ, metody a t°φdy. My v dneÜnφm dφle budeme pou₧φvat pouze deklarace prom∞nn²ch v nejjednoduÜφm tvaru s jejich inicializacφ, kterß mß tvar:

Deklarace prom∞nnΘ
datov² typ identifikßtor; bez inicializace
datov² typ identifikßtor = hodnota;
P°.: int cislo = 25;

Identifikßtor je jmΘno, kter²m m∙₧eme oznaΦit prom∞nnΘ, metody, t°φdy, rozhranφ a balφky. M∙₧e b²t tvo°en pφsmeny i Φφslicemi, ale zaΦφnat musφ pφsmenem (i podtr₧φtko a znak dolaru je pφsmeno), dΘlka identifikßtoru nenφ omezena.

Mo₧nΘ identifikßtory: cislo, velke_cislo, $cislo.

èpatnΘ identifikßtory: 8nasobekx, velke cislo, mezery nejsou povoleny.

Java takΘ rozliÜuje malß a velkß pφsmena, tak₧e cislo a Cislo jsou odliÜnΘ identifikßtory.

DatovΘ typy

Ka₧d² programovßcφ jazyk obsahuje datovΘ typy a Java samoz°ejm∞ takΘ. V Jav∞ jsou objektov∞ orientovanΘ, kterΘ jsou definovßny t°φdami a my se jim budem v∞novat pozd∞ji, a objektov∞ neorientovanΘ, tzv. primitivnφ datovΘ typy, kterΘ si te∩ probereme. Jeden z d∙vod∙ proΦ existujφ datovΘ typy je reprezentace dat v pam∞ti. Typ byte zabφrß 8 bit∙, ale t°eba typ int 32 bit∙, to znamenß ₧e procesor musφ najφt poΦßteΦnφ byte, ale i nßsledujφcφ 3 v pam∞ti, samotn² jeden byte v tomto p°φpad∞ nic neznamenß, ale vÜechny dohromady dßvajφ jedno velkΘ Φφslo. TakΘ platφ, ₧e pokud se bude poΦφtat s mal²mi Φφsly, tak je zbyteΦnΘ pou₧φvat ΦφselnΘ datovΘ typy s velk²m rozsahem, proto₧e se alokuje pam∞t, kterß nebude vyu₧ita. V nßsledujφcφ tabulce je p°ehled primitivnφch datov²ch typ∙ v Jav∞.

Primitivnφ datovΘ typy
Typ Poznßmky
byte 8 bitovΘ celΘ Φφslo
short krßtkΘ celΘ Φφslo
int celΘ Φφslo
long dlouhΘ celΘ Φφslo
float reßlnΘ Φφslo s jednoduchou p°esnostφ
double reßlnΘ Φφslo s dvojnßsobnou p°esnostφ
boolean m∙₧e nab²t pouze dvou hodnot true nebo false
char reprezentuje znak

CeloΦφselnΘ datovΘ typy

Java definuje 4 celoΦφselnΘ datovΘ typy byte, short, int a long. V tabulce najdete rozsahy hodnot, kter²ch mohou nab²vat.

CeloΦφselnΘ datovΘ typy
Typ Rozsah Zabφrß v pam∞ti
byte -128 a₧ 127 8 bit∙
short -32768 a₧ 32767 16 bit∙
int -2147483648 a₧ 2147483647 32 bit∙
long -9223372036854775808 a₧ 9223372036854775807 64 bit∙

N∞kterΘ jazyky podporujφ neznamΘnkovΘ typy, takovΘ, kterΘ vyu₧φvajφ celou sv∙j rozsah na kladnou hodnotu (nap°.:byte, kter² by m∞l hodnotu 250), ale Java ne.

Typy reßln²ch Φφsel

ReßlnΘ typy reprezentujφ Φφslo s desetinnou Φßstφ. Java mß dva reßlnΘ typy float a double.V∞tÜina matematick²ch knihovnφch funkcφ pou₧φvajφ double, tak₧e se s nφm Φast∞ji setkßte.

Typy reßln²ch Φφsel
Typ Rozsah Zabφrß v pam∞ti
float 3.4e-38 a₧ 3.4e+38 32 bit∙
double 1.7e-308 a₧ 1.7e+308 64 bit∙

Zrojov² k≤d programu vyu₧φvajφcφ reßlnß Φφsla
public class RealCisla {
  public static void main(String[] args) {
    // deklarace prom∞nnΘ typu double, s jmΘnem d a hodnotou 12.0
    double d = 12.0;
    double e = 3.537;
    double soucet = d + e; /* ΦφselnΘ prom∞nnΘ m∙₧eme sΦφtat, nßsobit atd., jako v matematice */
    double podil = d / e;
    /* Nßsledujφcφ dva p°φkazy vypφÜφ do konzole v²sledky */
    System.out.println(soucet);
    System.out.println(podil);
  }
}

Tento p°φklad pou₧φval sice jen reßlnß Φφsla, ale samoz°ejm∞ totΘ₧ funguje i s Φφsly cel²mi, jen desetinnß Φßst bude ztracena, tak₧e pokud nebudete pot°ebovat reßlnß Φφsla, je lepÜφ pou₧φt Φφsla celß i kv∙li rychlosti v²poΦt∙m, proto₧e reßlnß Φφsla spot°ebujφ vφce v²poΦtovΘho Φasu, ne₧ Φφsla celß.

Zßv∞r

To je vÜe v dneÜnφm dφle a u₧ se m∙₧ete t∞Üit na dalÜφ, kde budou vysv∞tleny dalÜφ primitivnφ datovΘ typy. Ud∞lßme v∞tÜφ program s jejich pou₧φtφm, s p°ehledn²m rozborem jednotliv²ch krok∙. A mnoho dalÜφho...

 

Alen Dvo°ßk