Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 16 Tipi riferimento e stringhe. Carla Limongelli.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 16 Tipi riferimento e stringhe. Carla Limongelli."

Transcript

1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 16 Tipi riferimento e stringhe Carla Limongelli Maggio 2010 Definizione di metodi 1

2 Contenuti Tipi riferimento Stringhe e oggetti String Uso di variabili riferimento Uso di oggetti String Stringhe e tipi primitivi conversione da tipi primitivi a stringhe il metodo charat Concatenazione di stringhe Confronto tra stringhe Riferimenti e uguaglianza Il letterale null Tipi riferimento e stringhe 2

3 Tipi riferimento I tipi riferimento sono tipi definiti in corrispondenza a classi dal punto di vista dell utente di un tipo riferimento (classe) il dominio è l insieme dei possibili oggetti che possono essere istanziati dalla classe le operazioni associate al tipo riferimento sono le operazioni (metodi) definite dalla classe dal punto di vista del linguaggio di programmazione, ai tipi riferimento possono essere applicati i seguenti operatori l operatore new per la creazione di un nuovo oggetto l operatore. (operatore punto) per l invocazione di un metodo o l accesso a una variabile di un oggetto altri operatori saranno introdotti in capitoli successivi È sempre possibile associare un tipo alle espressioni riferimento ad esempio "calcolatore" è una espressione del tipo riferimento String Tipi riferimento e stringhe 3

4 Stringhe e oggetti String Una stringa è una sequenza finita di caratteri le stringhe sono un tipo di dati di uso molto comune consentono di rappresentare informazioni testuali e descrittive Java supporta la gestione di stringhe attraverso la classe String del package java.lang non da un tipo primitivo una stringa non è un tipo di dati elementare un oggetto String rappresenta una sequenza di caratteri una sequenza finita di caratteri dell alfabeto Unicode gli oggetti String sanno eseguire operazioni utili per la loro gestione Tipi riferimento e stringhe 4

5 Stringhe e oggetti String Il valore (o contenuto) di un oggetto String è la stringa rappresentata da quell oggetto ad esempio, il letterale "calcolatore" denota un oggetto String il cui valore è la stringa calcolatore "calcolatore" : String calcolatore in questo diagramma, l oggetto mostrato rappresenta la stringa calcolatore non viene data nessuna indicazione sulla modalità interna di rappresentazione della stringa gli oggetti String (così come altri oggetti) possono essere usati conoscendone solo l interfaccia ma non i dettagli implementativi Tipi riferimento e stringhe 5

6 Letterali stringa Un letterale String è una stringa racchiusa tra doppi apici " e " ad esempio, "calcolatore" il valore di un letterale String è la stringa racchiusa tra apici (apici esclusi) l uso di un letterale String è equivalente alla creazione di un oggetto di tipo String il letterale "calcolatore" è sostanzialmente equivalente a una espressione della forma new String(... ) un letterale String è una espressione di tipo String ovvero, un letterale String è una espressione di tipo String il cui valore è il riferimento a un oggetto String ad esempio, "calcolatore" è il riferimento a un oggetto String Java fornisce un supporto speciale (ovvero, eccezionale) per gli oggetti String lo si capisce già dalla presenza dei letterali String Tipi riferimento e stringhe 6

7 Uso di variabili riferimento Essendo String il nome di una classe, è possibile dichiarare variabili di tipo String si tratta di variabili riferimento una variabile riferimento permette di memorizzare il riferimento a un oggetto ma non il valore di un oggetto che è memorizzato in un altra area di memoria String stagione; stagione = "estate"; stagione "estate" : String String System.out.println(stagione); // visualizza estate Tipi riferimento e stringhe 7

8 Variabili riferimento e assegnazioni Se a una variabile riferimento (che referenzia già un oggetto A) viene assegnato il riferimento a un altro oggetto B l oggetto A non viene sostituito dall oggetto B il riferimento all oggetto A memorizzato dalla variabile viene sostituito dal riferimento all oggetto B l oggetto A continua ad esistere String stagione; stagione = "estate"; stagione stagione = "inverno"; stagione String String "estate" : String "estate" : String "inverno" : String Tipi riferimento e stringhe 8

