GESTIONE DEGLI ERRORI. Il gestore delle eccezioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "GESTIONE DEGLI ERRORI. Il gestore delle eccezioni"

Transcript

1 Il gestore delle eccezioni GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori le situazioni critiche Ma è un modo di procedere spesso insoddisfacente non è facile prevedere tutte le situazioni che potrebbero produrre l errore gestire l errore spesso significa solo stampare a video un messaggio. 1

2 ECCEZIONI Java introduce il concetto di eccezione anziché tentare di prevedere le situazioni di errore, si tenta di eseguire l operazione in un blocco controllato se si produce un errore, l operazione lancia un eccezione (sollevamento di una eccezione) l eccezione viene catturata dal blocco entro cui l operazione è eseguita e può essere gestita nel modo più appropriato. Una eccezione non intercettata da luogo alla terminazione del thread che racchiude l istruzione che la sollevata Cosè una eccezione? Errori causati da Esempi: Un file che contiene informazioni errate Il fallimento di una connessione di rete Il fallimento di accesso ad un unita di memoria di massa Uso di indici invalidi in un array L uso di un riferimento ad un oggetto a cui non è stato assegnato un oggetto. 2

3 COS È UNA ECCEZIONE Una eccezione è un oggetto, istanza di Throwable o di una sua sottoclasse: le due sottoclassi tipiche sono Exception e Error Un Error indica problemi relativi al funzionamento della macchina virtuale Java e va solitamente considerato irrecuperabile: perciò non è da catturare, né da gestire (esempi: LinkageError, ThreadDeath, ) Una Exception indica invece situazioni recuperabili, almeno in linea di principio: va quindi catturata e gestita (esempi: fine file, indice di un array oltre i limiti, errori di input, etc.). Exceptions Il gestore degli errori è anche disponibile in C++, ma non è obbligatorio utlizzarlo e spesso non viene utilizzato Per utilizzare le librerie Java è necessario comprendere le eccezioni Ci sono molti tipi di eccezioni predefinite in Java (e documentate nelle API di Java). I tipi delle eccezioni sono definiti come un tipo oggetto. 3

4 Generare eccezioni Molte librerie (objects) generano eccezioni quando fanno cose scorrette E possibile generare una eccezione con la parola throw: if (x > 100) throw new Exception("x is too big"); Default Exception Handler Quando si verifica un errore JVM costruisce una nuova eccezione Lancia (throws) l eccezione Se non è stato fornito il gestore dell eccezione ad-hoc viene utilizzato il gestore delle eccezioni di default Mostra una stringa che descrive l eccezione Traccia il punto del programma in cui l eccezione si è verificata Termina il programma 4

5 ECCEZIONI CONTROLLATE e NON CONTROLLATE Sebbene sia comunque utile e raccomandabile catturare e gestire tutte le eccezioni, ciò non è obbligatorio per tutte le eccezioni RunTimeException (e derivate) possono non essere gestite: per questo vengono dette non controllate. comunque buona norma gestirle. Una eccezione non controllata può propagarsi di blocco in blocco: se raggiunge il main senza essere stata catturata, il programma abortisce. Tipi di eccezioni ClassNotFoundException Object Throwable Exception IOException AWTException RuntimeException Several more classes LinkageError ArithmeticException NullPointerException IndexOutOfBoundsException Several more classes Error VirtualMachineError AWTError Several more classes 5

6 ECCEZIONI COME OGGETTI Poiché un eccezione è un oggetto, può contenere dati o definire metodi. Tutte le eccezioni definiscono un metodo getmessage() che restituisce il messaggio d errore associato alcune eccezioni definiscono anche dei campi dati (ad esempio, bytestransferred in InterruptedIOException) che danno altre informazioni, utili per gestire la situazione. Throwable Class 6

7 Exception Subclasses from java.lang Exception Subclasses from java.util 7

8 Exception Subclasses from java.io The class Exception and its Constructors 8

9 Java Exception Classes Exceptions Thrown by Methods 9

10 Common Exceptions Thrown by Methods Cosa succede quando un situazione inaspettata si verifica Un eccezione è un evento che ha luogo durante l esecuzione di un programma che blocca il normale flusso delle istruzioni Esempio: int value = 0; int answer = 100 / value; Tentativo di dividere per ZERO Normalmente il programma viene bloccato e un messaggio di errore viene mostrato. 10

