Hlavní navigace

3. Java 5: Horton - Progamy, data, poměnné a výpočty

16. 9. 2008 20:44 xhulesj

Proměnná je pojmenovaný kousek paměti, který používáte k uložení informace. Jestliže definujete proměnnou typu Klobouk, pak do ní může te ukládat pouze Objekt typu klobouk. Zkoušet tam dávat něco jiného opravdu nezkoušejte. Na to máme testovací tým a právního zástupce, aby nás ochránil… Název proměnné může být v UNICODE formátu, tedy v národních abecedách.

Klobouky

Jak snadno nahlédneme, je takovýto typ deklarace typu celé číslo velmi čitelný a názorný. Jméno typu, jméno proměnné a středník nakonec.

Celá čísla:

byte – nabývá hodnot od –128 do 127 a zabírá jeden bajt (slovo) paměti.

short – nabývá hodnot –32768 do 32767 a zabírá dva bajty paměti (16 bitů).

int  - nabývá hodnot –2147483648 do 2147483647 a zabírá čtyři bajty (32 bitů) paměti

long  - nabývá hodnot 9223372036854775808 do 9223372036854775807 a zabírá 8 bajtů (64 bitů paměti).

Celočíselný literál je implicitně int.  Chcete li, aby byl long, musíte k hodnotě přidat velké nebo malé L(l)

long lMůjMajetek = 678623432158456L;  // zimbabwských dolarů

My otrlí Ajťáci můžeme zadávat čísla i v hexadecimální soustavě.

byte Adresa = 0×2A; // 42

Datové typy pro reálná čísla:

float - nabývá hodnot od –3,4E38 do –3,4E38 a obsadí 4 bajty, přesnost je na 7 míst.

double – nabývá hodnot –1,7E308 do  1,7E308 a obsadí 8 bajtů paměti, přesnost 17 míst.

Fortran je ještě vymakanější, neb má quad, kterého tady nevidím. Takže jak vlastně spočítám počet atomů ve vesmíru? :-( .  Nezapomeňte se všechny číselné hodnoty přesně naučit a důkladně prostudovat znění normy IEEE 754 pro definice typů float a double.

Základní operátory pro práci s celými čísly jsou plus, mínus, krát a děleno. Priorita operátorů naštěstí odpovídá tomu, čemu jsme se naučili ve škole.

ŠKOLA : 20 – 3*3 – 9/3 = 20–9–3 = 8
RPN: 20 3 3 * 9 3 /-- (pro vývojáře na stroji HP-41CV, ale ten asi Javu neumí)

Jinak kvůli tomu, že mě nenaučili RPN, musím používat nepřehledné závorky. Závorky mají prioritu, vyhodnocují se jako první.

(20 –3) *(3–9)/3 = 17*(-6)/3 = –34

Teprve zde nám Horton odtajňuje skokem goto další  modifikátory pro proměnné a metody.

public – pamatuju si z předchozího postu

static – statická metoda nebo proměnná existuje, i když nebyly vytvořeny žádné objekty třídy. Patří třídě a né instanci (objektu). Takže Pepy klobouk firmy Stetson je třeba červený, Jardy klobouk firmy Nguyen van Tiem je modrý a počet klobouků v mém vzorku je je statická proměnná, která nebyde čísla 2. Jasné?

void – prázdný, nevrací žádnou hodnotu

K výstupu na terminál se používá metoda println :

System.out.println(„Ahoj roote!“);

Metoda println() patří objektu out, který je statickým objektem třídy systém. Objekt out bude existovat i tehdy, nebudeme-li mít žádný objekt třídy System. Tedy v tomto případě žádnáé new System() konstrukce.

Hodnoty základních typů můžete míchat v jednom výrazu.
-Je-li některý z operandů typu double, je druhý před převedením operace automaticky převeden na double
-Je-li některý z operandů typu float, je druhý před provedením operace automaticky převeden na float
-Je-li některý z operátorů typu long, je druhý před provedením operace automaticky převeden na long.

Bude provedeno první pravidlo v tomto výčtu.
Pokud si nepřeji implicitní (vnitřní) chování smíšených výrazů, mohu použít přetypování

int dva, tri;
vysledek = 1.2 + (double)tri / dva;   // bez přetypování by nešlo o dělění klasické, ale tzv. celočíselné

Další matematické funkce, např. goniometrické , zaokrouhlovací, exponenciální, logaritmické apod. jsou ve třídě java.lang.Math

A v příštím díle se milí čtenáři (čte to jenom autor blogu :-))  podíváme na řízení toku programu, cykly a logiku.