9 Un oggetto può essere referenziato da più variabili È possibile che un oggetto sia contemporaneamente referenziato da più variabili String s, t; s = "estate"; t = s; // copia in t il riferimento memorizzato da s s "estate" : String String t String Tipi riferimento e stringhe 9

10 Le variabili sono indipendenti Le variabili sono indipendenti una assegnazione a una variabile modifica il valore di una sola variabile String s, t; s = "estate"; t = s; t = "inverno"; // copia in t il riferimento // memorizzato da s s "estate" : String String t "inverno" : String String Tipi riferimento e stringhe 10

11 Uso di oggetti String Che cosa è un oggetto String? dal punto di vista del contenuto informativo, un oggetto String rappresenta una stringa dal punto di vista comportamentale, un oggetto String è un oggetto che sa eseguire un certo numero di operazioni un oggetto String sa eseguire operazioni per la manipolazione di se stesso La classe String è usata per rappresentare il tipo delle stringhe un tipo è un insieme di elementi l insieme delle stringhe, in questo caso un insieme di operazioni, per la manipolazione degli elementi di un tale insieme Vengono ora descritte alcune operazioni sulle stringhe Tipi riferimento e stringhe 11

12 Il metodo int length() Il metodo int length() della classe String calcola la lunghezza della stringa la lunghezza di una stringa è il numero di caratteri della sequenza che costituisce la stringa Ad esempio, l espressione "automobile".length() vale 10 Tipi riferimento e stringhe 12

13 La stringa vuota Una stringa vuota è una sequenza vuota di caratteri la stringa vuota è un oggetto String di lunghezza zero la stringa vuota è denotata dal letterale "" l espressione "".length() vale 0 Tipi riferimento e stringhe 13

14 Il metodo String concat(string x) La concatenazione è l operazione che a partire da due stringhe S e T calcola una nuova stringa il cui valore è dato dalla sequenza di caratteri di S seguita dalla sequenza di caratteri di T il metodo String concat(string x) della classe String implementa l operazione di concatenazione di stringhe crea e restituisce un nuovo oggetto String composto dai caratteri della stringa su cui il metodo viene invocato, seguiti dai caratteri della stringa argomento x Ad esempio String s, t, u; s = "auto"; t = "mobile"; u = s.concat(t); /* u vale (referenzia) "automobile" */ Tipi riferimento e stringhe 14

15 Concatenazione di stringhe String s, t, u; s = "auto"; t = "mobile"; s t String "auto" : String "mobile" : String String u String u = s.concat(t); /* u vale (referenzia) "automobile" */ u "automobile" : String {new} String Tipi riferimento e stringhe 15

16 Posizione dei caratteri in una stringa Le posizioni dei caratteri di una stringa sono numerate da sinistra verso destra il carattere più a sinistra (il primo) ha posizione 0 in una stringa composta da N caratteri, il carattere più a destra (l ultimo) ha posizione N 1 a u t o m o b i l e in generale, l i-esimo carattere di una stringa occupa la posizione i 1 Tipi riferimento e stringhe 16

17 Il metodo String substring (int inizio, int fine) Il metodo String substring(int inizio, int fine) della classe String (crea e) restituisce un nuovo oggetto String composto dai caratteri della stringa su cui il metodo è stato invocato che occupano le posizioni tra inizio (inclusa) e fine (esclusa) detto in altro modo, la stringa restituita comprende i caratteri tra le posizioni inizio e fine 1 (estremi inclusi) ad esempio String s, t; s = "automobile"; t = s.substring(2,6); /* t vale "tomo" */ Tipi riferimento e stringhe 17

18 Il metodo String substring(int inizio) Il metodo String substring(int inizio) della classe String (crea e) restituisce un nuovo oggetto String che consiste dei caratteri della stringa su cui il metodo viene invocato compresi tra quello di posizione inizio e l ultimo carattere della stringa (incluso) ad esempio String s, t; s = "automobile"; t = s.substring(4); /* t vale "mobile" */ Tipi riferimento e stringhe 18

