LINUXSOFT.cz
Username: Password:     
    CZ UK PL

> Programování v jazyku Java (4) - Proměnné a operace s nimi

V této části si probereme základní datové typy proměnných a operace s nimi.

30.7.2004 10:00 | Petr Hatina | read 59660×

DISCUSSION   

Datové typy proměnných

V Javě rozlišujeme 2 základní skupiny typů proměnných: primitivní typy a (referenční) odkazy na objekty.

Přehled primitivních typů

Typ Obsahuje Rozsah
boolean pravdivostní hodnota true/false
char znak Unicode
byte celé číslo -128 až 127
short celé číslo -215 až 215-1
int celé číslo -231 až 2 31 -1
long celé číslo -263 až 263-1
float racionální číslo jednoduchá přesnost
double racionální číslo dvojnásobná přesnost

Deklarace použití proměnné se provádí ve tvaru typ proměnná; Lze ihned přiřadit i prvotní, inicializační hodnotu.

int i=0;

Operátory

Manipulaci s proměnnými provádíme pomocí operátorů. Dělíme je do několika skupin.

Přiřazení hodnoty do proměnné dosáhneme pomocí operátoru =

int a; int b; 
a=6;
b=a+5;

Matematické operátory pro práci s čísly jsou standardní, tedy + - * / a % ( modulo, tj.zbytek po dělení)) např.

a=a*b;

Lze použít i zkrácený formát po přiřazení ve tvaru proměnná+=hodnota; namísto proměnná=proměnná+hodnota;

Častěji než zkrácený formát se používají operátory inkrementace (++) a dekrementace(--). Ve spojení s proměnnými číselných typů mají význam :přičti, resp. odečti 1.

a++;    //odpovídá a=a+1;

Používají se postfixově (a++), ale někdy i prefixově (++a). Rozdíl se projeví pokud v jednom příkazu současně provádíme s proměnnou jinou operaci, prefixový (++a) se provede ještě před touto operací, kdežto postfixový až po ní.

a=1; b=a++; //b je 1,a je 2 
a=1; b=++a; //b je 2,a je 2  

Relační operátory porovnávají hodnoty primitivních proměnných. Patří mezi ně < (menší než), > (větší než), <=, >= (menší, či větší nebo rovno), == (rovná se), != (nerovná se)). Připomínám že v Javě stejně jako v jazyce C se pro porovnání používá == (dvě rovnítka).

if(a == 4) System.out.println("OK");

Logické operátory spojují pravdivostní výsledky více relačních operací porovnání. && (a, současně), || (nebo), ! (negace).

if (a==0 && b>5 ) a=1;//pokud a je 0 a  b>5

Speciální skupinu tvoří bitové operátory, které dokáží porovnávat (&, |, ^, ~) , nebo posouvat (<<, >>) jednotlivé bity v bytech proměnných.

Přetypování , neboli změnu datového typu (např. při přiřazení do proměnné jiného primitivního typu) provádí Java většinou automaticky. Pouze v určitých případech je třeba použít operátor přetypování (výstupní typ v závorce) před proměnnou.

int i=100; long l= (long) i;

Odkazy

Velice krátce se dotknu skupiny referenčních typů, protože se jim budeme plně věnovat až budeme probírat třídy u kterých se hlavně používají. Referenční proměnné (odkazy) obsahují pouze odkaz na objekt proměnné, který se dynamicky vytváří v paměti příkazem new.

Date dat;
dat=new Date();
System.out.println (dat.getDate());

Jen předem upozorním na riziko používání operátorů při práci s odkazy. Pokud totiž použijeme na odkazy standardní operátory, operace provádějí se nad hodnotou odkazu , a nikoliv nad hodnotou objektu na který odkazuje. Například operátor == pak neporovná hodnotu odkazovaných proměnných, ale to, zda dva různé odkazy odkazují na stejný objekt v paměti.

Pro operaci s objekty musíme buď použít jejich metody (např. equals()), nebo provádět operace nad jejich atributy, pokud jsou přístupné.

 

DISCUSSION

For this item is no comments.

Add comment is possible for logged registered users.
> Search Software
> Search Google
1. Pacman linux
Download: 4874x
2. FreeBSD
Download: 9063x
3. PCLinuxOS-2010
Download: 8561x
4. alcolix
Download: 10943x
5. Onebase Linux
Download: 9659x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6240x

1. xinetd
Download: 2411x
2. RDGS
Download: 937x
3. spkg
Download: 4753x
4. LinPacker
Download: 9961x
5. VFU File Manager
Download: 3196x
6. LeftHand Mała Księgowość
Download: 7201x
7. MISU pyFotoResize
Download: 2805x
8. Lefthand CRM
Download: 3561x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3117x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz