TIPI PRIMITIVI TIPI STRUTTURATI TIPI DI DATI TIPI PRIMITIVI TIPI STRUTTURATI Interi Reali Booleani (insieme dei valori vero e falso) Caratteri Vettori Matrici Stringhe (stringhe di caratteri) Liste
TIPI PRIMITIVI DI JAVA [tabella ripresa dal sito di G. Zito (INFN)]
INTERI 4 differenti tipi: Operazioni aritmetiche: Ordine di precedenza (con segno) 4 differenti tipi: Byte 1 byte Short 2 byte Int 4 byte Long 8 byte Operazioni aritmetiche: + per la somma - per la differenza * per la moltiplicazione / per la divisione % modulo (resto della divisione) Esempi d'uso degli operatori aritmetici: 4 + 5 3 * 2 8 – 2 20 / 4 3 + 9 – 10 10 * 8 – 2 /13 Ordine di precedenza *, /, % +, - 1 + 5 * 3 - 8 / 2 * e / hanno precedenza su + e - 1 + 15 – 4 A parita di precedenza si procede da sinistra verso destra 16 – 4 12
segno Valore massimo: 27 = 128 1 1 1 1 Cifre del numero VALORE MASSIMO ESPRESSO DA UN ATTRIBUTO DI TIPO BYTE segno Valore massimo: 27 = 128 1 1 1 1 Cifre del numero
Uso delle parentesi ( 1 + ( 5 + 6 ) * 9 – 8 ) / 2 ( 1 + 11 * 9 - 8 ) / 2 ( 1 + 99 – 8 ) /2 (100 – 8 ) / 2 92 /2 46 Con le parentesi la valutazione può violare l'ordine di precedenza degli operatori
Assegnazioni class pippo { . . . public int A; pippo () { A=8; 8 A Metto in un area di memori riservata per A (che essendo int sarà di 4 byte) il valore 8 class pippo { . . . public int A; pippo () { A=8; MEMORIA PRINCIPALE A 4 byte Nome attributo a cui assegno il valore Valore assegnato
Esempi di assegnazioni MEMORIA PRINCIPALE A: ? B: 6 A=B; MEMORIA PRINCIPALE Esempi di assegnazioni A: 6 B: 6 Le assegnazioni possono essere anche tra attributi : A = B; se A e B sono ATTRIBUTI o VARIABILI Le assegnazioni possono allocare il valore valutato di una espressione complessa: A = B + 5; D = 5 * (A - 2);
Esecuzione assegnazioni di espressioni A = 5 * ( D – 6) A = 5 * ( 3 – 6) A = 5 * (-3) A= -15 Valuto la parte d'espressione di maggior Precedenza D-6 e sostituisco prima a D il 3 D = 3 A = -15 -15 -15