Corso Base Liceo Norberto Rosa – Bussoleno Prof. Angelo GIORGIO Richiamo di una Proprietà Se la proprietà è privata, è visibile solo dai metodi della classe, se pubblica invece anche dai metodi al di fuori della classe. La proprietà di una classe può essere letta o settata(valorizzata) per mezzo di alcune istruzioni inserite all’interno di un metodo. Settare Per settare il valore di proprietà si usa l’operatore di assegnazione [ = ]. NomeClasse.NomeProprietà = valore; Il valore della proprietà dipende dal tipo della proprietà stessa. Corso Java - Liceo Norberto Rosa 2 Settare una Proprietà Ad esempio lato di tipo int: Quadrato.Lato = 5; Se invece Lato fosse di tipo String: Quadrato.Lato = “ciao”; Se invece Lato fosse di tipo boolean: Quadrato.Lato =true; Corso Java - Liceo Norberto Rosa 3 Leggere una Proprietà Leggere Per leggere una proprietà bisogna implementare due istruzioni: 1. 1. Dichiarazione di una variabile dello stesso tipo della proprietà int l; Settaggio della variabile con la proprietà: l = Quadrato.Lato; Corso Java - Liceo Norberto Rosa 4 Richiamo di una Procedura Per richiamare la procedura bisogna passare attraverso il nome della classe . Il nome della procedura. Per richiamare la procedura, bisogna passare per ogni parametro un valore dello stesso tipo (in ordine, legato la virgola). Es. dichiarato un metodo M nella classe Test con la seguente signature: public void M(int i, String s){} Richiamo del metodo M: Test.M(3,”ciao”); Corso Java - Liceo Norberto Rosa 5 Richiamo di una Function Per richiamare la function bisogna passare attraverso il nome della classe . Il nome della function. Per richiamare la function, bisogna implementare due istruzioni: • Si deve dichiarare una variabile dello stesso tipo di ritorno della function. • Si deve passare per ogni parametro un valore dello stesso tipo (in ordine, legato la virgola). Corso Java - Liceo Norberto Rosa 6 Richiamo di una Function Es. dichiarato un metodo M nella classe Test con la seguente signature: public int M1(int i, String s,boolean b){} int risultato; risultato = Test.M1(3,”ciao”,false); Corso Java - Liceo Norberto Rosa 7 Esercizio Cerchio Implementare una classe Cerchio con un proprietà privata di tipo intero di nome Raggio. • Una procedura di nome SetRaggio, la quale ha un parametro di tipo intero di nome r, che setta il Raggio con il valore di r. • Una funzione di nome CalcolaCirconferenza con un parametro pigreco di tipo double, che ritorna un double , la quale ritorna la Circonferenza (2 per Pigreco per raggio (Pigreco = 3.14)) del Cerchio. • Una funzione di nome CalcolaArea con un parametro pigreco di tipo double, che ritorna un double , la quale ritorna l'Area (Pigreco per raggio per raggio (Pigreco = 3.14)) del Cerchio. Implementare una classe CallCerchio la quale contiene un main standard che: • Setta il raggio della classe Cerchio richiamando il metod SetRaggio. • Richiamo del metodo CalcolaCirconferenza (passando il valore 3.14 come parametro) e la inserisce in una variabile circonferenza.Stampare circonferenza. • Richiamo del metodo CalcolaArea (passando il valore 3.14 come parametro) e la inserisce in una variabile area.Stampare area. Corso Java - Liceo Norberto Rosa 8 Istruzioni di Controllo Il più delle volte, i programmi compiono dei salti, ripetono più volte un blocco di istruzioni,oppure prendono strade diverse secondo le situazioni riscontrate. Per il controllo del flusso di esecuzione, Java rende disponibili due insiemi di istruzioni di controllo: • Istruzioni di selezione. • Istruzioni di iterazione. Corso Java - Liceo Norberto Rosa 9 Istruzioni di Selezione Le istruzioni di selezione permettono di imboccare strade diverse nel caso in cui una certa condizione sia verificata oppure no. La più importante istruzione di selezione è il costrutto if-else: if (insieme di condizioni legati da operatori logici) { insieme di istruzioni; } else { insieme di istruzioni; } Corso Java - Liceo Norberto Rosa 10 Istruzioni di Selezione if - else Esempio: if (a == 5) { System.out.println("a vale 5"); } else { System.out.println("a non vale 5"); } Il ramo else è facoltativo e può essere omesso. Corso Java - Liceo Norberto Rosa 11 Istruzioni di Selezione if – else if if (condizione1) { istruzioni; } else if (condizione2) { istruzioni; } … else { istruzioni; } Corso Java - Liceo Norberto Rosa 12 Istruzioni di Selezione if – else if Es. aggiungere alla classe Cerchio una function di nome Message, senza parametri, la quale restituisce una Stringa: • il messaggio “Il raggio è inferiore a 20” se il Raggio è < di 20; • il messaggio “Il raggio è 20” se il Raggio è = di 20; • il messaggio “Il raggio è superiore a 20” se il Raggio è > di 20; Modifica il main richiamando il metodo Message, inserendo il risultato in una variabile di nom message. Stampare message. Corso Java - Liceo Norberto Rosa 13 Istruzioni di Selezione if – else if Es. aggiungere alla classe Cerchio una function di nome Message2, con due parametri min e max di tipo intero, la quale restituisce una Stringa: • il messaggio “Il raggio è nel range ” se il Raggio è compreso tra min e max; • il messaggio “Il raggio è inferiore” se il Raggio è < di min; • il messaggio “Il raggio è superiore” se il Raggio è > di max; Modifica il main richiamando il metodo Message2, con valori a piacere, inserendo il risultato in una variabile di nome message2. Stampare message2. Corso Java - Liceo Norberto Rosa 14 Istruzioni di Selezione Switch La seconda istruzione di selezione supportata da Java è switch: switch (valore) { case costante1: istruzione; istruzione; … break; … case costanten: istruzione; istruzione; ... break; default: istruzioni; } Corso Java - Liceo Norberto Rosa 15 Istruzione di Iterazione - for Le istruzioni di iterazione, dette altrimenti cicli, fanno in modo che un blocco di codice possa essere eseguito più volte. Il ciclo for è un costrutto di iterazione in cui il numero di cicli è predeterminato. for (inizializzazione; condizione; iterazione) { istruzioni; } Ad esempio: int a = 0; for ( a = 0; i < 3; i++) { System.out.println(a); a++; } Corso Java - Liceo Norberto Rosa 16 Istruzione di Iterazione - while Le istruzioni di iterazione, dette altrimenti cicli, fanno in modo che un blocco di codice possa essere eseguito più volte. I cicli while ripetono le istruzioni a loro associate fin quando una peculiare condizione booleana risulta vera: while (condizioni) { istruzioni; } Ad esempio: int a = 0; while (a < 3) { System.out.println(a); a++; } Corso Java - Liceo Norberto Rosa 17 for o while? for è un costrutto chiuso, quindi difficile fare errori runtime. Ha un numero limitato e predeterminato di cicli. Ha una sola condizione di uscita. Corso Java - Liceo Norberto Rosa while 18 Lettura di un dato da Tastiera Scanner : classe nativa di Java che permette di leggere i dati da tastiera. import java.util.Scanner; .. In un metodo implementare le seguenti istruzioni.. Scanner sc = new Scanner(System.in); //Lettura di una stringa da Tastiera String line = sc.nextLine(); //Lettura di un numero da Tastiera int number = sc.nextInt(); Corso Java - Liceo Norberto Rosa 19