19 Pre-condizioni delle operazioni substring Il metodo String substring(int inizio) è soggetto alle seguenti pre-condizioni inizio deve essere maggiore o uguale a zero inizio deve essere minore o uguale alla lunghezza della stringa -1 Il metodo String substring(int inizio, int fine), oltre alle precedenti, è soggetto anche alle seguenti pre-condizioni fine deve essere minore o uguale alla lunghezza della stringa inizio deve essere minore o uguale a fine In caso di violazione delle pre-condizioni viene generato un errore al tempo di esecuzione di tipo IndexOutOfBoundsException ovvero di tipo indice fuori dai limiti Tipi riferimento e stringhe 19

20 Il metodo int indexof(char car) Il metodo int indexof(char car) della classe String verifica se la stringa su cui il metodo viene invocato contiene il carattere car Ad esempio restituisce la prima posizione in cui occorre il carattere car oppure restituisce il valore 1 una posizione non valida "automobile".indexof('m') vale 4 "automobile".indexof('o') vale 3 "automobile".indexof('m') vale 1 Tipi riferimento e stringhe 20

21 Il metodo int indexof(string s) Il metodo int indexof(string s) della classe String verifica se la stringa su cui il metodo viene invocato contiene la sottostringa s una sottostringa di una stringa T è una sequenza di caratteri consecutivi della stringa T esempi di sottostringhe di "automobile" sono "auto", "mobile", "tomo", "" esempi di stringhe che non sono sottostringhe di "automobile" sono "aule" e "autoobile" restituisce la prima posizione in cui inizia una occorrenza della stringa s oppure il valore 1 Ad esempio "automobile".indexof("auto") vale 0 "automobile".indexof("tomo") vale 2 "mamma".indexof("ma") vale 0 e non 3 "automobile".indexof("aule") vale 1 Tipi riferimento e stringhe 21

22 Gli oggetti String sono immutabili Un oggetto String rappresenta una stringa costante, immutabile dopo la creazione, il valore di un oggetto String non può essere modificato l unico modo di interagire con un oggetto String è mediante i metodi della classe String nessun metodo della classe String modifica l oggetto su cui il metodo viene invocato Tipi riferimento e stringhe 22

23 Visualizzazione e lettura di stringhe Per visualizzare una stringa s sullo schermo System.out.println(s); Per leggere una stringa dalla tastiera s = Lettore.in.leggiLinea(); Tipi riferimento e stringhe 23

24 Conversione da tipi primitivi a stringhe Si supponga di voler calcolare, a partire da un intero N, una stringa il cui valore è il letterale per N la conversione da tipi primitivi a stringhe è realizzata mediante un certo numero di metodi di classe della classe String di nome valueof Ad esempio ciascuno di questi metodi valueof accetta come argomento il valore di un certo tipo primitivo e restituisce un valore String che è la rappresentazione dell argomento sotto forma di stringa String.valueOf(16) vale "16" String.valueOf('a') vale "a" Tipi riferimento e stringhe 24

25 Il metodo charat Il metodo char charat(int posizione) della classe String permette di estrarre da una stringa il carattere che occupa una certa posizione ad esempio "automobile".charat(0) vale 'a' "automobile".charat(2) vale 't' Il metodo charat non può essere espresso in termini del metodo substring ad esempio "automobile".substring(0,1) vale "a" (una stringa) e non 'a' (un carattere) il metodo char charat(int posizione) costituisce l unico modo per convertire una stringa composta da un solo carattere a un carattere Tipi riferimento e stringhe 25

26 Il metodo char charat(int posizione) Nell invocare il metodo char charat(int posizione) usando come destinatario una stringa s il valore di posizione deve essere una posizione valida all interno della stringa s ovvero, deve valere posizione>=0 && posizione<s.length() Nel caso in cui la pre-condizione dell operazione charat non sia rispettata viene generato un errore al tempo di esecuzione, mediante una eccezione di tipo IndexOutOfBoundsException L argomento posizione del metodo charat viene considerato un indice nell accesso a un carattere della stringa una posizione all interno della stringa indica il carattere che occupa quella posizione Tipi riferimento e stringhe 26

