





Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Informazioni fondamentali per riuscire a programma con Java.
Tipologia: Dispense
1 / 9
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!






public class HelloPrinter { public static void main (String[] args) { // visualizza un saluto nella finestra di console System.out.println(“Hello, World!”); } } La prima riga contiene la dichiarazione di una classe HelloPrinter. Ogni programma è formato da 1 o più classi. PUBLIC = la classe è utilizzabile pubblicamente. Ogni programma può contenere al massimo una classe pubblica, il cui nome deve corrispindere al nome del file che contiene la classe. = (HelloPrinter,java). Il costruttore public...} definisce un metodo, chiamato main (cioè principale). Un metodo è una raccolta di istruzioni di programmazione che descrivono come svolgere un determinato compito. CIASCUNA APPLICAZIONE JAVA DEVE AVERE UN METODO MAIN. Contiene altri metodi oltre a main (cap3). Il metodo main contiene istruzioni, dette enunciati (statement), ognuno dei quali finisce con un ; Quando un programma viene eseguito, gli enunciati presenti vengono eseguiti uno dopo l'altro. Quando si invoca un metodo occorre specificare: 1-il metodo che si vuole invocare (es. System.out.println); 2-le altre informazioni necessarie perché il metodo possa svolgere il suo compito, dette ARGOMENTO (o parametro ). Gli argomenti di un metodo sono racchiusi da una coppia di parentesi tonde e argomenti multipli sono separati da virgole. Una sequenza di caratteri racchiusa tra “ è detta STRINGA. Le stringhe non sono istruzioni del programma, ma vengono considerate testo normale. METODI : System.out.println = Per visualizzare una riga di testo. System.out.println(“Hello”); System.out.println(“World!”); Hello World System.out.print = Per visualizzare un elemento senza che subito dopo venga iniziata una nuova riga. System.out.print(“00”); System.out.println(3+4); 007 Errore in fase di esecuzione (di sintassi) = il programma è sinteticamente corretto e fa qualcosa, ma non quello che dovrebbe fare. Errore logico = un messaggio d'errore emesso dalla macchina virtuale Java. CAPITOLO 2 UTILIZZARE GLI OGGETTI Ogni oggetto ha uno specifico comportamento e può essere manipolato per raggiungere determinati obiettivi. Un oggetto (object) si manipola mediante l'invocazione di metodi (method). Un metodo è costituito da una sequenza di istruzioni che possono accedere ai dati interni
dell'oggetto. Il comportamento del metodo è ben definito. …. INVOCARE METODI Un oggetto si usa invocandone i metodi, che sono condivisi da tutti gli oggetti della stessa classe. Es. la classe Printstream mette a disposizione i metodi Println e Print per i propri oggetti. La classe String invece mette a disposizione metodi tipo length.
applicato a qualsiasi oggetto di tipo String. Non richiede dati in ingresso (), fornisce infatti un valore in uscita. String greeting = “Hello, World!”; int numberOfCharacters = greeting.length();
minuscole convertite in maiuscole. String river = “Mississipi”; String bigRiver = river.toUpperCase();
river = river.replace(“issipp”, “our”); oppure System.out.println(river.replace(“issipp”, “our”)); L'insieme dei metodi di una classe constituiscono la sua interfaccia pubblica (public interface), determinando ciò che può essere fatto con gli oggetti della classe. Una classe ha anche un' implementazione , che descrive i dati interni ai propri oggetti e le istruzioni per l'esecuzione dei propri metodi. PARAMETRI DEI METODI La maggior parte dei metodi hanno bisogno dei parametri o argomenti in ingresso che specificano l'elaborazione che deve essere svolta. System.out.println(greeting); VALORI RESTITUITI Alcuni metodi, come println, svolgono un’azione, mentre altri calcolano e restituiscono un valore( metodo length). Tale valore restituito può essere memorizzato in una variabile: int numberOfCharacters = greeting.length(); usato direttamente come parametro di un altro metodo: System.out.println(greeting.length()); Il valore restituito (13) diventa parametro del metodo println. DICHIARAZIONI DI METODI Quando in una classe si dichiara il metodo, bisogna specificare i tipi dei parametri e dei valori restituiti. Es. la classe String dichiara il metodo length così: public int length() A volte una classe dichiara due metodi aventi lo stesso nome con però parametri di tipi diversi. Es. la classe PrintStream dichiara anche un secondo metodo sempre di nome println, in questo modo: public void println(int output) Tale metodo viene usato per visualizzare un numero intero. COSTRUIRE OGGETTI Per costruire un oggetto dobbiamo studiare una nuova classe: Rectangle.
1. Gli oggetti della classe Rectangle descrivono forme rettangolari. Non sono una forma rettangolare, ma un oggetto che contiene un insieme di numeri che descrivono il rettangolo, ciascuno descritto dalle coordinate x, y, width e heigth. 2.Per descrivere un nuovo rettangolo specifico i valori x, y, width e heigth e poi invoco l ’operatore
Inoltre agevola l’individuazione di errori e la modifica dei dettagli realizzativi di una classe. PROGETTARE L’INTERFACCIA PUBBLICA DI UNA CLASSE Definire i metodi Per realizzare una classe occorre prima individuare quali metodi siano necessari. Quando si dichiara un metodo bisogna anche fornire il corpo, composto dagli enunciati che vengono eseguiti quando il metodo viene invocato.
I costruttori assegnano i valori iniziali alle variabili d’esemplare degli oggetti. Il nome di un costruttore è sempre uguale al nome della classe, sono distinguibili perché richiedono parametri diversi. Es public BankAccount() public BankAccount(double initialBalance)
Per descrivere le classi e i metodi pubblici dei programmi si usano i commenti di documentazione. Scrivere commenti di documentazione per ogni classe, metodo, parametro e valore restituito. ? REALIZZARE LA CLASSE Definire le variabili di esemplare Definire i costruttori Definire i metodi IL RIFERIMENTO this Quando si invoca un metodo i dati da elaborare vengono trasferiti con due modalità diverse: 1.L’oggetto con cui il metodo viene invocato 2.I parametri del metodo. Il riferimento this rappresenta il parametro implicito. Una variabile locale mette in ombra una variabile di esemplare che abbia lo stesso nome: si può accedere a quest’ultima usando il riferimento this. Es. public void deposit(double amount) { balance = balance + amount; } balance = balance + amount; ha questo significato= this.balance = this.balance + amount; CAPITOLO 4 ARITMETICA Operatori aritmetici Se un’espressione aritmetica contiene alcuni valori interi e altri in virgola mobile, il risultato è un valore in virgola mobile. 7+4.0 = 11. Incremento e decremento Gli operatori ++ e – incrementano e rispettivamente decrementano di un’unità il valore di una variabile. Counter++; //aggiunge 1 alla variabile counter Counter--; // sottrae 1 alla variabile counter Divisione intera e resto Se entrambi gli argomenti dell’operatore / sono di tipo intero, il risultato è un intero e il resto viene ignorato. 7/4 = 1. Divisione intera. Se interessa solamente il resto della divisione, si usa l’operatore %. 7%4= 3. Operatore modulo. DATI IN INGRESSO E IN USCITA Acquisire dati Prompt = sollecito, suggerimento, è il messaggio che dovrebbe aspettarsi il programma quando chiede dei dati all’utente.
System.out.print(“Please enter the number of the bottles: “); //prompt Meglio usare print e non println, perché i dati vengono inseriti subito dopo i due punti. Inserire uno spazio dopo i due punti. Per acquisire dati attraverso la tastiera si usa la classe Scanner. Per costruire un oggetto di tipo Scanner == Scanner in = new Scanner(System.in); Ora uso il metodo nextInt per leggere un numero intero. System.out.print(“Please enter the number of the bottles: “); int bottles = in.nextInt(); Oppure uso il metodo nextDouble per leggere un numero con la virgola. System.out.print(“Enter price: “); double price = in.nextDouble(); La classe Scanner appartiene al pacchetto java.util. import java.util.Scanner; STRINGHE String name =”Harry”; Una stringa è una sequenza di caratteri. Può essere una variabile stringa (name), oppure una stringa letterale tra virgolette (“Harry”) Concatenazione Usando l’operatore + si possono concatenare più stringhe, cioè porle una di seguito all’altra per formare una stringa più lunga. String fName = “Harry”; String lName = “Morgan”; String name = fName + lName; Ottengo la strina “HarryMorgan” String name = fName + “ “ + lName; Ottengo la stringa “Harry Morgan” Se ho int e non String a sinistra dell’uguale, int viene automaticamente convertita in una stringa in modo da poterlo concatenare alle altre stringhe. Acquisire stringhe in ingresso Per acquisire una stringa contenente un’unica parola si usa il metodo next della classe Scanner. System.out.print(“Please enter your name: “); String name = in.next(); String name? = in.next(); Per leggere due parole riscrivo la stringa due volte. Sequenza di escape 1.Per inserire delle virgolette all’interno di una stringa letterale, bisogna farle precedere da un carattere di barra rovesciata “He said \ “Hello\”” 2.Per inserire \ nella stringa scrivo \ 3.\n rappresenta un carattere chiamato newline, con il quale si va a capo. System.out.println(“\n\n**\n”); visualizza
**
Stringhe e caratteri Le stringhe sono sequenze di caratteri Unicode e un carattere è un valore di tipo char (‘H’) Il metodo charAt restituisce un valore di tipo char estratto da una stringa. La prima posizione all’interno della stringa corrisponde all’indice 0.
DIRAMAZIONI ANNIDATE pg. VARIAZIONI BOOLEANE E OPERATORI Il tipo booleano, boolean, ha due valori : true e false. Per memorizzare una condizione logica in un punto del programma, che può essere vera o falsa, si usa una variabile booleana. Questi due valori (true e false) non sono stringhe, né numeri interi: sono valori speciali, validi soltanto per le variabili booleane. Boolean failed = true; Il suo valore può essere utilizzato più avanti nel programma per prendere una decisione: if (failed) //ramo eseguito solo se il valore è true { … } Java ha due operatori booleani che combinano condizioni: && (and), II (or) e! (not). if (temp > 0 && temp < 100) {System.out.println(“Liquid”);} Gli operatori && e II hanno una precedenza inferiore a quella degli operatori relazionali e per questo non servono le parentesi. Es temp > 0 && temp < 100 Le espressioni temp< e temp> vengono valutate per prime, poi l’operatore && combina i risultati. Pg. Per accertarsi che venga inserito un numero si può invocare hasNextInt o hasNextDouble. Se tale metodo restituisce il valore true allora si può invocare il metodo nextInt senza problemi, altrimenti è possibile visualizzare un messaggio d’errore.
Come usare enunciati di ciclo per eseguire ripetutamente istruzioni fino al raggiungimento di un obiettivo. Un ciclo esegue ripetutamente un blocco di codice fintantoché una specifica condizione risulta vera. Il ciclo while While (condizione) { enunciati } Finché la condizione è vera, gli enunciati presenti all’interno dell’enunciato while vengono eseguiti ripetutamente: costituiscono il corpo (body) dell’enunciato while. L’enunciato while è un esempio di ciclo (loop). Il ciclo for Si usa un ciclo for quando una variabile varia da un valore iniziale a un valore finale con un incremento o decremento costante. Capita spesso di voler eseguire una sequenza di enunciati per un determinato numero di volte. Si può usare un ciclo while controllato da un contatore (counter). Es int counter = 1; // inizializzazione del contatore while (counter <= 10) // verifica del contatore { System.out.println(counter); // oppure altre elaborazioni … counter++; // aggiornamento del contatore } Oppure for (int counter =1; counter <=10; counter++) { System.out.println(counter); } WHILE= cicli controllati da un evento FOR= cicli controllati da un contatore