
In questa lezione vi daremo alcune basi di programmazione, definendo alcuni concetti fondamentali del linguaggio Java.
Se avete dimestichezza con questo linguaggio, potete saltare direttamente alla lezione1.
Le Classi
Sono l’elemento fondamentale del linguaggio Java. Ogni classe avrà il proprio file .java,che avrà il medesimo nome della classe stessa (ad esempio la classe MiaClasse sarà definita nel file MiaClasse.java. Possiamo vedere la classe come un insieme di Variabili e Metodi. La sintassi per la definizione di una classe è la seguente:
class MiaClasse{ }
La classe costituisce un blocco. Un blocco inizia con l’apertura di una parentesi graffa e si chiude con la parentesi graffa corrispondente.
Le Variabili
Le variabili, nei linguaggi ad oggetti come il Java, possono essere di qualunque tipo. Il tipo di una variabile è molto importante, perchè definisce l’uso della variabile e le sue caratteristiche. Alcuni esempi di tipo possono essere boolean (definisce una variabile booleana che può assumere solo il valore true o false), int (definisce un numero intero, che può assumere quindi valore 0,1,2 ma anche -1,-2,…) String (definisce un insieme di caratteri, ad esempio “ciao” è una stringa di 4 caratteri), ma anche variabili appartenenti al mondo android come ImageView (la vedremo nel nostro corso) ecc…
Le variabili vanno innanzitutto definite, con la seguente sintassi:
int a;
Notare il punto e virgola finale (che segna la fine di ogni istruzione). Ogni variabile deve avere un nome (in questo caso l’abbiamo chiamata semplicemente “a”, ma potevamo chiamarla in qualsiasi altro modo. Possiamo anche inizializzare una variabile, cioè darle un valore iniziale, ad esempio:
int a = 10;
Successivamente possiamo cambiare il valore della variabile semplicemente:
a= 5; a= a+ 10;
Dopo queste due istruzioni a varrà 15, infatti abbiamo prima sostituito il suo valore con 5, poi abbiamo aggiunto ad a 10, per cui alla fine avremo a uguale a 15.
Per semplicità possiamo vedere alcune variabili come “speciali”, poichè seguite da un punto possono richiamare metodi.
Ad esempio:
String s= "ciao"; a= s.length();
Il metodo “length” restituirà il numero di caratteri contenuti nella stringa, in questo caso 4, quindi a sarà 4.
I Metodi
Abbiamo parlato di metodi, ma cosa sono? Possiamo vederli come un insieme di istruzioni, compiute su dei parametri, che restituiscono una variabile. Il metodo va innanzitutto definito, ad esempio:
public int moltiplicazione ( int a, int b){ int c= a*b; return c; }
Nella dichiarazione, dopo “public”, bisogna definire il tipo restituito dal metodo, in questo caso “int” poichè la moltiplicazione darà come risultato un intero. Dopo dobbiamo definire il nome del nostro metodo (anche questo a scelta), seguito da 2 parentesi tonde che racchiudono i tipi e i nomi dei parametri (possono anche non esserci). Potevamo inserire più di 2 parametri, anche di tipi diversi rispetto a int. Abbiamo definito cosa farà il metodo, per richiamarlo:
int prodotto; prodotto = moltiplicazione (10,5);
Dopo queste 2 istruzioni prodotto varrà quindi 50. Ma guardiamo un ultimo esempio:
public int contaCaratteri (String s1, String s2){ int a; a= s1.lenght() + s2.lenght(); return a; }
Abbiamo definito il metodo “contaCaratteri”, richiamiamolo:
String stringa1= "ciao"; String stringa2= "hello"; int a = contaCaratteri( stringa1, stringa2);
Dopo la computazione a sarà 9.
I Costrutti
Infine guardiamo alcuni costrutti fondamentali della programmazione, che useremo nella nostra guida.
If – Else
Questo costrutto è uno dei più importanti. Ma guardiamone subito un esempio:
String s; int a = funzione(); if(a > 10){ s= "OK"; } else{ s= "NO"; }
Quanto varrà s dopo le istruzioni? dipende. Infatti se il metodo funzione ritornerà ad esempio 11, s varrà “OK”, altrimenti se a era 5 s varrà “NO”. Notare che dopo l’if e dopo l’else si aprono e chiudono le parentesi graffe, quindi si hanno 2 blocchi. Il blocco dell’else è opzionale, quello dell’if no. Altro esempio:
if(a==5){ a= 7 }
In questo caso solo se a è uguale a 5, si eseguirà il blocco dell’ if. I 2 segni “=” non sono un’ errore, in quanto a=5 significa “assegna il valore 5 ad a” mentre “==” significa “il valore di a è uguale a 5”. Altro simbolo da ricordare è questo, “!=” costituito da un punto esclamativo seguito da un uguale, che significa semplicemente diverso.
Switch – Case
Simile all’if, serve per far compiere azioni diverse a seconda del valore, si preferisce al primo costrutto se i casi da discriminare sono molti. Vediamo un esempio:
String s; int a = funzione(); switch(a){ case 0: s="ZERO"; break; case 1: s="UNO"; break; case 2: s="DUE"; break; default: s="SCONOSCIUTO"; }
A seconda del valore di a la stringa assumerà una forma diversa. Fate attenzione alle parole chiave break e default. Su Eclipse vi sarà facile riconoscere tutte le parole chiave (class, if, else, … ) poichè queste assumeranno una colorazione diversa.
Ultima cosa da ricordare è la seguente. In Java, per comprendere meglio alcune parti del codice, c’è la possibilità di commentare. Il modo più semplice per fare questo è inserire 2 slash, così:
//questo è un commento
Su Eclipse verranno colorati di verde, e non influenzeranno in alcun modo il codice, servono solo per comprendere meglio alcune parti ostiche del programma.