LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    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 | czytane 59397×

RELATED ARTICLES KOMENTARZE   

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é.


KOMENTARZE
Problemy s float 30.7.2004 12:22 Jiří Hnídek
L Re: Problemy s float 30.7.2004 14:05 MarrLiss
getDate() 12.9.2009 13:03 Dan Pelíšek
L Re: getDate() 14.9.2009 13:24 Petr Balšánek
  L Re: getDate() 15.9.2009 00:04 Dan Pelíšek
Omezení proměné v parametru metody 19.10.2009 12:24 Dan Pelíšek
  L Re: Omezení proměné v parametru metody 20.10.2009 00:32 Aleš Hakl
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4706x
2. FreeBSD
Download: 8880x
3. PCLinuxOS-2010
Download: 8383x
4. alcolix
Download: 10649x
5. Onebase Linux
Download: 9452x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 5946x

1. xinetd
Download: 2233x
2. RDGS
Download: 937x
3. spkg
Download: 4324x
4. LinPacker
Download: 9591x
5. VFU File Manager
Download: 3021x
6. LeftHand Mała Księgowość
Download: 6836x
7. MISU pyFotoResize
Download: 2596x
8. Lefthand CRM
Download: 3393x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 2865x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz