JavaProgrammazione

Tipi, variabili, dichiarazioni

Iniziamo con dei concetti base della sintassi Java. Una variabile è composta da un nome simbolico e un indirizzo di memoria che deve contenere il dato. Ogni variabile viene associata ad un tipo che definisce le caratteristiche del dato da memorizzare.

Le variabili possono essere:

  • locali – vengono create e distrutte all’interno di un metodo;
  • d’istanza – vengono dichiarati all’interno di una classe e hanno come scope l’intero corpo della classe, occupa lo spazio di memoria fino a quando esiste l’oggetto;
  • di classe (static) – visibile da tutte le istanze di quell’oggetto, occupa lo spazio di memoria fino al termine del programma;

La visibilità di una variabile può essere modificata anche dai seguenti qualificatori:

  • private – visibile solo all’interno della classe;
  • public – visibile all’interno del codice in cui ci sia una istanza della classe;
  • protected – visibile da ogni altra classe che appartiene al medesimo package della classe che la contiene e da ogni classe che ne deriva;
  • default – visibile solo da tutte le classi nel medesimo package;

La keyword final serve per dichiarare una variabile che potrà essere inizializzata una sola volta, le costanti invece vengono definite come final e static.

Tipi primitivi

È l’insieme di caratteristiche che qualsiasi valore assunto da una variabile dovrà soddisfare. I tipi primitivi sono:

  • byte – da -128 a 127;
  • short – da -32768 a 32767;
  • int – da -231 a 230;
  • long – da -263 a 262;
  • float – virgola mobile da -126 a 127;
  • double – virgola mobile in doppia precisione;
  • boolean – solo due valori (true, false);
  • char – utilizzato per la memorizzazione di caratteri;

I valori possono essere specificati dai seguenti suffissi:

  • 0x – esadecimale;
  • 0b – binario;
  • L – long;
  • F – float;
  • D – double;
  • E – notazione scientifica;

I tipi primitivi non sono oggetti e non hanno associata alcuna classe, per ovviare java ha creato la Classe Wrapper, le classi wrapped qualificate come final hanno rigorosamente l’iniziale maiuscola e sono definite le package java.lang.

Il tipo stringa è un tipo derivato dal char.

Le Eccezioni

Si potrebbero definire come anomalie di funzionamento del programma che non possono essere previste in fase di scrittura di codice. Il blocco dove possono verificarsi incongruenze viene definito try mentre nel blocco catch, ma ne possiamo inserire più di uno, viene gestito il problema e per finire un blocco che viene sempre eseguito denominato finally. Ogni catch può gestire l’eccezione per la quale è definita (specificata fra parentesi).