27 Concatenazione di stringhe La concatenazione tra stringhe è una operazione di uso frequente le stringhe possono essere concatenate usando l operatore + di concatenazione ad esempio, "auto" + "mobile" vale "automobile" l espressione "auto" + "mobile" è essenzialmente equivalente a "auto".concat("mobile") in questo caso, entrambi gli operandi dell operatore di concatenazione sono stringhe, e il risultato è una stringa L operatore di concatenazione tra stringhe che è un operatore speciale per la manipolazione di oggetti String in Java non sono definiti operatori speciali per nessun altra classe Tipi riferimento e stringhe 27

28 Concatenazione e conversioni implicite L operatore + di concatenazione è anche in grado di effettuare conversioni implicite da tipi primitivi a stringhe Ad esempio, se si vuole concatenare la stringa "prezzo=" con la stringa che rappresenta l intero è possibile scrivere l espressione "prezzo=" che vale "prezzo=10.99" l espressione "prezzo=" è essenzialmente equivalente a "prezzo=" + String.valueOf(10.99) Tipi riferimento e stringhe 28

29 L operatore + è sovraccarico L operatore + è sovraccarico è usato per l operatore di somma tra numeri interi è usato per l operatore di somma tra numeri razionali va ricordato che, quando si vuole sommare un intero con un razionale, prima di effettuare la somma l operando intero viene convertito implicitamente a reale L operatore + è usato anche per l operatore di concatenazione tra stringhe se almeno uno dei suoi due operandi è una stringa quando si vuole concatenare una stringa con un numero, prima di effettuare la concatenazione l operando numerico viene convertito implicitamente a stringa "prezzo=" Tipi riferimento e stringhe 29

30 Semantica dell operatore + Bisogna fare attenzione a comprendere il significato di ogni occorrenza dell operatore +, ricordando che l operatore + è associativo a sinistra l operatore + è sovraccarico, e ogni occorrenza di + deve essere opportunamente interpretata (occorrenze diverse dell operatore + possono avere interpretazioni differenti) Le possibili interpretazioni per l operatore + somma intera se entrambi gli operandi sono interi somma reale se un operando è reale e l altro è intero o reale concatenazione se almeno un operando è una stringa Ad esempio "alfa" "beta" vale "alfa4beta" "alfa" vale "alfa45" "beta" vale "9beta" e non "45beta" Tipi riferimento e stringhe 30

31 Confronto tra stringhe L uguaglianza tra stringhe va verificata invocando il metodo boolean equals(string t) della classe String ad esempio String s, t, u, v; s = "automobile"; t = "automobile"; u = "auto" + "mobile"; v = "auto".concat("mobile"); System.out.println(s.equals(t)); // true System.out.println(s.equals(u)); // true System.out.println(s.equals(v)); // true Tipi riferimento e stringhe 31

32 Confronto tra stringhe Attenzione l operatore di uguaglianza == potrebbe non funzionare in modo corretto String s, t, u, v; s = "automobile"; t = "automobile"; u = "auto" + "mobile"; v = "auto".concat("mobile"); System.out.println(s==t); // true System.out.println(s==u); // true System.out.println(s==v); // false(!) l operatore di uguaglianza == per i tipi riferimento serve a verificare se due riferimenti referenziano uno stesso oggetto la gestione delle stringhe in Java presenta alcuni aspetti complicati Tipi riferimento e stringhe 32

33 Uguaglianza tra stringhe String a, b, c; a = "automobile"; b = a; // a==b && a.equals(b) c = "auto".concat("mobile"); // a!=c && a.equals(c) a "automobile" : String b c "automobile" : String possono esserci più variabili riferimento che referenziano uno stesso oggetto possono esserci oggetti diversi che hanno lo stesso valore che rappresentano la stessa stringa Tipi riferimento e stringhe 33

