En aquesta activitat aprendràs a fer operacions amb els literals i variables d'un programa.
Aprendràs:
En la vida real, sovint realitzem operacions aritmètiques. Ens ajuden a determinar el canvi quan fem una compra, l'àrea d'una habitació, comptar la gent que hi ha a una cua, i coses així. Les mateixes operacions s'utilitzen als programes.
El llenguatge de programació Java proporciona operadors per a realitzar operacions aritmètiques:
En aquest exemple s'imprimeixen el resultat d'aquestes operacions aritmètiques amb operands enters:
Tal vegada l'operador menys conegut és el mòdul
Hi ha un ordre de preferència a les operacions artimètiques, inclosos els parèntesi:
Tenint en compte aquesta preferència es poden realitzar expressions més complexes:
El resultat d'una expressió artimètica depèn també del tipus dels seus operands (
Si una operació es realitza amb operands
Aquesta regla és especialment important en les divisions, ja que una operació de divisió entre operands enters donarà com a resultat un enter (és a dir, sense decimals), però si hi ha un decimal aleshores donarà el resultat amb decimals:
Escriu el resultat d'aquesta operació:
Què imprimirà aquesta sentència?
Ordena els operadors segons la preferència
Escriu el valor que retorna aquesta expressió:
Quina de les següents expressions és igual a
Quin és el resultat d'aquesta expressió?
Què imprimeixen aquestes sentències?
Quan utilitzem els operadors aritmètics amb valors de tipus
Així, per exemple, el valor unicode del caracter
A la wikipedia pots trobar la taula de caracters Unicode. Per a esbrinar el valor numèric d'un caracter busca'l a la columna Glyph i el seu valor a la columna Decimal
Podem utilitzar l'operador suma
D'aquesta forma, si algun dels dos operands en una expressió és un String, el resultat serà la concatenació dels operands, i no la suma.
Què imprimiran les següents sentències?
També podem utilitzar els valors de les variables per a realitzar operacions aritmètiques. Com ja hem fet anteriorment, accedirem al valor d'una variable pel seu nom.
Per una altra banda, podem guardar en una variable el resultat retornat per una expressió, sempre que la variable sigui del tipus adequat al valor que retorna una expressió.
Per últim, també es pot utilitzar el valor d'una variable en una expressió, i guardar el valor resultant en la mateixa variable.
L'operador d'asignació
Com pots veure, aquesta forma és més concisa. Es poden usar els altres operadors d'aquesta forma
abreujada:
L'operador d'increment
Seria l'equivalent a escriure:
I també equivalent a:
Tres formes diferents d'escriure el mateix!
Introdueix el valor de la variable
Introdueix el valor de cada variable, després de cada sentència d'aquest programa:
Introdueix el valor de cada variable, després de cada sentència d'aquest programa:
Esquirols i nous
Sortida en autobús
Nota mitjana
Perímetre d'un rectangle
Artròpodes
stigíD serT
Comptant els minuts per cap d'any
Recordem que el tipus de dada
Aquest tipus s'usa de forma habitual en els llenguatges de programació per a representar coses que només poden tenir dos estats oposats com on/off, sí/no.
Si estas escrivint un programa que fa el seguiment de
les obertures de portes trobaràs natural utilitzar un
Les operacions que podem realitzar sobre valors
NOT
Retorna la inversió d'un valor booleà:
AND
Retorna
OR
Retorna
Hi ha un altre operador anomenat XOR
A sota hi ha els operadors booleans ordenats de més a menys prioritat:
Tenint en compte aquesta precedència podem realitzar expressions complexes.
Un punt interessant és que els operadors
Aquest comportament es conegut com avaluació curtcircuit (no confondre amb curtcircuit elèctric). Redueix el temps de computació i pot ser utilitzat per a evitar alguns errors en programes.
Fixa't en aquest codi:
No importa el que hi hagi més enllà del primer
Igual que amb els operadors aritmètics, podem usar variables en les expressions booleanes. I també guardar el
valor retornat per una expressió booleana en una variable de tipus
Un altre exemple amb una expressió booleana complexa, per a determinar la possibilitat d'anar a fer senderisme a l'estiu o en altres estacions:
Escriu el resultat d'avaluar aquestes expressions lògiques:
Hi ha aquestes variables:
Quin és el resultat d'aquesta expressió?
Java proporciona sis operadors relacionals per a comparar números:
El resultat d'aplicar un d'aquests operadors relacionals és de
tipus
Aquí tens exemples d'aplicar els operadors relacionals a diferents tipus
d'operands. Observa que el valor retornat en avaluar l'expressió és sempre
Fixa't que podem fer operacions relacionals entre enters, floats i chars (recorda que els chars són convertits al seu valor Unicode). També podem fer operacions relacionals entre booleans. Però no podem fer-ho entre números i booleans, ja que no té cap sentit:
Per últim has de notar que no hem fet cap operació relacional amb el tipus
Per a comparar dos Strings hem d'utilitzar el mètode
Com ja hauràs suposat, podem utilitzar variables en les expressions relacionals.
Per a guardar el resultat d'una expressió relacional, usarem variables de tipus
Què imprimeix aquest programa?
Què imprimeix aquest programa?
En Java, no es pot escriure una expresió com
Podem combinar en una mateixa expressió, operadors aritmètics, relacionals i lògics. La prioritat dels tipus d'operadors és:
Aritmètics 🡒 Relacionals 🡒 Lògics
En el següent exemple hi han els tres tipus d'operadors:
El programa imprimeix
Primer es fan els Aritmètics (la suma):
Després els relacionals (l'igual que):
Per últim els lògics (l'OR):
El següent exemple comprova que un número estigui dintre d'un rang:
Quin valor retorna aquesta expressió?
Els petits davant
Contractar un programador
Aprovar el mòdul
La sintaxi general de l'operador ternari
Aquest operador retorna el valor
Exemple:
També podem guardar el resultat que retorna l'operador ternari en un variable. El tipus d'aquesta
variable ha de coincidir amb el tipus dels valors
L'operador ternari es pot enllaçar per a fer expressions més complexes:
El valor retornat és el que primer compleix la condició. Si no es compleix cap condició, aleshores es retorna l'últim valor.
Quin valor tindrà la variable