Programmazione in Java
|
|
- Laura Giuliani
- 5 anni fa
- Visualizzazioni
Transcript
1 Programmazione in Java Quarta lezione Cristian Del Fabbro
2 Di cosa si parla oggi? Eclipse Garbage Collector I/O da tastiera e da file Eccezioni Alcune classi utili Una classe per i numeri complessi Esempio per casa
3 Eclipse IDE (Integrated Development Environment) scrivere compilare eseguire È scritto principalmente in Java e pensato per sviluppare programmi in Java Disponibili svariati plugin (scritti in Java) VisualJava
4 Perché Eclipse? Autocompletamento Help in linea durante la digitazione Segnala gli errori di sintassi mentre si scrive il codice Suggerisce cosa fare per correggere gli errori più comuni Mostra la gerarchia dei pacchetti e delle classi Permette il debug
5 Garbage Collector Quando un oggetto non ha riferimenti che puntano ad esso il programma non lo può più usare (garbage) Generalmente bisogna ricordarsi di liberare la memoria allocata e non più utilizzata Java gestisce in automatico la deallocazione della memoria non più utilizzata il programmatore ha un problema in meno
6 I/O da tastiera Serve per poter interagire con l'utente L'INPUT permette di ricevere dei dati System.in è un InputStream L'OUTPUT permette di visualizzare dei dati System.out è un OutputStream
7 EasyIn È una semplice classe che permette di ricevere l'input da tastiera senza curarsi dei dettagli Permette di leggere: numeri interi readint() readlong() numeri reali readfloat readdouble() stringhe readstring() readchar() valori booleani readboolean()
8 Salutare l'utente public class Hello { public static void main(string[] args){ EasyIn input = new EasyIn(); System.out.println("Ciao, come ti chiami?"); String nome = input.readstring(); System.out.println("Ciao " + nome + "!");
9 I/O da file I dati vengono presi e scritti su un file Si parla di flusso (stream) di dati Attraverso l'input si prelevano i dati da un file Attraverso l'output si scrivono i dati in un file
10 Leggere un file Quando si vuole prelevare i dati da un file bisogna: sapere il percorso del file aprire uno stream di input prelevare i dati controllare se si è raggiunta la fine del file (EOF) verificare se ci sono degli errori chiudere il file
11 Classi per leggere Ad un file bisogna associare uno stream di input: FileInputStream FileReader Possono leggere solo array di caratteri Una classe più utile è BufferedReader che permette di leggere una riga intera e memorizzarla in una stringa
12 Leggere un file di testo String name = nomefile ; FileReader f = new FileReader(name); BufferedReader file = new BufferedReader(f); while (file.ready()) { String line = file.readline(); System.out.println(line); file.close();
13 Scrivere su un file Quando si vuole scrivere dei dati su un file bisogna: sapere il percorso del file aprire uno stream di output scrivere i dati verificare se ci sono degli errori chiudere il file
14 Classi per scrivere Ad un file bisogna associare uno stream di output: FileOutputStream FileWriter Possono scrivere solo array di caratteri Una classe più utile è PrinterWriter che permette di usare i metodi print e println come con lo standard output
15 Numerare le righe di un file FileReader r = new FileReader(inName); BufferedReader fileinput = new BufferedReader(r); FileWriter w = new FileWriter(outName); PrinterWriter fileoutput = new PrinterWriter(w); int count = 1; while (fileinput.ready()) { String line = fileinput.readline(); fileoutput.println(count + ") " + line); count++; fileinput.close(); fileoutput.close(); // Ricordarsi di chiudere SEMPRE i file in scrittura!
16 Accesso casuale ai file (1) I file trattati come stream possono essere letti in una sola direzione: una volta letto un byte si passa al successivo e non si può tornare indietro Per poter andare avanti e indietro in un file bisogna usare la class RandomAccessFile che permette di spostarsi avanti e indietro all'interno del file
17 Accesso casuale ai file (2) Un file ad accesso casuale si può aprire in lettura, in scrittura o in entrambi i metodi: new RandomAccessFile( file.txt, r ) new RandomAccessFile( file.txt, w ) new RandomAccessFile( file.txt, rw ) oltre ai metodi normalmente disponibili per leggere e scrivere sono presenti: void seek(long i) // serve per posizionarsi al byte i-esimo del file long getfilepointer() // ritorna la posizione del prossimo byte da leggere
18 Eccezioni (1) Quando si lavora con dei file (o in generale quando si interagisce con il mondo esterno ad un programma) si possono generare delle eccezioni ed errori. Una eccezzione è un oggetto che definisce una situazione inusuale o erronea. Un errore è simile ad una eccezione ma in generale non può essere corretta e non può essere intercettato
19 Eccezioni (2) I metodi delle classi possono generare eccezioni Quando si utilizza un metodo che può generare un'eccezione bisogna catturarla Per far questo bisogna utilizzare la struttura try/catch : try { // chiamate a metodi che generano eccezioni catch (ExceptionType exception) { // gestione dell'errore
20 Eccezioni: esempio import java.io.*; public class SimpleRead { public static void main (String[] args) { String name = nomefile ; try { FileReader f = new FileReader(name); // genera eccezione FileNotFound BufferedReader file = new BufferedReader(f); while (file.ready()) { String line = file.readline(); // genera eccezione di I/O System.out.println(line); file.close(); catch (FileNotFoundException e) { System.out.println("Il file non è stato trovato!"); catch (IOException e) { System.out.println("Errore nella lettura del file.");
21 Eccezioni: metodo alternativo Esiste un altro modo di trattare le eccezioni ed è quello di non gestirle ma ti notificarle al metodo chiamante Si demanda la gestione ad un livello superiore Per far questo bisogna usare la sintassi: public void read throws ExceptionType [, ExceptionType ] { // corpo del metodo
22 Esempio Throws (1) public class SimpleReadThrows { BufferedReader file; public SimpleReadThrows(String name) throws FileNotFoundException { FileReader f = new FileReader(name); file = new BufferedReader(f); public void read() throws IOException { while (file.ready()) { String line = file.readline(); System.out.println(line); file.close(); // continua nella prossima slide
23 Esempio Throws (2) // continua dalla precedente slide public static void main(string[] args) throws IOException { EasyIn input = new EasyIn(); System.out.println("Quale file vuoi visualizzare?"); String name = input.readstring(); try { SimpleReadThrows srt = new SimpleReadThrows(name); srt.read(); catch (FileNotFoundException e) { System.out.println("File non trovato!");
24 Package Per poter usare classi già pronte ci sono tre modi: invocare esplicitamente la classe: java.util.vector vector = new java.util.vector(); importare la classe: import java.util.vector; // all'inizio del file [...] Vector vector = new Vector(); importare tutto il pacchetto: import java.util.*; // all'inizio del file [...] Vector vector = new Vector(); StringTokenizer = new StringTokenizer();
25 Vector java.util.vector permette di gestire array che cambiano dimensione e tipo in modo dinamico funziona solo per le classi, non per tipi primitivi metodi: void addelement(object obj) void insertelementat(object obj, int index) removeelementat(int index) Object elementat(int index) boolean size()
26 Esempio di uso di Vector Vector vector = new Vector(); vector.addelement( Primo elemento ); vector.addelement( Ultimo elemento ); vector.insertelementat( Secondo elemento,1); vector.insertelementat( Terzo elemento,1); vector.removeelementat(1); vector.insertelementat( Terzo elemento,2); for (int i=0; i < vector.size(); i++) { System.out.println((String)vector.elementAt(i));
27 StringTokenizer java.util.stringtokenizer serve per processare una stringa composta da più campi. Es.: Mario Rossi impiegato Udine costruttore: StringTokenizer(String str) metodi: int counttokens() boolean hasmoretokens() String nexttoken()
28 Esempio di StringTokenizer StringTokenizer st = new StringTokenizer("Questa è una prova"); int n = st.counttokens(); for (int i=0; i < n ; i++) System.out.println(st.nextToken()); st = new StringTokenizer("Mario Rossi impiegato Udine"," "); while (st.hasmoreelements()) System.out.println(st.nextToken());
29 Date java.util.date sapere data e ora in cui viene eseguito lo script semplici operazioni di confronto fra date costruttori: Date() Date(long date) metodi: boolen after(date arg) boolean equals(date arg) boolean before(date arg)
30 GregorianCalendar java.util.gregoriancalendar serve per formattare le date a seconda del calendario locale della località costruttori: GregorianCalendar() GregorianCalendar(int year, int month, int day) GregorianCalendar(int year, int month, int day, int hour, int min) GregorianCalendar(int year, int month, int day, int hour, int min, int sec)
31 Esempio di uso di Date Date date = new GregorianCalendar(year,month,day).getTime(); GregorianCalendar now_gregorian = new GregorianCalendar(); int day_now = now_gregorian.get(calendar.date); int month_now = now_gregorian.get(calendar.month); int year_now = now_gregorian.get(calendar.year); Date now = new GregorianCalendar(year_now,month_now,day_now).getTime(); DateFormat df = DateFormat.getDateInstance(DateFormat.LONG); System.out.println("Data attuale: " + df.format(now)); System.out.println("Data inserita: " + df.format(date)); if (date.equals(now)) { System.out.println("Le due date sono identiche"); else if (date.before(now)) { System.out.println("La data inserita è precedente alla data attuale"); else { // implicitamente vale date.after(now) System.out.println("La data inserita è seguente alla data attuale");
32 Alcuni esempi di classi Le classi sono costituite da uno o più costruttori, dalle proprietà e dai metodi i costruttori servono per inizializzare l'oggetto le variabili servono per caratterizzare un oggetto i metodi servono per l'interazione fra gli oggetti
33 Il numero complesso (1) Un numero complesso è caratterizzato da una parte reale e una parte immaginaria [proprietà => variabili] Bisogna costruire un oggetto numero complesso a partire dalla parte reale e immaginaria [costruttore] Dell'oggetto bisogna sapere la sua parte reale e immaginaria, poter stamparlo in formato n+mi e poter fare alcune operazioni (come la somma) [metodi]
34 Il numero complesso (2) Le proprietà (variabili) del numero complesso sono: float real; float imm;
35 Il numero complesso (3) Costruttori: se non ci sono dati crea il numero 0+0i Complex() { real = 0; imm = 0; dati i numeri n e m crea il numero n+mi Complex(float n, float m) { real = n; imm = m;
36 Il numero complesso (3) ritorna la parte reale e immaginaria di un numero: public float getreal() { return real; public float getimm() { return imm; modulo del numero complesso public float getmodule() { return (float)math.sqrt(real*real + imm*imm);
37 somma di un numero complesso public void addcomplex(complex value) { real += value.getreal(); imm += value.getimm(); ritornare il complesso coniugato public Complex getconiugate() { return new Complex(real,-imm);
38 Il numero complesso (4) Restituire un formato stringa del numero complesso per poterlo stampare a video public String tostring() { String s = new String(); s += (new Float(real)).toString(); if (imm >=0) s += + ; s += (new Float(imm)).toString() ; s += i ; return s;
39 Il numero complesso (5) Esempio di utilizzo: Complex a = new Complex(); // 0+0i Complex b = new Complex(5,3); // 5+3i Complex c = new Complex(-6,4); // -6+4i a.addcomplex(b); // somma 5+3i ad a a.addcomplex(c.getconiugate()); // somma -6-4i ad a System.out.println("a vale: " + a.tostring()); // a vale: i System.out.println("La parte reale di a e': " + a.getreal()); // La parte reale di a e': -1.0 System.out.println("La parte immaginaria di a e': " + a.getimm()); // La parte immaginaria di a e': -1.0 System.out.println("Il modulo di a e': " + a.getmodule()); // Il modulo di a e':
40 Esempio per casa (1) Scrivere una classe per memorizzare i dati di una persona: nome cognome luogo di nascita data di nascita Aggiungere alla classe dei metodi che ritornino il nome e il cognome, la data di nascita in formato esteso e l'età
41 Esempio per casa (2) Preparare un file con una serie di informazioni per riga, ad es: Mario Rossi impiegato Udine 23/3/1952 Carlo Bianchi studente S. Donà 2/12/1990 Franco Franchi comico Frafroreano 4/4/1944 Scrivere un programma che legge il file e scrive un altro file come nell'esempio della prossima slide
42 Esempio per casa (3) Mario Rossi di professione impiegato Nato a Udine il 23 febbraio 1952 Quest'anno ha già compiuto 57 anni Carlo Bianchi di professione studente Nato a S. Donà il 12 dicembre 1990 Quest'anno deve compiere 15 anni Franco Franchi di professione comico Nato a Fraforeano il 4 aprile 1944 Quest'anno ha già compiuto 61 anni
Programmazione in Java
Programmazione in Java Settima lezione Cristian Del Fabbro Lezione di oggi Esercizio sull'utilizzo delle classi viste nella quarta lezione (Vector, StringTokenizer, file su disco, ecc.) Alcune classi per
DettagliInformatica. Prof. A. Longheu. Input e Output
Informatica Prof. A. Longheu Input e Output 1 Il package java.io Il package java.io definisce i concetti base per gestire l I/O da qualsiasi sorgente e verso qualsiasi destinazione. L obiettivo è fornire
DettagliLezione 16 programmazione in Java
Lezione 16 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO I FILE Sgli stream (flussi) I file ad
DettagliLETTURA DI DATI DA INPUT. Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream
LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream LETTURA DI DATI DA INPUT Sfortunatamente, una tale classe non esiste
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Java File Flussi e file Flusso (stream) = sequenza di dati di input: da cui leggere di output: su cui scrivere I file sono visti come flussi di dati Il package java.io definisce
DettagliEsercitazione n 4. Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java:
Esercitazione n 4 Obiettivi: Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java: Gestione di input/output da console e da file (package java.io) Utilizzo di
DettagliLETTURA DI DATI DA INPUT
LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream FileDescriptor InputStream SequenceInputStream ByteArrayInputStream
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione e rimane immutato.
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A2 I file binari 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliINPUT OUTPUT Programmazione in rete e laboratorio. Le operazioni di I/O avvengono attraverso stream (sequenze di byte)
INPUT OUTPUT 2004-05 Le operazioni di I/O avvengono attraverso stream (sequenze di byte) programma stream in lettura sorgente Programmazione in rete e laboratorio programma stream in scrittura destinazione
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario API di Java Istruzione di scrittura Istruzione di lettura 21/03/2011 2 API di Java Java è un linguaggio orientato agli oggetti basato
DettagliLaboratorio 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[]
DettagliRETI 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
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList! Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliLe 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
DettagliA. Ferrari Stream e File
Stream e File Java la classe File o per operare con l intero file java mette a disposizione la classe File o per utilizzare la classe File è necessario importare la libreria java.io.file o la classe File
DettagliJAVA - I/O System. Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita:
JAVA - I/O System Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita: 1. InputStream: Flusso di byte in ingresso. Con questa classe
DettagliUnità A1 Funzioni MODULO Java 2
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Passaggio parametri per valore Passaggio parametri per indirizzo Parametri formali e attuali Regole di visibilità Ambiente
DettagliInput/Output in Java
Input/Output in Java 1 Comunicare con il mondo Praticamente ogni programma ha la necessità di comunicare con il mondo esterno Con l utente attraverso tastiera e video Con il file system per leggere e salvare
DettagliArray. Definizione e utilizzo di vettori
Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];
DettagliInformatica I. Ingegneria Medica. Prof. Diego Salamon
Informatica I Ingegneria Medica Prof. Diego Salamon Gestione I/O Prof. Diego Salamon Introduzione Nella creazione e gestione del software è necessario interagire con entità esterne a quelle del programma
DettagliLa paninoteca. Mi resta da scrivere solo costo()
La paninoteca Mi resta da scrivere solo costo() La paninoteca Usiamo l ereditarietà per definire dei Panini particolari Ci sono alcuni tipi di pane Estendendo Panino scrivo meno codice Nell esempio eredito
DettagliVariabili e Metodi di classe Interfacce e Package File in Java
Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe definisce un
DettagliA. Ferrari Java: Stream e File
Java: Stream e File la classe File o per operare con l intero file java mette a disposizione la classe File o per utilizzare la classe File è necessario importare la libreria java.io.file o la classe File
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi 16. Stream di I/O Esempio. Visualizza sul monitor il contenuto di un file di caratteri. int i; while ((i
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA8 B2 Accesso diretto 1 Prerequisiti Programmazione ad oggetti Conoscenza classi di base di I/O Tecnica della programmazione Organizzazione ed accesso ai file 2 1 Introduzione
DettagliI/O Streams in Java. Lorenzo Gallucci
I/O Streams in Java Lorenzo Gallucci I/O Streams La libreria Java dispone di un API sofisticata per l interfacciamento I/O Il package di riferimento è java.io Due classi principali InputStream, per l input
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Eccezioni: Gestione dei Flussi versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliVariabili e Metodi di classe Interfacce e Package Gestione di File in Java
Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA7 A1 Vector, Arrays e StringBuffer 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Algoritmi notevoli sul vettore 2 1 Introduzione In questa
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
DettagliCorso 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
DettagliLaboratorio 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
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array 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 di Laurea
DettagliFondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso
Fondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso AA 2018/2019 Tutor: Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 4 Introduzione al calcolatore e Java Linguaggio Java, basi
Dettagli{4, 4, 2, 9, 13} {2, 2, 9, 13, 0} {0, 4, 2, 9, 13} {2, 9, 13, 0, 0}
16181 Nome Cognome A domande a risposta multipla con n scelte, la risposta corretta vale (n-1)/n*difficoltàdomanda, la risposta errata -1/n*difficoltà domanda, la risposta non data. Eseguendo il frammento
DettagliLa gestione delle eccezioni
La gestione delle eccezioni La gestione delle eccezioni Le eccezioni sono eventi che accadono in fase di esecuzione di un programma al verificarsi di una situazione anomala, come la divisione per 0, l'uso
DettagliAnno Accademico 2003/04. Docente modulo 1: Annalisa De Bonis. Ripete l esecuzione di statement fino a che la condizione e` verificata
Iterazioni Anno Accademico 2003/04 Docente modulo 1: Lo statement while while (condition) statement; Ripete l esecuzione di statement fino a che la condizione e` verificata while (balance < targetbalance)
DettagliIntroduzione 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
DettagliFONDAMENTI 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,
DettagliIL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate
Fondamenti di Informatica IL LINGUAGGIO JAVA Sintassi, Semantica, Input, Tipi Elementari e Istruzione Condizionale 1 Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per
DettagliFondamenti 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
DettagliUnità 2 I file binari
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA file binari file di tipi primitivi file di oggetti serializzazione (B) CONOSCENZA E COMPETENZA Rispondere alle seguenti domande
DettagliEccezioni 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
DettagliESERCIZIO 1 (FILE DI TESTO)
ESERCIZIO 1 (FILE DI TESTO) Scrivere su un file di testo righe inserite da console, fino a quando non viene inserita la linea vuota. Passare il nome del file come parametro al programma. Bisogna incapsulare
DettagliA. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica
informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class
DettagliJava Lezione 4. Dott. Ing. M. Banci, PhD
Java Lezione 4 Dott. Ing. M. Banci, PhD La lettura di un flusso di input in Java avviene attraverso l'oggetto in della classe System. System.in appartiene alla classe InputStream (letteralmente flusso
DettagliIterazioni. L istruzione while. while (condition) istruzione
Iterazioni L istruzione while while (condition) istruzione Ripete l esecuzione di istruzione fino a che la condizione resta vera while (balance < targetbalance) year++; double interest = balance * rate
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliSintassi Java PA RTE 1 FONDAMEN TI DI I N FORMAT ICA PER IL CORSO DI LAUREA I N M AT EMAT ICA PA O L A L E C C A
Sintassi Java PA RTE 1 FONDAMEN TI DI I N FORMAT ICA PER IL CORSO DI LAUREA I N M AT EMAT ICA PA O L A L E C C A D I PA R T I M E N T O D I M AT E M AT I C A, U N I V E R S I TÀ D I T R E N TO paola.lecca@unitn.it
Dettaglidomenica 9 giugno 13 Serializzazione
Serializzazione A cosa serve? Ad ottenere una rappresentazione di una struttura dati che possiamo memorizzare, trasmettere via rete Cosa possiamo serializzare? OK NO Tipi primitivi, Riferimenti stringhe
DettagliLe classi FileInputStream e RandomAccessFile. Semplici Algoritmi di Ordinamento
Fondamenti di Informatica Le classi FileInputStream e RandomAccessFile Semplici Algoritmi di Ordinamento Fondamenti di Informatica - D. Talia - UNICAL 1 Classe FileInputStream La classe FileInputStream
DettagliCorso 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
Dettagli3) Descrivere l architettura di un elaboratore tramite astrazione a livelli
Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l
DettagliUn flusso (stream) è una astrazione che produce e/o consuma informazioni.
I programmi Java eseguono l I/O mediante i flussi. Un flusso (stream) è una astrazione che produce e/o consuma informazioni. Ogni flusso è collegato ad un dispositivo fisico dal sistema di I/O di java.
DettagliEccezioni. Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi.
Eccezioni Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi fanizzi@di.uniba.it 2 Eccezione Evento anormale che avviene durante l'esecuzione del programma
DettagliStrutture Software 1 INTRODUZIONE INTRODUZIONE SOMMARIO
INTRODUZIONE Strutture Software 1 Docente: Fabio Solari Tel.: 010-3532289 E-mail: fabio@dibe.unige.it URL: http://www.pspc.dibe.unige.it Presentare i principali metodi utilizzati per organizzare e rappresentare
DettagliRiassunto. Rassegna API - 2: eccezioni e file. Eccezioni. Oggi. Gettare, catturare, rimbalzare. Gettare. Stefano Mizzaro 1
Rassegna API - 2: eccezioni e file Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 21 Riassunto
DettagliSTRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
Dettagli19 - 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
DettagliFileInputStream read() read(byte[]) readint() DataInputStream FileInputStream EOFException
ESERCITAZIONE 9 I/O Esercizio 1 Lettura da file binario Se gli interi letti appartengono a [-5;5] scrittura su un altro file binario Altrimenti sollevare una eccezione la quale stampa a video un messaggio
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliRiassunto. Rassegna API - 2: eccezioni e file. Eccezioni. Oggi. Gettare. Gettare, catturare, rimbalzare. Stefano Mizzaro 1
Rassegna API - 2: eccezioni e file Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 18,19 15,19/11/2013
DettagliEsercitazione 3. Corso di Tecniche di programmazione. Laurea in Ingegneria Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 3 Corso di Tecniche di programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliProgrammazione 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
DettagliFondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso
Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso AA 2015/2016 Tutor: Vincenzo Lomonaco vincenzo.lomonaco@unibo.it Programma Introduzione al calcolatore
DettagliFondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java
Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e
DettagliLaboratorio 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
DettagliA1- Array MODULO Java3
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Dichiarazione array Allocazione array Inizializzazione array Proprietà length Vettore Matrice Indice Componenti Indirizzo
DettagliEsonero di Informatica I. Ingegneria Medica
Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l
DettagliRiferimenti ad oggetti: Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro. Riferimenti ad oggetti: (Esempio)
Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Riferimenti ad oggetti: Cosa si può fare con i riferimenti?
DettagliGESTIONE 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
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare
DettagliL input da tastiera in Java. Dott. Ing. M. Banci, PhD
L input da tastiera in Java Dott. Ing. M. Banci, PhD La lettura di un flusso di input in Java avviene attraverso l'oggetto in della classe System. System.in appartiene alla classe InputStream (letteralmente
DettagliFornisce una interfaccia unificata per un insieme di interfacce di un sottosistema, rendendo più facile l uso di quest ultimo.
Facade 73 10. Facade (GoF pag. 185) 10.1. Descrizione Fornisce una interfaccia unificata per un insieme di interfacce di un sottosistema, rendendo più facile l uso di quest ultimo. 10.2. Esempio Un applicativo
Dettagli18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList Fondamenti di Informatica L-B 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito
DettagliEccezioni. 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
DettagliProblema index index memorizzare tutti i valori della sequenza ma se i valori dovessero essere mille?
Array 1 Problema Scrivere un programma che legge dallo standard input una sequenza di dieci numeri in virgola mobile, uno per riga chiede all utente un numero intero index e visualizza il numero che nella
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E03 Esercizi su ricorsione F. Gasparetti Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Esercizi Ricorsione 1 Contenuti!Esercizi
DettagliCorso di Reti di Calcolatori T
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 0 (svolta) Lettura e Scrittura File in Java e C Luca Foschini Anno accademico 2016/2017 Esercitazione
DettagliCreazione, eliminazione, lettura e scrittura di file di testo
Creazione, eliminazione, lettura e scrittura di file di testo Java mette a disposizione degli sviluppatori diverse classi per lavorare con i file di testo, analizziamo le principali: java.io.file La classe
Dettagli10. File e loro attributi
Appunti java pag. 133 10. File e loro attributi In generale, in qualsiasi sistema operativo, il file system consente di operare su archivi di dati (data files) che possono essere organizzati e memorizzati
DettagliLettura e scrittura - Stream
Lettura e scrittura - Stream Obiettivo(fine della lezione): leggere/scrivere da/su file (e quindi verso qualsiasi dispositivo)! Tipi di stream " Stream di caratteri " Stream di byte! Classi astratte che
DettagliInput. 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
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Input/Output e Interi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 19 TUTOR Angelo Feraudo Email: angelo.feraudo2@unibo.it
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA9 A2 JVM e processi 1 Prerequisiti Programmazione base in Java Concetti di base sui sistemi operativi Programmazione degli stream Valori di ritorno a livello di linea
DettagliGestione degli Errori in Java. Emilio Di Giacomo e Walter Didimo
Gestione degli Errori in Java Emilio Di Giacomo e Walter Didimo Errori in fase di esecuzione Un programma può contenere o generare errori in fase di esecuzione, di varia natura: errori di robustezza: dovuti
DettagliJav@Lab Il linguaggio Java I file sequenziali
Jav@Lab Il linguaggio Java I file sequenziali Input e Output Secondo i canoni dei linguaggi di programmazione "procedurali" il concetto di input e output è strettamente legato al tipo di dispositivo esterno
DettagliLe command line di Java. Esercitazioni di Sistemi Operativi III Lezione n. 2
Le command line di Java Esercitazioni di Sistemi Operativi III Lezione n. 2 Esempio 1 - Punti e Segmenti Punto 2 0..n Segmento PuntoColorato Le tre classi appartengono al package geometrie. I file sorgenti
DettagliUniversità degli Studi di Bologna Scuola di Ingegneria
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 0 (svolta) Lettura e Scrittura File in Java e C Luca Foschini Michele Solimando, Giuseppe Martuscelli
DettagliSTRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
Dettagli