Introduzione a Java: differenze tra le versioni

Da Bioingegneria Elettronica e Informatica.
(I tipi primitivi, le variabili e gli array)
(I tipi primitivi, le variabili e gli array)
Riga 21: Riga 21:
 
# '''double''' occupazione di memoria pari a 8 byte;
 
# '''double''' occupazione di memoria pari a 8 byte;
 
# '''booolean''' occupazione di memoria pari a 1 byte;
 
# '''booolean''' occupazione di memoria pari a 1 byte;
# '''char''' occupazione di memoria pari a 2 byte;
+
# '''char''' occupazione di memoria pari a 2 byte.
  
 
Per esempio, una riga di codice di questo tipo è una dichiarazione  
 
Per esempio, una riga di codice di questo tipo è una dichiarazione  
Riga 32: Riga 32:
  
 
[[File:Tabella1.png | center |tabella]]
 
[[File:Tabella1.png | center |tabella]]
'''
+
'''N.B.''' L'indirizzo della variabile intera Z è 0, della variabile intera P è 4, della variabile intera N è 8, della variabile intera S è 12.
N.B.''' L’indirizzo della variabile intera Z è 0, della variabile intera P è 4, della variabile intera N è 8, della variabile intera S è 12.
+

Versione delle 17:29, 20 mar 2017

Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it

Antonio Brunetti antonio.brunetti@poliba.it

Gianpaolo Francesco Trotta gianpaolofrancesco.trotta@poliba.it


Introduzione

Con questa lezione iniziamo il corso di Algoritmi e Strutture Dati in Java da 6 CFU. Questa dispensa costituisce quindi il primo esempio di materiale didattico che si intende mettere a disposizione degli studenti, seguendo l’ordine e le modalità con cui gli argomenti verranno presentati a lezione. Obiettivo dell’intero corso è mettere in condizione lo studente frequentante, destinatario elettivo di queste dispense, ma anche lo studente non frequentante, di comprendere velocemente i presupposti teorici che sottendono a una buona, immediata e continua pratica alla programmazione in Java. Le dispense, quindi, non intendono sostituirsi completamente ai libri di testo consigliati nel programma dell'insegnamento, ma rappresentano sicuramente un valido strumento per tenersi al passo con gli argomenti trattati a lezione e un ottimo riferimento per un rapido test del livello di apprendimento durante la frequenza o in vista della prova scritta di esame.

I tipi primitivi, le variabili e gli array

Java mette a disposizione 8 tipi di dati primitivi: [1] [2]

  1. byte occupazione di memoria pari a 1 byte;
  2. short occupazione di memoria pari a 2 byte;
  3. int occupazione di memoria pari a 4 byte;
  4. long occupazione di memoria pari a 8 byte;
  5. float occupazione di memoria pari a 4 byte;
  6. double occupazione di memoria pari a 8 byte;
  7. booolean occupazione di memoria pari a 1 byte;
  8. char occupazione di memoria pari a 2 byte.

Per esempio, una riga di codice di questo tipo è una dichiarazione int Z ; ovvero associa al nome simbolico Z un indirizzo di memoria. Da quel momento in poi Z è una istanza del tipo int il cui valore variabile sarà codificato in 4 byte adiacenti in memoria. Il compilatore Java associa a questo nome simbolico Z un indirizzo nella memoria fisica, laddove per indirizzo di memoria si intende una numerazione progressiva dei singoli byte in memoria.

Per esempio: se supponiamo che la seguente tabella sia un'immagine dello stato della memoria, laddove ogni cella è un byte e ogni riga una sequenza di 4 byte dedicata a contenere il valore di una variabile intera e se supponiamo di iniziare a numerare (indirizzare) la memoria dal byte in alto a destra, diremo che questo byte (il cui contenuto corrisponde a 8 bit posti tutti a 0 ed evidenziati in rosso) ha indirizzo di memoria 0, quello immediatamente a sinistra (il cui contenuto corrisponde a 8 bit posti tutti a 0 e evidenziati in verde) indirizzo di memoria 1, (quello il cui contenuto corrisponde a 8 bit posti a valore 00000001 e evidenziati in giallo) ha indirizzo 4 ecc. ecc, proseguendo la numerazione da destra verso sinistra e dall'alto verso il basso.

tabella

N.B. L'indirizzo della variabile intera Z è 0, della variabile intera P è 4, della variabile intera N è 8, della variabile intera S è 12.