venerdì 8 aprile 2011

Java: istruzioni di dichiarazione e assegnazione

Per iniziare a scrivere un programma in Java bisogna specificare la classe, che ha lo stesso nome con cui si salverà il file .java che poi verrà compilato e si avrà il file .class.
All'interno della classe ci sono vari metodi, ognuno con una signature (cioè la firma del metodo). Il metodo principale, dal quale inizia l'esecuzione il programma, si chiama main ed ha signature: public static void main(String [] args).
All'interno del metodo si scrivono le istruzioni che il calcolatore dovrà eseguire (in maniera sequenziale).
Due istruzioni molto importanti sono: la dichiarazione di tipo di una variabile e l'istruzione di assegnamento.
Ogni variabile in Java ha un tipo specifico: cioè può assumere valori del tipo dichiarato e per ogni tipo sono definite operazioni diverse.
I tipi di dato primitivi sono:  

  • Tipi interi
    • byte ( dimensione 8 bit, assume valori da -2^7 a 2^7-1) 
    • int (dimensione 32 bit, assume valori da -2^31 a 2^31-1)
    • short(dimensione 16 bit, assume valori da -2^15 a 2^15-1)
    • long(dimensione 64 bit, assume valori da -2^63 a 2^63-1)
  •   Tipi a virgola mobile
    •  float(dimensione 32 bit, per numeri reali)
    • double(dimensione 64 bit, per numeri reali)
  •   Tipo booleano
    •  boolean (assume valori true, false)
  •  Tipo carattere
    •  char (dimensione 16 bit, secondo lo standard Unicode e non Ascii)
Un'istruzione di dichiarazione di tipo è ad esempio:
int numero; (numero viene dichiarata una variabile di tipo int)
oppure
char lettera; (lettera viene dichiarata una variabile di tipo char).
Una volta dichiarata una variabile di un certo tipo (ad es. int n;)  possiamo assegnarne un valore di quel tipo attraverso l'operatore "=" (nell'es. n=2;).
Si può anche dichiarare il tipo di una variabile e fare subito l'assegnamento, ad esempio char caratt='f';
Per l'assegnamento di un carattere esso va inserito tra due apici: 'c'.
Come avrete notato ad ogni istruzione segue un ";" che serve a indicare il termine dell'istruzione stessa.
Si può assegnare qualsiasi espressione ad una variabile, l'importante è che il valore risultante dell'espressione abbia lo stesso tipo della variabile ad esempio:
int n; (dichiarazione della variabile n di tipo int)
n=5;   (assegna ad n il valore 5)
n=n+6; (assegna ad n il valore dell'espressione n+6, in questo caso verrà assegnato 11).
Non è corretto assengare un valore ad una variabile quando i tipi non sono gli stessi: int i=4.6; (questo è scorretto, perchè 4.6 non è di tipo int).
Per far in modo che la variabile di prima assuma il valore 4.6, ma "trasformato" in tipo int, si fa un'operazione detta di type-cast: int i=(int)4.6; (questo è corretto).
Con il casting si forza un valore a diventare di un'altro tipo (il tipo specificato tra le parentesi), nell'esempio precedente 4.6 attraverso il cast diventa 4 (vengono tolti i numeri dopo la virgola).
La sintassi per usare il type-cast è: (<tipo>) <espressione>.
I caratteri vengono memorizzati dall'elaboratore attraverso codici numerici interi, quindi è possibile convertire un carattere nel relativo numero intero con il cast (int) o viceversa, da numero intero ricavare il carattere corrispondente con il cast (char).
Nello standard Unicode le lettere dell'alfabeto hanno codici contigui e sono ordinati rispetto l'ordinamento lessicografico quindi possiamo ricavare il carattere successivo a quello contentuto in una certa variabile:
char lett='r'; (dichiarazione della variabile lett di tipo char e assegnamento del valore 'r')
char succ=(char)((int)'r'+1) ; (assegnamento alla variabile succ di tipo char il valore successivo al carattere r)
(Si ricava il codice numerico di 'r', si somma 1 e poi si converte il numero ottenuto in char, ottenendo così 's', la lettera successiva ad 'r').
Se il tipo di una variabile è più "generale" di quello dell'espressione, si ha una conversione automatica: una variabile di tipo double può anche assumere valori di tipo int, ma il viceversa non è valido.

Leggi di più alla pagina Introduction to Java language programming

Nessun commento:

Posta un commento