Struttura del linguaggio Java


Introduzione

Questo non vuol essere, né è, un corso di java, lo scopo è quello di fornire al lettore gli strumenti necessari a comprendere il listato di semplici programmi scritti in java. Premesso questo, vediamo alcune regole generali.

Innanzi tutto il linguaggio è a schema libero: le istruzioni possono essere scritte tutte in una riga o su righe diverse, quello che delimita la fine di un’istruzione è il punto e virgola (;). Altra cosa importante da ricordare è che, a differenza d'altri linguaggi di programmazione, lettere maiuscole e minuscole hanno diverso significato; questo vuol dire che, ad esempio, if, If, iF, IF, sono tutte interpretate in maniera diversa.

Detto questo possiamo dare un'occhiata ai seguenti argomenti:


Inserimento di commenti

Per indicare un testo di commento all’interno di un programma abbiamo due possibilità: possiamo usare il simbolo // o, in alternativa, i simboli /* e */. Il simbolo // indica che il testo che segue, fino alla fine della riga, è un commento. I due simboli /* e */ invece agiscono come delimitatori per un commento di dimensioni arbitrarie: /* segna l’inizio di un commento e */ ne segna la fine.


Variabili e tipi di dato

La definizione di variabili in java avviene come in C, scrivendo il tipo di dato della variabile, seguito dal suo nome, il tutto concluso con un punto e virgola. Ad esempio

 int contatore;  

definisce una variabile contatore di tipo intero. E' importante notare che in questo modo non si assegna nessun valore alla variabile che va quindi inizializzata. L'inizializzazione può avvenire al momento della definizione, facendo seguire il nome della variabile da un = e dal valore che si vuole assegnarle, oppure successivamente alla definizione, utilizzando il costrutto seguente.

 nomevariabile = valore; 

Quindi,

 int contatore = 1; 

e

 int contatore; contatore = 1; 

sono equivalenti.

Invece di assegnare direttamente un valore, è possibile assegnare anche il risultato di una funzione.

 int a = 10; int b = 20; int c = 0;   c = (a + b); 

Dopo l'ultima istruzione, la variabile c contiene il valore 30.


Espressioni

Le espressioni sono usate per assegnare valori, modificare il contenuto o valutare alcune variabili. Oltre alla possibilità di definirne di propri, il linguaggio ci offre un’ampia gamma di operatori predefiniti di vario tipo: aritmetici, logici per la manipolazione di bit, relazionali e condizionali. Quando utilizziamo più operatori nella stessa espressione, questa viene valutata applicando gli operatori secondo l’ordine imposto dalle parentesi e/o dove non ci sono parentesi, seguendo un ordine di precedenza prestabilito. Esempio:

 int a = 10; int b = 5; int c = 1; int d; int e;  d = a * b + c; e = a * (b + c); 

a d verrà assegnato il valore 51, e ad e il valore 60.


Istruzioni per il controllo di flusso

Abbiamo diverse famiglie d'istruzioni per il controllo del flusso di un programma: istruzioni decisionali, istruzioni per il controllo di cicli, istruzioni per le eccezioni, e altre istruzioni varie. Andremo ad esaminare le istruzioni decisionali e quelle per il controllo di cicli, vediamone una breve descrizione.

if-else
Permette di scegliere tra due azioni da compiere, in base al verificarsi o meno di una prefissata condizione
switch-case
Simile alla if-else, permette di scegliere tra molte differenti azioni da compiere
while
Esegue una serie d'istruzioni fintantoché una condizione è vera
do-while
Simile a while, esegue le istruzioni previste almeno una volta
for
Simile a while, di solito è usata per eseguire una serie d'istruzioni un certo numero di volte

Supporto agli oggetti

Java supporta gli oggetti mediante le classi. Una classe può essere vista come un timbro per stampare oggetti; potremmo anche dire che è la descrizione/definizione di un certo tipo d'oggetti. Un oggetto, appartenente ad una certa classe, è un'istanza (esempio, caso) di quella classe.

Facciamo un esempio e immaginiamo una classe cane: essa descrive (o definisce) l’aspetto, il comportamento, le caratteristiche di un cane. Potremmo dire che un cane è incluso nella classe dei mammiferi, che ha quattro zampe, due occhi, un naso, una bocca, denti affilati, l'olfatto molto sviluppato, ecc; inoltre potremmo aggiungere che: abbaia, esegue gli ordini del padrone, fa la guardia, mangia, ecc. Un oggetto di tipo cane è invece un particolare esempio di cane: Fido, Snoopy, o Lassie. Sono tutti e tre cani (appartengono alla classe dei cani), ma ognuno è diverso dagli altri.

In Java è possibile definire una classe attraverso la parola chiave class. Una classe ha le proprie variabili ed i propri metodi (funzioni), e può ereditare le variabili ed i metodi di un’altra classe attraverso la extend. Es:

 class cane extends mammifero{  int altezza;  int peso;  String nome;   cane(String nome, int altezza, int peso){ nome = this.nome; altezza = this.altezza; peso = this.peso; ...  }   void mangia(int quant){ ...  }   ... } 

definisce la classe cane, sottoclasse di mammifero, in cui sono definite due variabili intere (altezza e peso), una variabile stringa (nome), e due metodi: cane e mangia. Dei due metodi definiti, il primo dei due ha una funzione particolare: è il costruttore della classe. Il costruttore è il metodo (ma possono esservene più d’uno) che ha lo stesso nome della classe in cui è definito, ed ha la funzione d'inizializzare un oggetto al momento della sua creazione.

Una volta definita una classe, è possibile creare oggetti appartenenti a quella classe in modo analogo a quello usato per definire variabili: nomeclasse nomeoggetto;. L’inizializzazione avviene usando l’istruzione new seguita dal nome del costruttore. Quindi, tornando all’esempio precedente,

 cane miocane = new cane("Fido", 50, 80); 

crea un oggetto miocane, ed il costruttore assegna i valori Fido, 50, 80 rispettivamente alle variabili nome, altezza, peso.


      Home  Pag. prec.       Chi siamo?  Scrivici!

Copyright © 1998-2005 Wowarea