y = y + 3; x = x - 7; i = j * 6; r = r / 5;
L'operazione viene eseguita usando il tipo dei dati degli operandi, così ad esempio l'operazione 9/4 (dove 9 e 4 sono stati in precedenza dichiarati di tipo intero) darà come risultato 2 e non 2,25, appunto perché 9 e 4 sono stati dichiarati interi e quindi non si avrà un risultato con punto decimale.
Questo significa anche che l'operazione può causare un overflow se il risultato eccede il valore massimo che può essere memorizzato con il tipo di dato che si sta utilizzando.
Se si sta eseguendo un'operazione tra operandi di tipo diverso, per il calcolo verrà usato il tipo di dati più grande.
Ad esempio se uno degli operandi è di tipo float e l'altro è di tipo int verrà utilizzato il calcolo in virgola mobile per il calcolo.
Bisogna quindi scegliere la dimensione dei tipi delle variabili in modo appropriato in modo che i risultati non vadano in overflow.
E' opportuno sapere sempre con esattezza i valori che ogni volta la variabile assume, positivi e negativi, ad esempio: (0 – 1) oppure (0 – -32768).
Per la matematica che usa frazioni si dovranno utilizzare variabili di tipo float, ma bisogna essere consapevoli degli svantaggi che provoca questa scelta: dimensioni grandi dei numeri (necessità di maggiore memoria per i ccalcoli), calcoli più lenti.
Nota: potete utilizzare il cast operator per convertire il tipo di una variabile in un altro.
Ad esempio:
(int)myFloat
converte immediatamente la variabile myFloat in tipo intero.
Ad esempio:
i = (int)3.6
sarà uguale a 3
Le assegnazioni composte combinano le operazioni aritmetiche con assegnazioni di variabili e vengono largamente usate nei cicli for. Le assegnazioni composte più comuni includono:
x++ // uguale a x = x + 1, incrementa x di +1 x-- // uguale a x = x - 1, decrementa x di -1 x+=y // uguale a x = x + y, incrementa x di +y x-=y // uguale a x = x - y, decrementa x di -y x*=y // uguale a x = x * y, moltiplica x per y x/=y // uguale a x = x / y, divide x per yNota: per esempio, x*=3 moltiplica per tre il valore precedente di x e riassegna il risultato a x.
Il confronto tra variabili o costanti è spesso utilizzato nelle istruzioni if, while ma anche nei cicli for, per verificare se una determinata condizione è vera. Gli operatori di confronto sono:
x==y // x è uguale a y x!=y // x è diverso da y x>y // x è maggiore di y x>=y // x è maggiore o uguale a y
Gli operatori logici vengono usalmente utilizzati per confrontare due espressioni e restituiscono un valore TRUE (vero) o FALSE (falso).
Ci sono tre operatori logici:
AND logico:
if (x > 0 && x < 5) // vera se solo se entrambe le espressioni sono vereOR logico:
if (x > 0 || y > 0) // vero se una delle due espressioni è veraNOT logico:
if (!x>0) // vera solo se l'epressione è falsa