11 Creazione di una nuova eccezione Public class MyException extends Exception { Exception Handling Quando occorre una eccezione il controllo passa (thrown) ad una porzione di codice che si occupa del problema Cio libera il codice della necessità di gestire gli errori Public int metodoesempio () throws MyException {. If (.) throw MyException().. 11

12 Perchè definire nuove eccezioni? Notificare al chiamante di un metodo di un problema Elimina la ncessita di ritornare variabili di stato Debugging Sollevamento di una eccezione L istruzione o l espressione che solleva l eccezione termina immediatamente Finchè l eccezione non viene intercettata questa terminazione forzata causa una riduzione graduale della catena delle attivazioni Se l eccezione non viene intercettata il, thread di esecuzione termina dopo aver dato al UncaughtExceptionHendler del thread l opportunit{ di gestire l eccezione Le istruzioni successive al punto in cui viene sollevata una eccezione non vengono eseguite (escluso quelle contenute in un blocco finally) 12

13 try/catch Questo è il codice che puo generare l eccezione (error conditions) istruzioni... catch (ExceptionType ename) { istruzioni di error handling Questo è il codice che gestisce l eccezione try/catch examples readfromfile("datafile"); catch (FileNotFoundException e) { System.err.println("Error: File not found"); readfromfile("datafile"); catch (Exception e) { System.err.println("Error: " + e ); 13

14 ECCEZIONI Se l operazione lancia diversi tipi di eccezione in risposta a diversi tipi di errore, più blocchi catch possono seguire lo stesso blocco try istruzioni... catch (Exception e1) {istruzioni... catch (Exception e2) { istruzioni Catch Mutipli statements... catch (ExceptionType1 ename1) { error handling statements... catch (ExceptionType2 ename2) { error handling statements... catch (ExceptionType3 ename3) { error handling statements... 14

15 ESEMPIO ESEMPIO class Conversione EsempioEccezione stringa { / numero In Java, la public conversione static void stringa main(string / numero args[]){ intero è svolta dal metodo int a statico = 0; int Integer.parseInt(String s) String s = "1123"; L operazione è a critica, = Integer.parseInt(s); perché può avvenire solo se la stringa data catch contiene (NumberFormatException la rappresentazione e) { di un intero System.out.println("Stringa mal fatta"); Se ciò non accade, parseint lancia una NumberFormatException FLUSSO DI ESECUZIONE Se l operazione critica ha successo, nessuno dei blocchi catch viene eseguito. Se l operazione critica lancia un eccezione, l esecuzione prosegue nel blocco catch appropriato. È possibile specificare un blocco finally opzionale da eseguirsi comunque alla fine, indipendente-mente dal fatto che si sia eseguito il blocco try o un blocco catch.... catch (Exception e1) {... catch (Exception e2) { finally {// operazioni finali 15

16 RILANCIO DI ECCEZIONI In Java, un metodo che possa generare un eccezione deve: o gestire l eccezione, con un costrutto try / catch oppure rilanciarla esplicitamente all esterno del metodo, delegandone in pratica la gestione ad altri (unica eccezione: il main) Se sceglie questa seconda strada, il metodo deve indicare quale/i eccezione/i possono scaturire da esso, con la clausola throws RILANCIO DI ECCEZIONI Ad esempio, un metodo che svolga una conversione stringa/numero, anziché gestire la NumberFormatException può decidere di rilanciarla all esterno: Può lanciare un eccezione Non la gestisce, la rilancia all esterno 16

17 Exceptions Example Code public static void exceptionmethod() throws NumberFormatException, IOException { //statements The method exceptionmethod throws exceptions of the type NumberFormatException and IOException. try & catch int value = 0; int answer = 100 / value; System.out.println( Questa riga non verrà stampata"); catch (Exception e) { System.out.println("Errore"); System.out.println( Il programma continua...") 17

18 Senza Try & Catch for (int i = 0; i < 2; i++) { System.out.println(args[i]); System.out.println("Fined!"); Case 1: Nessun parametro Una eccezione viene lanciata se non vengono passati parametri Il tipo di eccezione viene stampato La chiamata a println( Fine! ) non è mai eseguita. Un errore è lanciato e il programma finisce. Senza Try & Catch for (int i = 0; i < 2; i++) { System.out.println(args[i]); System.out.println("Fine!"); Case 2: 1 parametro Viene stampato il primo parametro. Una eccezione viene lanciata Il tipo di eccezione viene stampato La chiamata a println( Fine! ) non è mai eseguita. Un errore è lanciato e il programma finisce 18

19 Senza Try & Catch for (int i = 0; i < 2; i++) { System.out.println(args[i]); System.out.println("Finished!"); Case 3: 2 parametri (Nessun errore Con Try & Catch for (int i = 0; i < 2; i++) System.out.println(args[i]); catch (Exception e) { System.out.println( Uso di un numero di parametri errato ); System.out.println("Fine! "); 19

20 Esempio di Eccezioni multiple int r1 = Integer.parseInt(str); int r2 = r1 / x; catch (NumberFormatException e) { System.out.println( Formato errato!"); catch (Exception e) { System.out.println( "); System.out.println("Fine!"); Cosa accade per le seguenti stringhe di input: str = 10 and x = 5? str = abc and x = 5? str = 10 and x = 0? Esempio di Eccezioni multiple I blocchi Catch sono eseguiti sequenzialmente per ogni eccezione che corrisponde a quella lanciata String c = "abcde"; int r1 = Integer.parseInt(c); catch (Exception e) { System.out.println("General Exception Error!"); catch (NumberFormatException e) { System.out.println("Incorrect Format!"); Non compila 20

21 Propagazione delle eccezioni public void method1(string str) { System.out.println( Inizio method1"); int r1 = Integer.parseInt(str); catch (ArithmeticException e) { System.out.println( Errore di calcolo!"); System.out.println( Fine method1"); Se nessun blocco catch corrisponde all eccezione lanciata essa si propaga public static void main(string args[]) { method1(args[0]); al successivo blocco di codice di catch (ArrayIndexOutOfBoundsException livello superiore e) { System.out.println( Out of Index Error!"); catch (Exception e) { System.out.println( Errore generale!"); System.out.println("Fine!"); Finally Il codice all interno del blocco finally è sempre eseguito se una parte del blocco try associato viene eseguita Sia se vengono lanciate eccezione sia se no Garantisce l esecuzione del codice in presenza di return, continue, o break Finally viene eseguito dopo I blocchi catch quando si verificano errori 21

22 Finally Esempio String a = "0"; int r2 = Integer.parseInt(a) / Integer.parseInt(a); catch (ArithmeticException e) { System.out.println("Calculation Error"); catch (Exception e) { System.out.println("General Exception"); finally { System.out.println("Finally"); System.out.println("Finished"); Calculation Error Finally Finished Finally Esempio String a = "100"; int r2 = Integer.parseInt(a) / Integer.parseInt(a); catch (ArithmeticException e) { System.out.println("Calculation Error"); catch (Exception e) { System.out.println("General Exception"); finally { System.out.println("Finally"); System.out.println("Finished"); Finally Finished 22

23 Finally Esempio String c = "abcde"; int r1 = Integer.parseInt(c); catch (ArrayIndexOutOfBoundsException e) { System.out.println("Error!"); catch (ArithmeticException e) { System.out.println("Calculation Error!"); finally { System.out.println("Finally block!"); System.out.println("Finished!"); Finally Esempio String a = "0"; int r2 = Integer.parseInt(a) / Integer.parseInt(a); catch (ArithmeticException e) { System.out.println("Calculation Error"); return; catch (Exception e) { System.out.println("General Exception"); return; finally { System.out.println("Finally"); System.out.println("Finished"); Calculation Error Finally 23

24 Esempio String answerstr=""; int int1 = Integer.parseInt(args[0]); int int2 = Integer.parseInt(args[1]); int answer = int1 / int2; answerstr = String.valueOf(answer); catch (NumberFormatException e) { answerstr = "Bad number!"; catch (ArithmeticException e) { answerstr = "Division by 0!"; catch (Exception e) { answerstr = "No clue!"; finally { System.out.println(answerStr); Throwing Exceptions È possibile lanciare qualsiasi cosa che estende Throwable Lanciare una eccezione esplicitamente utilizzando una istruzione throw throw new Exception( Exception occurs. ); Cosa accade? Le stesse cose che accadono quando si verifica un errore Ferma immediatamente l esecuzione del codice dopo l istruzione throws Le istruzione successive non vengono eseguite Tenta di trovare il blocco catch corrispondente Lo trova passa il controllo al blocco. Non lo trova l eccezione si propaga al chiamante 24

25 Esempio class MyOwnException extends Exception { public MyOwnException(String s) { super(s); public class ExceptTest { public static void main(string[] args) { throw new MyOwnException("My Own Error!"); catch (MyOwnException e) { System.out.println("Error!"); System.out.println(e); Error! MyOwnException: My own Error! La clausola throw Le eccezioni sollevate da un metodo vanno dichiarate nella definzione di un metodo allìall interno della clausola throw. Se il metodo solleva più eccezioni esse sono elencate, separate da virgole, nella clausola throw È possibile sollevare eccezioni di una qualunque classe derivata dalla classe di eccezione inclusa nella clausola throw E possibile sollevare eccezioni indicate nella clausola throw Le eccezioni RunTimeException e Error non devono essere indicate nella clausola throw e possono essere lanciata da qualsiasi metodo Gli inizializzatori e i blocchi di inizializzazione statica non possono sollevare eccezioni ne direttamente ne invocando un metodo che le sollevi Gli inizializzatori e i blocchi di inizializzazione non statici possono sollevare eccezioni a patto che tutti i costruttori delal classe lo dichiarino 25

26 La clausola throw e derivazione Quando si esegue un overrading di un metodo che solleva una eccezione la clausola del metodo ereditato deve essere compatibile con quella del metodo ridefinito Un metodo ridefinente un metodo o che implementa un metoda astratto non può dichiarare più eccezioni di quelle dichiarare nel metodo ereditato E comunque possibile sollevare sottotipi delle eccezioni dichiarate Se il metodo ridefinent non solleva una eccezione allora non è tenuta a dichiararla Se la claisola throw viene ereditata atttraverso il meccanismo dell implementazione di più interfacce la clausola throw deve soddisfare tutte le clausole throw ereditate // set up a FileReader FileReader f = new FileReader("in.txt"); catch (FileNotFoundException e) { System.out.println("File not found"); O public static void main(string[] args) throws FileNotFoundException { // set up a FileReader FileReader f = new FileReader("in.txt"); 26

27 Esempio public static int getint(string str) { int r1 = Integer.parseInt(str); if (r1 == 0) { throw new Exception( "Zero not allowed!"); catch (Exception e) { System.out.println(e); public static void main(string[] args) { getint(args[0]); The Method printstacktrace È utilizzato per determinare l ordine con cui il metode viene chiamato e le eccezioni gestite 27

28 The Method printstacktrace 28

29 Tecniche di Exception-Handling Terminare il programma Stampa un messaggio per notificare l errore prima di terminare l esecuzione del programma Fix error e continue richiede l input ripetutamente Stampa un messaggio per notificare l errore fino a quando non viene inserito un valore valido Log error e continue Stampa un messaggio per notificare l errore in un file e continua con l esecuzione del programma Attenzione Exception handling separa il codice di gestione degli errori dal codice normale rendendo il programma più semplice da leggere e modificare. Il gestore delle eccezioni richiede più tempo e risorse poichè esso richiede l istanzione di oggetti, la propagazione degli errori etc.. 29

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Gestione delle eccezioni in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Gestione delle eccezioni in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 15 - Gestione delle eccezioni

Dettagli

GESTIONE DEGLI ERRORI

GESTIONE DEGLI ERRORI GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori

Dettagli

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

RETI DI CALCOLATORI Linguaggio Java: Eccezioni Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Java Eccezioni Eccezioni in breve Un eccezione è un oggetto che descrive una situazione anomala o di errore L eccezioni vengono lanciate da una parte di un programma e possono

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel

Dettagli

Insegnamento di Laboratorio di algoritmi e strutture dati

Insegnamento di Laboratorio di algoritmi e strutture dati Insegnamento di Laboratorio di algoritmi e strutture dati Roberto Posenato ver. 0.6, 31/01/2008 1 / 25 Si comincia... 1 Esigenza... Definizione Tipi di eccezioni Sollevare eccezioni Gestire le eccezioni

Dettagli

Laboratorio di reti I

Laboratorio di reti I Laboratorio di reti I Stefano Brocchi brocchi@dsi.unifi.it 13 ottobre, 2009 Stefano Brocchi Laboratorio di reti I 13 ottobre, 2009 1 / 27 Introduzione Obiettivi del corso Aspetti di programmazione Java

Dettagli

FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni

FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Prof. Zambonelli, Ing. Cabri, Ing. Denti, Ing. Andrea Aime Zambonelli,

Dettagli

Eccezioni predefinite

Eccezioni predefinite Eccezioni predefinite Java mette a disposizione molte eccezioni già confezionate, che descrivono la maggioranza dei problemi che possono verificarsi a run-time. Ognuna di queste è una classe. Tutte queste

Dettagli

Eccezioni. Comportamento di default (esempio) Propagazione delle eccezioni

Eccezioni. Comportamento di default (esempio) Propagazione delle eccezioni Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Eccezioni L esistenza di

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Eccezioni Categorie di eccezioni checked unchecked Gestione delle eccezioni Clausola throws Costrutto try - catch - finally Comando

Dettagli

Eccezioni per codificare errori. Eccezioni. Gestione di eccezioni. lancio di eccezioni. checked e unchecked. cattura di eccezioni

Eccezioni per codificare errori. Eccezioni. Gestione di eccezioni. lancio di eccezioni. checked e unchecked. cattura di eccezioni Eccezioni Eccezioni per codificare errori lancio di eccezioni Eccezioni user defined checked e unchecked Gestione di eccezioni cattura di eccezioni Gestione degli errori Approccio tradizionale: codifica

Dettagli

Eccezioni. Corso di Tecniche di Programmazione

Eccezioni. Corso di Tecniche di Programmazione Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Eccezioni Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e

Dettagli

OOP: L13: Eccezioni e loro trattamento in Java

OOP: L13: Eccezioni e loro trattamento in Java Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica A. Acc. 2005/2006 Programmazione Orientata agli Oggetti OOP: L13: Eccezioni e loro trattamento

Dettagli

Gestione delle eccezioni

Gestione delle eccezioni Gestione delle eccezioni Le eccezioni sono un meccanismo per gestire situazioni anomale durante l esecuzione dei metodi. La gestione delle eccezioni deve garantire i seguenti principi: - le eccezioni non

Dettagli

Concetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio

Concetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 30 maggio 2014 Introduzione Un programma diviso in sezioni distinte Un approccio alla

Dettagli

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona ed ed Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario ed scrittura su in Java ed ed di testo Scrivere stringhe su di testo

Dettagli

Programmazione a Oggetti. Eccezioni

Programmazione a Oggetti. Eccezioni Programmazione a Oggetti Eccezioni Sommario Eccezioni Generalità, motivazioni Eccezioni in Java Sollevamento Cattura Trattamento Eccezioni I programmi spesso si trovano ad operare in condizioni anomale:

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java - Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista che il flusso di un applicazione può incontrare. È possibile gestire

Dettagli

Il linguaggio Java. Le eccezioni

Il linguaggio Java. Le eccezioni Il linguaggio Java Le eccezioni Shit happens! Gli errori nei programmi si verificano Quello che è realmente importante è: cosa succede dopo che un errore si è verificato? TIGA 2 Eccezione Un'eccezione

Dettagli

Eccezioni ed asserzioni

Eccezioni ed asserzioni Eccezioni ed asserzioni I concetti relativi ad eccezioni, errori ed asserzioni e le relative gestioni, permettono allo sviluppatore di scrivere del software robusto, ovvero che riesca a funzionare correttamente,

Dettagli

Introduzione alla programmazione con linguaggio Java {Dott.ssa E. Calabresu, Dr. M. Carta, Ing. M. Ennas, Ing. S. Piras, Ing. F.

Introduzione alla programmazione con linguaggio Java {Dott.ssa E. Calabresu, Dr. M. Carta, Ing. M. Ennas, Ing. S. Piras, Ing. F. Introduzione alla programmazione con linguaggio Java 2004 {Dott.ssa E. Calabresu, Dr. M. Carta, Ing. M. Ennas, Ing. S. Piras, Ing. F. Saba } Note di Copyright Queste trasparenze (slide) sono coperte dalle

Dettagli

Gestione delle eccezioni

Gestione delle eccezioni Gestione delle eccezioni Raffaella Brighi, a.a. 2007/08 Ereditarietà Corso di Algoritmi e programmazione. A.A. 2007-08 CdL Operatore Informatico Giuridico. Casi di insuccesso Vi sono numerosi problemi

Dettagli

Eccezioni 1 CASO: SENTIRE E GESTIRE UN ALLARME. Prof. Enrico Denti Università di Bologna A.A. 2012/2013 1 SITUAZIONI CRITICHE IL CONCETTO DI ECCEZIONE

Eccezioni 1 CASO: SENTIRE E GESTIRE UN ALLARME. Prof. Enrico Denti Università di Bologna A.A. 2012/2013 1 SITUAZIONI CRITICHE IL CONCETTO DI ECCEZIONE Università degli Studi di Bologna Scuola di Ingegneria e Architettura Eccezioni Corso di Laurea in Ingegneria Informatica Anno accademico 2012/2013 Prof. ENRICO DENTI Dipartimento di Informatica Scienza

Dettagli

Gestione delle Eccezioni

Gestione delle Eccezioni Gestione delle Eccezioni Condizioni di Errore Una condizione di errore in un programma può avere molte cause Errori di programmazione Divisione per zero, cast non permesso, accesso oltre i limiti di un

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Le eccezioni in Java

Le eccezioni in Java Eccezioni 1 Le eccezioni in Java i tipi di eccezione sono particolari classi che contengono solo il costruttore ci possono essere più costruttori overloaded sono definite in moduli separati da quelli che

Dettagli

Introduzione. Java. Errori. Errori

Introduzione. Java. Errori. Errori Java gestire gli errori con le eccezioni G. Prencipe prencipe@di.unipi.it Introduzione La filosofia generale di Java è che un programma con errori non deve girare Una grossa parte viene fatta (come avete

Dettagli

Gestione delle eccezioni

Gestione delle eccezioni Gestione delle eccezioni Gestione di errori e situazioni eccezionali Una procedura (utente o di libreria) deve poter segnalare l impossibilità di produrre un risultato significativo o la propria terminazione

Dettagli

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2)

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2) Gestione di errori e situazioni eccezionali Gestione delle eccezioni Una procedura (utente o di libreria) deve poter segnalare l impossibilità di produrre un risultato significativo o la propria terminazione

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Prova d Esame Compito A

Prova d Esame Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private static int counter=0; private int code; public

Dettagli

Le eccezioni sono eventi che si generano durante l esecuzione di un programma e in genere corrispondono a condizioni anomale.

Le eccezioni sono eventi che si generano durante l esecuzione di un programma e in genere corrispondono a condizioni anomale. Eccezioni Le eccezioni sono eventi che si generano durante l esecuzione di un programma e in genere corrispondono a condizioni anomale. Es.: divisioni per zero, indici array fuori range, malfunzionamento

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Gestione degli errori Eccezioni Categorie di eccezioni checked unchecked Gestione delle eccezioni Clausola throws Costrutto try

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Programmazione a oggetti

Programmazione a oggetti Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software

Dettagli

Eccezioni Precisazioni e approfondimenti

Eccezioni Precisazioni e approfondimenti Eccezioni Precisazioni e approfondimenti Costruttore: il parametro String definisce il messaggio di errore associato all eccezione Metodi particolarmente significativi getmessage(): ritorna l istanza di

Dettagli

Corso: Fondamenti di Informatica (Canale 5) a.a Corsi di laurea: Ing. Settore Informazione

Corso: Fondamenti di Informatica (Canale 5) a.a Corsi di laurea: Ing. Settore Informazione Domanda n. 1 Corso: Fondamenti di Informatica (Canale 5) a.a. 2016-17 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab10 Argomento: Algoritmi e complessita'

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

Eccezioni. Gestione degli errori. Eccezioni per codificare errori. Eccezioni. Gestione di eccezioni. Approccio tradizionale: Problemi

Eccezioni. Gestione degli errori. Eccezioni per codificare errori. Eccezioni. Gestione di eccezioni. Approccio tradizionale: Problemi Eccezioni Eccezioni per codificare errori lancio di eccezioni Eccezioni user defined checked e unchecked Gestione di eccezioni cattura di eccezioni Gestione degli errori Approccio tradizionale: codifica

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni

Dettagli

Gestione delle eccezioni Individuazione e ripristino parseint Individuazione e ripristino Individuazione e ripristino parseint

Gestione delle eccezioni Individuazione e ripristino parseint Individuazione e ripristino Individuazione e ripristino parseint parseint parseint showinputdialog JOptionPanenull null throw BankAccount IllegalArgumentException amount public class BankAccount { public void withdraw(double amount) { if (balance < amount) { // Parametro

Dettagli

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo. Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40

Dettagli

CloneNotSupportedException clone() Object clone() protected native Object clone() throws CloneNotSupportedException this

CloneNotSupportedException clone() Object clone() protected native Object clone() throws CloneNotSupportedException this Clonazione Importante esempio di eccezione controllata è CloneNotSupportedException che può essere lanciata dal metodo nativo clone() della classe Object. La dichiarazione di clone() è la seguente: protected

Dettagli

Programmazione ad Oggetti. Java Parte II

Programmazione ad Oggetti. Java Parte II Programmazione ad Oggetti Java Parte II Overview Caratteristiche lessicali Il primo programma Java 1 Commenti /* Commento tradizionale, eventualmente su più linee, non nidificato */ // Commento su di una

Dettagli

Uguaglianza e copia di oggetti

Uguaglianza e copia di oggetti Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La

Dettagli

Esercitazione. Docente Ing. Mariateresa Celardo

Esercitazione. Docente Ing. Mariateresa Celardo Esercitazione Docente Ing. Mariateresa Celardo mariateresa.celardo@uniroma2.it Scrivere la classe Motorino che ha i seguenti attributi colore: una stringa indicante il colore del motorino, velocità: un

Dettagli

Gestione delle eccezioni

Gestione delle eccezioni Gestione delle eccezioni Casi eccezionali vs Casi previsti Eccezioni Eccezioni controllate e non controllate Gestione delle eccezioni try-catch-finally Esempi 1 Individuazione e ripristino Nei programmi

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)

Dettagli

StringTokenizer: esempio. Lettura di matrici da file. Come procedere? Lettura matrice: esempio - I. La classe StringTokenizer

StringTokenizer: esempio. Lettura di matrici da file. Come procedere? Lettura matrice: esempio - I. La classe StringTokenizer 4 StringTokenizer: esempio Lettura di matrici da file import java.util.*; class prova public static void main(string[] a) String s="ciao a tutti"; StringTokenizer st=new StringTokenizer(s); while(st.hasmoretokens())

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Thread in Java. Thread = flusso di esecuzione indipendente nel codice del programma

Thread in Java. Thread = flusso di esecuzione indipendente nel codice del programma Thread in Java Thread = flusso di esecuzione indipendente nel codice del programma Come si può realizzare il concetto di Thread in Java? Seguendo la filosofia OO: sono oggetti particolari ai quali si richiede

Dettagli

Programmazione Java Avanzata Programmazione Object- Oriented in Java

Programmazione Java Avanzata Programmazione Object- Oriented in Java Programmazione Java Avanzata Programmazione Object- Oriented in Java Ing. Gianluca Caminiti Testi di Riferimento (Java) Cay Horstmann Concetti di informatica e fondamenti di Java Apogeo, 2007 (Versione

Dettagli

Programmazione II Compitino (Vers. B)

Programmazione II Compitino (Vers. B) Programmazione II Compitino (Vers. B) 15 gennaio 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi

Dettagli

Ereditarietà. Ereditarietà. Ereditarietà. Ereditarietà

Ereditarietà. Ereditarietà. Ereditarietà. Ereditarietà L ereditarietà è il meccanismo attraverso cui viene implementata la relazione di specializzazione (is-a). L ereditarietà è il meccanismo attraverso cui una classe (derivata) eredita da un altra classe

Dettagli

Errata Corrige di Manuale di Java 8

Errata Corrige di Manuale di Java 8 Errata Corrige di Manuale di Java 8 pag. 43 - par. 2.5.1 - primo riquadro che riporta linee di codice public class Punto { public Punto() //metodo costruttore { deve essere corretto come di seguito: public

Dettagli

Alberi Binario in Java

Alberi Binario in Java Alberi Binario in Java Realizzare un albero binario di ricerca. L albero binario è di ricerca se esiste una relazione di ordinamento tra i valori dei nodi (valori comparabili). In particolare, dato un

Dettagli

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei Input Il tipo char Alcune modalità di acquisizione di input 1 Lettura di dati in input Vediamo due modi per acquisire dei dati di input dall utente: 1. Tramite una finestra grafica di dialogo 2. Tramite

Dettagli

La fase di progetto e realizzazione. PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Diagramma delle classi realizzativo

La fase di progetto e realizzazione. PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Diagramma delle classi realizzativo Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Prof. Giuseppe De Giacomo & Monica Scannapieco Anno Accademico 2003/04 LA FASE DI PROGETTO E

Dettagli

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

I Thread. un thread è uno stream di esecuzione del programma

I Thread. un thread è uno stream di esecuzione del programma I Thread un thread è uno stream di esecuzione del programma Sistema Operativo e Thread Un processo o thread una successione di operazioni che vengono eseguite dal sistema operativo in modo sequenziale

Dettagli

Programmazione in Java. Indipendenza dalla piattaforma. Indipendenza dalla piattaforma. Autore: Roberto Fabbrica Diapo 1.

Programmazione in Java. Indipendenza dalla piattaforma. Indipendenza dalla piattaforma. Autore: Roberto Fabbrica Diapo 1. 1 Programmazione in Java Java è un linguaggio di programmazione orientato agli oggetti ed indipendente dalla piattaforma. Orientato agli oggetti: segue i paradigmi della programmazione orientata agli oggetti

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Esonero del corso di Programmazione a Oggetti

Esonero del corso di Programmazione a Oggetti Esonero del corso di Programmazione a Oggetti Roma, 1 dicembre 2005 Considerate le seguenti definizioni di classi e interfacce in Java: interface Fumetto{ void esclama(); void utile(); class Personaggio

Dettagli

Compute engine generici in RMI

Compute engine generici in RMI Compute engine generici in RMI Esempio: Calcolo del prodotto scalare Un unico server offre il servizio di calcolo del prodotto scalare tra vettori di interi Un client richiede al server il calcolo del

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

Java Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java

Java Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java programmi sorgente: files.java compilatore Indipendenza di java dalla macchina ospite Programmi java Programmi java Programmi java files.class bytecode linker/loader bytecode bytecode Java API files.class

Dettagli

/***************************** FILE: Quiz.java *****************************/ public class Quiz { private String text; private int score;

/***************************** FILE: Quiz.java *****************************/ public class Quiz { private String text; private int score; Soluzione esercizio [Quiz] a. Definizione della classe base e delle sottoclassi: /***************************** FILE: Quiz.java *****************************/ public class Quiz { private String text; private

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

13. Chain of Responsibility

13. Chain of Responsibility Chain of Responsibility 92 13. Chain of Responsibility (GoF pag. 223) 13.1. Descrizione Consente di separare il mittente di una richiesta dal destinario, in modo di consentire a più di un oggetto di gestire

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Esercitazione 2: Java Thread. Java Thread. Java Thread. Un thread:

Esercitazione 2: Java Thread. Java Thread. Java Thread. Un thread: Esercitazione 2: Thread Un thread è un singolo flusso sequenziale di controllo all interno di un processo Un thread (o processo leggero) è un unità di esecuzione che condivide codice e dati con altri thread

Dettagli

Multithreading in Java I parte. Lorenzo Gallucci

Multithreading in Java I parte. Lorenzo Gallucci Multithreading in Java I parte Lorenzo Gallucci Java: un linguaggio ed un sistema predisposti per il multitasking È possibile creare e gestire Thread nativamente (senza dover ricorrere a librerie esterne)

Dettagli

JAVA Gestione delle eccezioni e Programmazione concorrente

JAVA Gestione delle eccezioni e Programmazione concorrente JAVA Gestione delle eccezioni e Programmazione concorrente Andrea BEI (andrea.bei@libero.it) Gestione delle eccezioni Un eccezione è un evento generato in un applicazione in circostanze eccezionali (es:

Dettagli

Esempi in Java di program.ne O-O

Esempi in Java di program.ne O-O Esempi in Java di program.ne O-O Ereditarietà Polimorfismo statico e dinamico Esercitazione laboratorio Interfaccia Comparable e Comparator 1 Gerarchia di ereditarietà Persona IS_A Docente Studente Tecnico

Dettagli

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento)

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Prof. Marco Cadoli, Canale M-Z A.A. 2005-06 USO DEL FRAMEWORK JUNIT

Dettagli

Gocce di Java. Gocce di Java. Programmazione a oggetti. Pierluigi Crescenzi. Università degli Studi di Firenze

Gocce di Java. Gocce di Java. Programmazione a oggetti. Pierluigi Crescenzi. Università degli Studi di Firenze Gocce di Java Programmazione a oggetti Pierluigi Crescenzi Università degli Studi di Firenze Programma: collezione di oggetti che interagiscono tra di loro per mezzo di azioni Cambiando il proprio stato

Dettagli

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

Programmazione Java Struttura di una classe, Costruttore, Riferimento this Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento

Dettagli

Programmazione Java Eccezioni

Programmazione Java Eccezioni Programmazione Java Eccezioni Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Eccezioni Introduzione Blocco try/catch Clausola finally

Dettagli

Programmazione Java: Eccezioni

Programmazione Java: Eccezioni Programmazione Java: Eccezioni romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Eccezioni» Introduzione» Blocco try/catch» Clausola finally» Gerarchia eccezioni Checked e unchecked»

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Esempio 2: Subtyping

Esempio 2: Subtyping Esempio 2: Subtyping 22 Subclassing e subtyping Fino ad ora abbiamo trattato l ereditarietà come strumento che consente il riuso flessibile di classi già esistenti mediante l aggiunta o la ridefinizione

Dettagli

Introduzione alla Programmazione in Java attraverso un esempio commentato

Introduzione alla Programmazione in Java attraverso un esempio commentato Corso di Studi in Informatica Programmazione 1 corso B prof. Elio Giovannetti Introduzione alla Programmazione in Java attraverso un esempio commentato Programmazione 1 B - a.a. 2002-03 53 Modello di memoria

Dettagli

Programmazione II. Gestione delle eccezioni

Programmazione II. Gestione delle eccezioni Programmazione II Gestione delle eccezioni Attenzione Questi lucidi sono una semplice TRACCIA per affrontare l argomento delle ECCEZIONI. Esse vanno integrate da un attento studio degli esempi di codice

Dettagli

Asserzioni in Java fondamenti

Asserzioni in Java fondamenti Asserzioni in Java fondamenti Cosa è un asserzione? Una assertion è una espressione booleana che deve essere true se e solo se il codice sta funzionando correttamente. Se l asserzione risulta falsa, viene

Dettagli

Compute engine generici in RMI

Compute engine generici in RMI Compute engine generici in RMI Esempio: Calcolo del prodotto scalare Un unico server offre il servizio di calcolo del prodotto scalare tra vettori di interi Un client richiede al server il calcolo del

Dettagli

STRUTTURE DATI: OLTRE GLI ARRAY LISTE

STRUTTURE DATI: OLTRE GLI ARRAY LISTE STRUTTURE DATI: OLTRE GLI ARRAY le strutture dati progettate per ospitare una collezione di elementi, sono variazioni di array Ma l'array ha dimensione fissa anche in Java determinata a priori, in linguaggi

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario La classe String Lettura da input di dati numerici (tipo int) Stampa di dati numerici Uno sguardo al codice Esercizi 21/03/2011 2

Dettagli

Capitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73

Capitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73 Capitolo 9 Tipi enumerativi, tipi generici e interfacce c 2005 Pearson Education Italia Capitolo 9-1 / 73 Sommario: Tipi enumerativi, tipi generici e interfacce 1 Definizione di tipi enumerativi La classe

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del

Dettagli

RTTI Run-time type identification

RTTI Run-time type identification RTTI Run-time type identification Come determinare il tipo di un oggetto durante l'esecuzione RTTI 1 Ereditarietà Forma Linea Rettangolo Cerchio interface Forma { class Linea implements Forma { void ;

Dettagli

Metodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere:

Metodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere: Metodi Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere: invocazione: esecuzione di un metodo assegnamento: cambia lo stato di un campo ripetizione:

Dettagli

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),

Dettagli

Introduzione Programmazione Java

Introduzione Programmazione Java Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea

Dettagli

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Dettagli

Concorrenza e sincronizzazione

Concorrenza e sincronizzazione Concorrenza e sincronizzazione Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Cosa faremo oggi 2 Concorrenza Sincronizzazione Concorrenza 3 Nei programmi Java fino ad ora sviluppati è presente

Dettagli