18.09.2013 Views

Introducció al desenvolupament de programari - 6 tasses de Java ...

Introducció al desenvolupament de programari - 6 tasses de Java ...

Introducció al desenvolupament de programari - 6 tasses de Java ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • XP06/M2010/01166<br />

ANOTACIONS<br />

32<br />

Programari lliure<br />

En particular, disposa <strong>de</strong>ls operadors d’autoincrement (++) i auto<strong>de</strong>crement<br />

(--), que s’apliquen directament sobre variables el contingut<br />

<strong>de</strong> les qu<strong>al</strong>s sigui compatible amb enters. Per exemple:<br />

comptador++; /* Equiv<strong>al</strong>ent a: comptador = comptador + 1; */<br />

--<strong>de</strong>scompte; /* Equiv<strong>al</strong>ent a: <strong>de</strong>scompte = <strong>de</strong>scompte - 1; */<br />

La diferència entre la forma prefixa (és a dir, que prece<strong>de</strong>ix la variable)<br />

i la forma postfixa <strong>de</strong>ls operadors està en el moment en què es<br />

fa l’increment o <strong>de</strong>crement: en forma prefixa, es fa abans d’emprar<br />

el contingut <strong>de</strong> la variable.<br />

D’<strong>al</strong>tra banda, també es po<strong>de</strong>n fer operacions entre bits. Aquestes<br />

operacions es fan entre cada un <strong>de</strong>ls bits que formen part d’una<br />

dada compatible amb enter i un <strong>al</strong>tre. Així doncs, és possible fer una<br />

I, una O, una O-EX (només un <strong>de</strong>ls dos pot ser cert) i una negació<br />

lògica bit a bit entre els que formen part d’una dada i els d’una <strong>al</strong>tra.<br />

(Un bit a zero representa ‘f<strong>al</strong>s’ i un a un, ‘cert’.)<br />

Els símbols emprats per a aquests operadors en el nivell <strong>de</strong> bit<br />

són:<br />

– Per a la I lògica: & (ampersand)<br />

– Per a la O lògica: | (barra vertic<strong>al</strong>)<br />

– Per a la O exclusiva lògica: ^ (accent circumflex)<br />

– Per a la negació o complement lògic: ~ (titlla)<br />

Exemple<br />

Vegeu com es modifiquen els continguts <strong>de</strong> les variables<br />

en l’exemple següent:<br />

a = 5; /* ( a == 5 ) */<br />

b = ++a; /* ( a == 6 ) && ( b == 6 ) */<br />

c = b--; /* ( c == 6 ) && ( b == 5 ) */<br />

M<strong>al</strong>grat que són operacions vàli<strong>de</strong>s entre da<strong>de</strong>s compatibles amb<br />

enters, igu<strong>al</strong> que els operadors lògics, és molt important tenir present<br />

que no donen el mateix resultat. Per exemple: ( 1 && 2 )és cert,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!