Java:Struttura di Programma Fabio Scanu a.s. 2014/2015
Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle classi sono con l iniziale maiuscola I metodi sono con l iniziale minuscola I nomi delle variabili sono in minuscolo I nomi delle variabili final sono maiuscole
La struttura di un programma class Saluto{ } public static void main(string [] arg){ System.out.println(«Hello World!»); }
class Un applicazione può essere costituita da più classi Ciascuna classe ha un nome class <nome_classe> crea una classe con un determinato nome
public Un elemento (classe, variabile, metodo) Java ha diversi livelli di visibilità: public: utilizzabile da qualsiasi classe, anche al di fuori del package di definizione private: accessibile solo all interno della classe nella quale è definito protected: utilizzabile dalle classi che appartengono allo stesso package o dalle sottoclassi della classe in cui è definito, anche se queste appartengono ad altri package <non dichiarato> (friendly) :utilizzabile da tutte le classi dello stesso package
static Per ora.atto di fede: Indica che il metodo è associato alla classe e non può essere richiamato dai singoli oggetti della classe
void Indica che non ci sono valori di ritorno Potrebbe invece ritornare un certo valore: Un metodo che fa la somma ritorna un numero
main() E il metodo che fa partire l esecuzione dell applicazione Ogni applicazione Java deve avere una classe contenente il main()
System.out.println System.out: Classe che istanzia l oggetto monitor println: Metodo che stampa sul dispositivo chiamante e va a capo
Per Compilare L IDE ha il proprio compiler Da riga di comando si digita dalla cartella dove è il nostro file.java: javac <nome_file> C:\Sorgenti>javac Ciao.java
Per Eseguire il programma L IDE ha il proprio executer Da riga di comando si digita dalla cartella dove è il nostro file.class: java <nome_file> C:\Sorgenti>java Ciao
Le Classi La classe è un insieme di oggetti con le stesse proprietà L istanza è un singolo oggetto di una classe Classe: Automobile(colore,marca) Oggetto: (rosso,fiat),(verde,alfa)
Sintassi e Semantica La sintassi fa riferimento alla struttura del programma (utilizzo di parole chiave etc) La semantica fa riferimento ai contenuti del programma
Sintassi e Semantica «Mia sorella a un cane» Errore di sintassi «Quando è nata mia madre sono andato a vederla in ospedale» Errore di semantica
Sintassi e Semantica System.out.println(«CIAO») Errore di sintassi risultato = 9/0; Errore di semantica
Sintassi e Semantica Errore di sintassi Verificato a tempo di compilazione Errore di semantica Verificato a tempo di esecuzione
Identificatori Sono i nomi che possono essere attribuiti a: Variabili Metodi Classi Rispettano delle regole ben precise (alcune già viste)
Identificatori Sono sequenze di lettere e numeri Devono iniziare con una lettera Se sono due parole non possono essere staccate Uso l underscore oppure il passaggio minuscolomaiuscolo C è differenza tra maiuscole e minuscole
Identificatori Ci sono parole chiave che non possono essere usate come identificatori: class if private default boolean
I Commenti Servono per rendere il testo leggibile Su una riga si indicano con // Su più righe si inseriscono tra /* e */
I Metodi Un metodo è un azione Un oggetto invoca il metodo con il seguente schema: nomeoggetto.nomemetodo(argomenti);
I Metodi: segnatura I metodi hanno una segnatura La segnatura comprende il nome del metodo e gli argomenti nomemetodo(argomenti) Es: somma(int a, int b)
I Metodi: prototipo I metodi hanno un prototipo Il prototipo comprende la segnatura del metodo e il valore resituito valorerest nomemetodo(argomenti) Es: int somma(int a, int b)
I Metodi: overloading Due metodi con stesso nome ma diversa segnatura Es: somma(int a, int b) somma (int [] array) A seconda dell argomento passato il compilatore capisce quale prendere
I Metodi:concatenazione I metodi possono essere usati in forma composta. Es: System.out.println(«x».concat(«y»).concat(«z»)); Stampa xyz La macchina lega: z a y yz a x
Variabili Servono per ridurre le ripetizioni dello stesso oggetto Bisogna definirne la classe di appartenenza e poi assegnargli l oggetto Le variabili devono essere DICHIARATE prima di essere usate
Variabili La dichiarazione della variabile avviene specificandone il tipo (la classe di appartenenza) String s; s=«ciao»; Deve esserci coerenza! String s; s=system.out NO!
Variabili s «ciao» Non scrivo quindi l oggetto dentro la variabile Scrivo il riferimento della memoria in cui è l oggetto (cioè il luogo della memoria dove è l oggetto)
Costanti Possono assumere solo un valore specifico durante l esecuzione del programma Si dichiarano con final Se si tenta di modificarla dopo la dichiarazione si genera un errore in compilazione Si può dichiarare ovunque ma cambia la visibilità (scope).
I Tipi di Dato Tipi Primitivi Numerici Interi Virgola Mobile Carattere Booleani Riferimento Array Classi
Casting Il Casting è il meccanismo che consente al programmatore di indicare la conversione da un tipo all altro floatnum = 13,75f; intnum = (int) floatnum;
Il tipo di dato carattere Si indica con la parola chiave char Utilizza la codifica Unicode e non ASCII Per i caratteri speciali usa una sequenza di escape: \n ritorno a capo \t tabulazione \\ backslash \ apice
Stringhe Raggruppa un insieme di caratteri Non è un tipo predefinito Sono definite dalla classe String All interno delle stringhe si possono mettere i caratteri di escape
Boolean VERO O FALSO
Operatori Operazioni Aritmetiche: +,-,*,/ % per calcolare il resto Incremento e decremento: ++,-- Assegnamento =, +=,-=,*=, /=, %= Concatenazione +
Assegnamento e Uguaglianza String a; String b; a=«java»; b=a;
Assegnamento e Uguaglianza a b String «Java»
Assegnamento e Uguaglianza a=«pippo»;
Assegnamento e Uguaglianza String «Java» a b String «Pippo»