34 Riferimenti e uguaglianza Gli operatori di uguaglianza (== e!=) possono essere usati per verificare se due riferimenti sono uguali siano a e b due variabili riferimento di uno stesso tipo a==b vale true se le variabili a e b referenziano lo stesso oggetto se a==b diciamo che a e b sono identici a!=b vale true se le variabili a e b referenziano oggetti diversi In alcuni casi si vuole verificare se gli oggetti referenziati da a e b sono uguali tra loro intuitivamente, due oggetti sono uguali se hanno lo stesso stato va in generale usato un metodo boolean equals( ) definito normalmente in tutte le classi Tipi riferimento e stringhe 34

35 Confronto lessicografico tra stringhe Come è possibile confrontare due stringhe per stabilire in quale relazione d ordine sono? il confronto tra stringhe è basato sull ordinamento lessicografico, simile (ma non identico!) a quello (alfabetico) utilizzato nell elencazione dei termini in un dizionario ad esempio, in un dizionario alfa precede beta albero precede alfa alfa precede alfabeto non è possibile usare con i tipi riferimento gli operatori relazionali < e <= questi operatori confronterebbero riferimenti a oggetti, il che non ha nessun senso (ed è peraltro vietato) Tipi riferimento e stringhe 35

36 Il metodo int compareto(string x) Per confrontare il valore di due stringhe e stabilire in quale relazione d ordine lessicografico sono si deve utilizzare il metodo int compareto(string x) della classe String questo metodo confronta il valore di due stringhe, restituendo il valore 0 se le due stringhe sono uguali un valore negativo se la stringa su cui viene invocato il metodo precede la stringa argomento il valore assoluto del valore restituito non è significativo un valore positivo se la stringa su cui viene invocato il metodo segue la stringa argomento il valore assoluto del valore restituito non è significativo ad esempio "alfa".compareto("alfa") vale 0 "alfa".compareto("beta") vale 1 "alfa".compareto("alba") vale 4 "alfa".compareto("alfabeto") vale 4 Tipi riferimento e stringhe 36

37 Il metodo int compareto(string x) Il metodo compareto permette di verificare l ordinamento lessicografico, ma non quello alfabetico (che è quello del dizionario) "alfa".compareto("alfa") vale 32 la 'A' precede la 'a' "alfa".compareto("beta") vale 31 tutte le maiuscole precedono tutte le minuscole "uno".compareto("1") vale 68 le cifre precedono le lettere "papa".compareto("papà") vale 127 le vocali accentate seguono tutte le altre lettere Tipi riferimento e stringhe 37

38 Il letterale null Il letterale null rappresenta convenzionalmente un oggetto non creato null può essere assegnato a variabili di qualsiasi tipo riferimento null non referenzia nessun oggetto rappresenta appunto un riferimento non valido Ad esempio una variabile che rappresenta il nome di una persona potrebbe valere null per indicare che il nome della persona non è noto si parla di stringa nulla è diverso dalla stringa vuota Tipi riferimento e stringhe 38

39 Invocazione di metodi e NullPointerException Non è possibile usare un riferimento null nell invocazione di un metodo viene generato un errore di tipo NullPointerException l invocazione del metodo deve avvenire condizionatamente al fatto che la variabile sia non nulla if (x!=null)... chiedi a x di fare qualcosa... Tipi riferimento e stringhe 39

40 Passaggio di parametri di tipo String: oggetti non modificabili Tutti gli oggetti della classe String sono immutabili e quindi il loro valore non può essere modificato dopo che sono stati creati. La classe String non mette a disposizione alcun metodo per modificare lo stato dell'oggetto. Supponendo che alla variabile s di tipo String sia assegnata una stringa, assegnare una nuova stringa alla variabile s corrisponde a creare un nuovo oggetto e quindi un nuovo riferimento che viene assegnato a s, senza modificare la vecchia stringa. La stringa puntata dal vecchio riferimento rimane in memoria, ma non è più accessibile. Tipi riferimento e stringhe 40

41 Passaggio di parametri di tipo String Quali valori vengono stampati dalla seguente applicazione? class LegameStringhe { public static void alfa(string k) { System.out.println(" dentro alfa = " + k); /* crea un nuovo oggetto il riferimento al precedente viene perso */ k = k.concat("giorno"); System.out.println(" dentro alfa = " + k); } public static void main(string[] args) { String k = "buon"; System.out.println("prima di alfa = " + k); alfa(k); System.out.println("dopo alfa = " + k); } } Tipi riferimento e stringhe 41

