Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010 1 Le variabili In generale una variabile è un simbolo che può assumere un valore appartenente a un determinato insieme, che prende il nome di definizione della variabile. Ad esempio, dato l’insieme degli interi positivi I+={1,2,3,4,…,}, una variabile x definita su I+, è un simbolo x che può assumere solo i valori che vanno da 1 a . 2 Le variabili In programmazione una variabile rappresenta una locazione di memoria sul calcolatore destinata a contenere dati. Essa: possiede un nome, associatole tramite un identificatore può contenere valori appartenenti ad un determinato insieme, che ne definisce il tipo 3 Le variabili Una variabile, prima di poter essere utilizzata, deve essere dichiarata. La dichiarazione comporta: l’assegnazione di un identificatore (nome) attraverso cui accedere al suo contenuto la specifica del tipo di valore che dovrà contenere 4 Dichiarazione di variabili In Java, la dichiarazione di una variabile ha la seguente forma generale: <type> <id>; In cui: <type> tipo di dato che può contenere la variabile <id> nome da usare per accedere al contenuto della variabile 5 Dichiarazione di variabili In Java, la dichiarazione di una variabile ha la seguente forma generale: <type> <id>; L’esempio seguente riporta la dichiarazione di una variabile, identificata dal nome “isVariable”, che può contenere gli interi da -32768 a +32767: int isVariable; identificatore (o nome) della variabile int è la parola chiave Java che identifica il tipo primitivo dei numeri interi con segno che occupano 4 byte di memoria (vedere nel seguito…) 6 Dichiarazione di variabili La dichiarazione di una variabile in Java può comprendere anche l’inizializzazione del suo contenuto. La forma generale di dichiarazione con inizializzazione è: <type> <id>=<init_value>; In cui: <init_value> valore (dello stesso tipo specificato in <type>) da assegnare alla variabile 7 Dichiarazione di variabili La dichiarazione di una variabile in Java può comprendere anche l’inizializzazione del suo contenuto. La forma generale di dichiarazione con inizializzazione è: <type> <id>=<init_value>; L’esempio seguente riporta la dichiarazione di una variabile, identificata dal nome “isVariable”, che può contenere gli interi da -32768 a +32767, e che viene inizializzata con il valore 100: int isVariable=100; 8 Dichiarazione di variabili n variabili dello stesso tipo possono fare parte di una dichiarazione multipla: <type> <id1>,<id2>,…,<idn>; In cui: <type> tipo di dato che possono contenere le n variabili <id1>,…,<idn> n nomi da usare per accedere al contenuto delle n variabili 9 Dichiarazione di variabili n variabili dello stesso tipo possono fare parte di una dichiarazione multipla: <type> <id1>,<id2>,…,<idn>; L’esempio seguente riporta la dichiarazione di tre variabili, identificate dai nomi “isVar1”, “isVar2” e “isVar3”, che possono contenere gli interi da -32768 a +32767: int isVar1, isVar2, isVar3; 10 Dichiarazione di variabili Allo stesso modo una dichiarazione multipla può comprendere anche l’inizializzazione delle variabili L’esempio seguente riporta la dichiarazione di tre variabili, identificate dai nomi “isVar1”, “isVar2” e “isVar3”, che possono contenere gli interi da -32768 a +32767, e che vengono inizializzate rispettivamente con gli interi 2, 10 e 100: int isVar1=2, isVar2=10, isVar3=100; 11 Identificatore di variabile La convenzione per attribuire ad una variabile un identificatore è la seguente: deve rappresentare bene ciò che la variabile rappresenta deve iniziare con una lettera minuscola se l’identificatore è composto da più parole, ogni parola (eccetto la prima) deve iniziare con la lettera maiuscola non deve contenere il carattere $ 12 Il tipo di dati Un tipo di dati determina: il valore che una variabile di quel tipo può contenere le operazioni che possono essere effettuate su una variabile di quel tipo In Java esistono due categorie di tipi di dati: tipi primitivi i più semplici e non ulteriormente scomponibili tipi non primitivi complessi e composti da altri tipi di dati (a loro volta primitivi e non). Ad esempio: classi, interfacce, array (non ci interessa!) 13 I tipi primitivi in Java Tra i tipi primitivi in Java troviamo: i tipi per gli interi con segno che sono: il tipo intero a 1 byte identificato tramite la parola chiave byte il tipo intero a 2 byte identificato tramite la parola chiave short il tipo intero a 4 byte identificato tramite la parola chiave int (visto negli esempi precedenti…) il tipo intero a 8 byte identificato tramite la parola chiave long 14 I tipi primitivi in Java … i tipi per i numeri in virgola mobile che sono: il tipo in virgola mobile a 4 byte identificato tramite la parola chiave float il tipo in virgola mobile a 8 byte identificato tramite la parola chiave double il tipo a 4 byte per il singolo carattere, identificato tramite la parola chiave char il tipo a 1 bit per i valori booleani (cioè true e false), identificato tramite la parola chiave boolean 15 I tipi primitivi interi Parola chiave Memoria usata Valori possibili byte 8 bit (1 byte) [-128, +127] short 16 bit (2 byte) [-32768, +32767] 32 bit (4 byte) [-2.147.483.648, +2.147.483.647] 64 bit (8 byte) [-9.223.372.036.854.775.808, +9.223.374.036.854.775.808] int long Tipo di valore intero 16 … e gli altri tipi primitivi Parola chiave float double Tipo di valore Memoria usata Valori possibili floating point (virgola mobile) 32 bit (4 byte) +/- 3,4028… x 10+38, +/- 1,4023… x 0-45 64 bit (8 byte) +/- 1,767… x 10+308, +/- 4,940… x 0-324 char singolo carattere 16 bit (2 byte) tutti i caratteri Unicode boolean true o false 1 bit {true, false} 17 I tipi primitivi (un esempio Java) public class EsempioDichiarazione { public static void main(String arg[]) { byte isByte=100; short isShort=1000; int isInt=1000000; long isLong=10000000000; float isFloat=30.205; double isDouble=1000.134567; char isChar=‘a’; boolean isBoolean=true; } } 18 Letterali stringa e carattere Letterale stringa sequenza di caratteri racchiusa tra doppi apici esempio: “Hello world!” è un letterale stringa composto da 12 caratteri Letterale carattere carattere appartenente al codice Unicode racchiuso tra singoli apici esempio: ‘a’ è un letterale carattere Attenzione! La scrittura ‘a’ denota un singolo carattere, mentre la scrittura “a” denota una stringa composta di un singolo carattere 19