42 Esercizi Data una stringa s, scrivere un metodo che conta e restituisce il numero di cifre presenti in s. Scrivere l applicazione relativa che: legge la stringa, invoca il metodo e stampa il risultato. Data una stringa s, scrivere un metodo che conta e restituisce il numero dei soli caratteri alfabetici presenti in s. Scrivere l applicazione relativa che: legge la stringa, invoca il metodo e stampa il risultato. Data una stringa s scrivere un metodo che conta e restituisce il numero di vocali maiuscole presenti in s. Scrivere l applicazione relativa che: legge la stringa, invoca il metodo e stampa il risultato. Data una stringa s e un carattere car, scrivere un metodo che restituisce la posizione di car in s, se esiste. Se car non esiste in s il metodo deve restituire -1. Non usare il metodo indexof. Scrivere l applicazione relativa che: legge la stringa, legge il carattere car, invoca il metodo e stampa il risultato. Tipi riferimento e stringhe 42

43 Riepilogo della dispensa I tipi riferimento sono tipi definiti in corrispondenza a classi. Una variabile riferimento permette di memorizzare il riferimento a un oggetto, ma non il valore di un oggetto che è memorizzato in un altra area di memoria. Un riferimento non creato è individuato dal letterale null. Java supporta la gestione di stringhe attraverso la classe String; le variabili di tipo String sono variabili riferimento; stagione "estate" : String String il valore (o contenuto) di un oggetto String è la stringa rappresentata da quell oggetto ed è immutabile: i metodi della classe String operano creando nuovi oggetti di tipo String e quando una stringa viene passata come parametro a un metodo il metodo non ha modo di modificarla Definizione di metodi 43

44 Riepilogo della dispensa Le posizioni degli N caratteri di una stringa sono numerate da sinistra verso destra il primo carattere ha posizione 0, l ultimo ha posizione N-1 Alcuni metodi importanti della classe String: int length() String concat(string x) String substring(int inizio, int fine), String substring(int inizio) int indexof(char car), int indexof(string s) String.valueOf - accetta come argomento il valore di un certo tipo primitivo e restituisce un valore String char charat(int posizione) boolean equals(string t) int compareto(string x)

45 Riferimenti al libro di testo Per lo studio di questi argomenti si fa riferimento al libro di testo, e in particolare al Capitolo 12 Escluso il paragrafo e il 12.8 Definizione di metodi 45

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 06 Programmazione Java Alfonso Miola Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Programmazione Java 1 Contenuti Il

Dettagli

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a

Dettagli

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E07 Iterazione C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Iterazione 1 Contenuti Si vogliono formalizzare

Dettagli

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione

Dettagli

Stringhe e Array. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Stringhe e Array. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni La Classe String In Java le stringhe, a differenza della maggior parte dei linguaggi di programmazione, non sono array di caratteri (char), bensì

Dettagli

Definizione di metodi

Definizione di metodi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti

Dettagli

Definizione di metodi

Definizione di metodi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti

Dettagli

Uso di metodi statici. Walter Didimo

Uso di metodi statici. Walter Didimo Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un

Dettagli

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

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 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

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1 Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero

Dettagli

Le Stringhe. Usare la classe java.lang.string

Le Stringhe. Usare la classe java.lang.string Le Stringhe Usare la classe java.lang.string Classe java.lang.string (1/4) La classe String mette a disposizione dei metodi per effettuare operazioni su stringhe (sequenze di caratteri). Un oggetto di

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Richiami di Fondamenti di Informatica - 1

Richiami di Fondamenti di Informatica - 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Richiami di Fondamenti di Informatica - 1 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Richiami di FdI-1

Dettagli

Java Le stringhe. Stringhe

Java Le stringhe. Stringhe Java Le stringhe 1 Le stringhe in Java In Java le stringhe non sono semplicemente array di caratteri terminati con zero come avviene in C In Java le stringhe sono oggetti appartenenti alla classe String

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL 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

Dettagli

Gestione dei compiti

Gestione dei compiti 1 of 18 23/10/2006 103 Gestione dei compiti Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Domanda n. 1 Argomento: Logica booleana Domanda: Qual e' il risultato

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Esercizi sui metodi Carla Limongelli Maggio 2010 Esercizi 1 Passaggio di parametri di tipo primitivo Indicare che cosa viene visualizzato sullo

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 13. Tipi ed espressioni. Carla Limongelli Aprile Tipi ed espressioni 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 13. Tipi ed espressioni. Carla Limongelli Aprile Tipi ed espressioni 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 13 Tipi ed espressioni Carla Limongelli Aprile 2010 Tipi ed espressioni 1 Contenuti Tipi di dato Tipi primitivi per numeri interi: il

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

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Programmazione Java. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 3. Alfonso Miola Settembre 2007

Programmazione Java. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 3. Alfonso Miola Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 3 Programmazione Java Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmazione Java 1 Contenuti

Dettagli

Questi lucidi provengono dal capitolo 2 di:

Questi lucidi provengono dal capitolo 2 di: Questi lucidi provengono dal capitolo 2 di: Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Oggetti e classi Gli oggetti sono entità di un programma che si possono manipolare

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

Tipi ed espressioni. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 5. Carla Limongelli Settembre 2007

Tipi ed espressioni. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 5. Carla Limongelli Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 5 Tipi ed espressioni Carla Limongelli Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Tipi ed espressioni 1 Contenuti

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:

Dettagli

Fondamenti di Informatica T-1. Selezione Stringhe

Fondamenti di Informatica T-1. Selezione Stringhe Selezione Stringhe 2 Stringhe Tipo di dato che rappresenta un insieme ordinato di caratteri. String saluto = "Ciao"; String saluto2 = new String("Ciao"); Operazioni: Concatenazione: String messaggio =

Dettagli

Capitolo 2. Protocolli e contratti. c 2005 Pearson Education Italia Capitolo 2-1 / 82

Capitolo 2. Protocolli e contratti. c 2005 Pearson Education Italia Capitolo 2-1 / 82 Capitolo 2 Protocolli e contratti c 2005 Pearson Education Italia Capitolo 2-1 / 82 Sommario: Protocolli e contratti 1 Nozioni base della programmazione OO La programmazione ad oggetti Protocolli e contratti

Dettagli

Definizione di classi

Definizione di classi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

Capitolo 4. Tipi di dati fondamentali. Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione

Capitolo 4. Tipi di dati fondamentali. Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Convenzioni per i nomi ContoCorrente: nome di una classe contocorrente: può essere una

Dettagli

4 - Tipi di dato primitivi

4 - Tipi di dato primitivi 4 - Tipi di dato primitivi 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

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

Dettagli

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore

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

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E04 Esercizi sui problemi di ordinamento C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Algoritmi di Ordinamento

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Prova Intermedia Marzo 2011 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia La Prova Intermedia

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione

Dettagli

TIPI PRIMITIVI: LIMITI

TIPI PRIMITIVI: LIMITI TIPI PRIMITIVI: LIMITI I tipi primitivi sono i "mattoni elementari" del linguaggio In varie situazioni può però essere necessario trattare i tipi primitivi come oggetti quando una funzione pretende come

Dettagli

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java

Variabili 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

Dettagli

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010 Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi

Dettagli

Esempio su strutture dati dinamiche: ArrayList

Esempio 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

Dettagli

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Uso di classi e oggetti Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Tipi di dati Tipi primitivi: interi Java fornisce otto tipi primitivi indipendenti dall implementazione

Dettagli

TIPI PRIMITIVI E CLASSI WRAPPER

TIPI PRIMITIVI E CLASSI WRAPPER I tipi primitivi come oggetti Package java.lang In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti per passarli per riferimento a una funzione quando una funzione pretende

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

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

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statici. Dichiarazione e chiamata di metodi statici Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

Introduzione all uso degli oggetti in Java (parte II) Walter Didimo

Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Esercizio all uso di oggetti Nel corso viene fornita una classe i cui oggetti permettono di leggere dati immessi dalla tastiera la classe

Dettagli

Fondamenti di Informatica I

Fondamenti di Informatica I Sapienza Università di Roma, Facoltà di Ingegneria Corso di Fondamenti di Informatica I Canale 1 (A-K) Anno Accademico 2009-2010 Corso di Laurea in Ingegneria Informatica Docente: Camil Demetrescu Esercitatore:

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

Esonero di Informatica I. Ingegneria Medica

Esonero 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

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.. 2010/2011 Sommario Conversione di tipo:casting Tipo enumerativo lgebra Booleana Esercizi Conversione di tipo:casting Il casting o conversione di tipo avviene

Dettagli

Laboratorio di Programmazione Laurea in Bioinformatica

Laboratorio di Programmazione Laurea in Bioinformatica Laboratorio di Programmazione Laurea in Bioinformatica 15 dicembre 2008 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il

Dettagli

9 - 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 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

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Corso di Laurea Ingegneria Civile. Dispensa 13. Tipi ed espressioni. Carla Limongelli. Tipi ed espressioni 1

Corso di Laurea Ingegneria Civile. Dispensa 13. Tipi ed espressioni. Carla Limongelli. Tipi ed espressioni 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 13 Tipi ed espressioni Carla Limongelli Marzo 2009 Tipi ed espressioni 1 Contenuti Tipi di dato Tipi primitivi per numeri interi: il

Dettagli

Iterazione (introduzione)

Iterazione (introduzione) Fondamenti di informatica Oggetti e Java (introduzione) Capitolo 17 (estratto) ottobre 2015 1 Contenuti Accesso a sequenze Accumulazione Conteggio Altre aggregazioni Verifica esistenziale Verifica universale

Dettagli

La Gestione della Memoria. Carla Binucci e Walter Didimo

La Gestione della Memoria. Carla Binucci e Walter Didimo La Gestione della Memoria Carla Binucci e Walter Didimo Esecuzione di programmi Java L esecuzione di un programma Java richiede: la compilazione del codice Java in bytecode Java (un linguaggio macchina

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

LINGUAGGI DI PROGRAMMAZIONE!

LINGUAGGI DI PROGRAMMAZIONE! LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

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

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Dettagli

Esempi di Problemi Iterativi

Esempi di Problemi Iterativi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E07 C. Limongelli Dicembre 2011 1 Contenuti q Esercizi: Palindroma Anagramma Fibonacci 2 Palindroma q Scrivere un programma che

Dettagli

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

OCA JAVA 8 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 8 SE PROGRAMMER

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

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

Impariamo a programmare in. Lezione 6

Impariamo a programmare in. Lezione 6 Impariamo a programmare in Decisioni Gestire un conto corrente double balance = 10000; // saldo iniziale System.out.println("Quanto vuoi prelevare? ); double amount = console.nextdouble(); balance = balance

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

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

Rappresentazione binaria delle variabili (int e char)

Rappresentazione binaria delle variabili (int e char) Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

Dettagli

Foglio Elettronico Lezione 1

Foglio Elettronico Lezione 1 - Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 17. Correttezza. Maggio Correttezza

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 17. Correttezza. Maggio Correttezza Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 17 Maggio 2010 1 Contenuti Introduzione alla correttezza dei metodi specifica di un metodo correttezza di un metodo correttezza e responsabilità

Dettagli

Definizione di classi. Walter Didimo

Definizione di classi. Walter Didimo Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti

Dettagli

Variabili e Istruzioni

Variabili e Istruzioni Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome

Dettagli

Laboratorio di Python

Laboratorio di Python Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio

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

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

Dall analisi alla codifica (1)

Dall analisi alla codifica (1) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Stringhe Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 13 STRINGHE: Definizione e creazione Stringa

Dettagli

LA CODIFICA DELL INFORMAZIONE

LA CODIFICA DELL INFORMAZIONE LA CODIFICA DELL INFORMAZIONE Prof. Enrico Terrone A. S: 20/2 Lo schema di Tanenbaum Il livello al quale ci interessiamo in questa lezione è il linguaggio macchina, l unico dove le informazioni e istruzioni

Dettagli