Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Laurea Ingegneria Informatica Fondamenti di Informatica"

Transcript

1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 06 Programmazione Java Alfonso Miola Ottobre Programmazione Java 1

2 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni Scrittore sullo schermo Radice quadrata Esempi di classi e oggetti Java Gli oggetti String, i loro metodi e le possibili applicazioni Programmazione Java 2

3 Prerequisiti Questo capitolo presuppone la conoscenza degli argomenti già trattati nelle precedenti lezioni di questo corso e riportati nelle rispettive dispense, con particolare riferimento al capitolo 1 e al capitolo 2 del libro di testo Programmazione Java 3

4 Il linguaggio di programmazione Java Java è un linguaggio di programmazione un linguaggio di programmazione orientato agli oggetti indipendente dalla piattaforma realizzato per tipi diversi di calcolatori write once, run everywhere realizzato per le reti di calcolatori supportato dai principali browser Web sviluppato dalla Sun Microsystems, e rilasciato nel Programmazione Java 4

5 Java è un linguaggio di programmazione Ogni linguaggio di programmazione, e quindi anche Java, è caratterizzato da: la sintassi - l insieme delle regole grammaticali per scrivere i programmi con quel linguaggio la semantica - l insieme delle regole che stabiliscono il significato dei programmi, ovvero il modo in cui i programmi devono essere interpretati ed eseguiti dal calcolatore Una successiva dispensa tratterà questi argomenti in dettaglio Programmazione Java 5

6 Java è orientato agli oggetti... Nel paradigma di programmazione orientato agli oggetti l esecuzione di un programma consiste nella cooperazione di un insieme di oggetti un programma è la descrizione di un insieme di oggetti Il progetto (la descrizione) di un oggetto è definito da una classe Programmazione Java 6

7 ... Java è orientato agli oggetti In Java, l unità fondamentale di programmazione è la classe Java permette di definire classi una classe può essere il progetto di un singolo oggetto (un oggetto classe) o di oggetti (oggetti istanza) di una certa tipologia una classe implementa il comportamento e lo stato di una certa tipologia di oggetti le operazioni sono implementate da metodi le proprietà sono rappresentate da variabili Programmazione Java 7

8 Programmi Java In Java, ogni programma è un oggetto: esistono due tipi di programmi Java applicazioni Java un programma a sé stante, che viene eseguito da un interprete Java, chiamato macchina virtuale Java (o JVM, Java Virtual Machine) applet Java un programma immerso in una pagina web, che viene eseguito dalla JVM di un browser web Un programma Java consiste nella definizione di un insieme di classi una classe che modella il programma (applicazione) una classe per ciascuna tipologia di oggetti necessari per l esecuzione del programma Programmazione Java 8

9 Applicazioni Java Una applicazione è una classe applicazione che definisce un oggetto classe e che sa eseguire esclusivamente l operazione speciale main In una applicazione Java l applicazione è rappresentata da un oggetto classe l utente dell applicazione può interagire solo con alcuni degli oggetti coinvolti dall applicazione l utente dell applicazione può sicuramente interagire con l oggetto classe che rappresenta l applicazione l utente dell applicazione può richiedere all oggetto classe che rappresenta l applicazione solo di eseguire l operazione speciale main Programmazione Java 9

10 API di Java... L ambiente di sviluppo per Java è corredato da un numeroso insieme di classi e oggetti predefiniti - le API (Application Programming Interface) di Java le API sono in insieme di elementi standard di programmazione per la gestione di aspetti applicativi di carattere generale input-output, stringhe, grafica,... le classi delle API sono raggruppate in librerie chiamate package Programmazione Java 10

11 ... API di Java Le API rappresentano quindi un supporto al programmatore che gli permettono di concentrarsi sullo sviluppo di classi e oggetti relativi alle applicazioni di interesse Gli oggetti e le classi delle API di Java possono essere utilizzati conoscendone l interfaccia l interfaccia degli elementi delle API di Java è documentata da un insieme di pagine web disponibile al programmatore Programmazione Java 11

12 Programmazione in Java... La programmazione in Java coinvolge i seguenti aspetti conoscenza del linguaggio Java ovvero, conoscenza della sintassi e della semantica di Java uso di oggetti e classi predefiniti (ad esempio, definiti nelle API di Java o in altri package a disposizione) di cui si conoscano le interfacce definizione di nuove classi Java per implementare programmi, oggetti classe o tipologie di oggetti istanza necessari alla soluzione del problema Programmazione Java 12

13 ... Programmazione in Java Viene ora mostrata una panoramica sulla programmazione in Java Come nell apprendimento dei linguaggi naturali anche qui si incomincia imparando a leggere viene mostrato come leggere alcuni programmi Java, di complessità via via crescente Solo successivamente impareremo a scrivere e quindi a... parlare Java alla progettazione e scrittura di programmi Java sono dedicati molti dei successivi capitoli Programmazione Java 13

14 Scrittore sullo schermo Si vuole scrivere una applicazione Java che visualizza sullo schermo le seguenti frasi Questo corso introduce i concetti di base dell'informatica Più precisamente, si vuole definire una classe che è il progetto di un oggetto classe che è una classe applicazione sa eseguire una operazione il cui effetto è quello di visualizzare quelle tre frasi sullo schermo Programmazione Java 14

15 System.out L applicazione ha bisogno di visualizzare una frase sullo schermo l applicazione può utilizzare l oggetto System.out System.out System.out è un oggetto definito dalle API di Java System.out modella lo schermo del calcolatore System.out sa eseguire una operazione println che visualizza una frase (che è il parametro dell operazione) Programmazione Java 15

16 L applicazione ScrittoreSulloSchermo /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println( base dell'informatica"); } } Programmazione Java 16

17 ScrittoreSulloSchermo è una classe /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println( base dell'informatica"); } } La definizione di una classe è introdotta dalla parola class è seguita dal nome della classe ScrittoreSulloSchermo La classe ScrittoreSulloSchermo è una classe applicazione e quindi è una classe statica Programmazione Java 17

18 Commenti /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println( base dell'informatica"); } } La frase delimitata da /* e */ è un commento i commenti non sono operazioni e quindi non hanno nessuna influenza sul significato dei programmi - ma sono molto utili per documentare i programmi quindi più ce ne sono e meglio è! Programmazione Java 18

19 Definizione di una classe /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println( base dell'informatica"); } } I dettagli della definizione di una classe sono chiamati il corpo della classe il corpo della classe è delimitato da parentesi graffe { e } ed è scritto dopo il nome della classe Programmazione Java 19

20 Corpo della classe /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println("base dell'informatica"); } } Il corpo della definizione di una classe contiene, tra le altre cose, i metodi della classe per implementare le operazioni La classe ScrittoreSulloSchermo definisce un unico metodo - di nome main - che è un metodo speciale : è l unica operazione la cui esecuzione può essere richiesta dall utente di una classe applicazione Programmazione Java 20

21 Il metodo main... /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println("base dell'informatica"); } } Nella definizione di un metodo c è il nome del metodo main ci sono alcune parole (misteriose, per ora) che precedono e che seguono il nome del metodo ad esempio, la parola static indica che il metodo è un metodo di classe i dettagli della definizione di un metodo sono chiamati il corpo del metodo e sono delimitati da parentesi graffe { e } Programmazione Java 21

22 ... Il metodo main /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println("base dell'informatica"); } } Il corpo del metodo main è composto da un blocco che è una sequenza di istruzioni, separate da punto e virgola ; e delimitata da parentesi graffe { e } ciascuna istruzione del metodo specifica una azione che l oggetto ScrittoreSulloSchermo deve svolgere quando l oggetto ScrittoreSulloSchermo riceve il messaggio main(...), deve eseguire il metodo main, ovvero deve eseguire le istruzioni scritte nel corpo del metodo main Programmazione Java 22

23 Istruzioni System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println("base dell'informatica"); Le tre istruzioni nel corpo del metodo main hanno una struttura simile ad esempio, nella prima istruzione System.out è il nome dell oggetto (predefinito) che modella lo schermo del calcolatore println("questo corso") è il messaggio che si vuole inviare a System.out il punto, il punto e virgola, le parentesi e le virgolette hanno il ruolo di separare le varie parti dell istruzione ciascuna di queste tre istruzioni è una istruzione di invio di un messaggio a un oggetto (o invocazione di metodo) Programmazione Java 23

24 Esecuzione di istruzioni e azioni System.out.println("Questo corso");... L esecuzione di una istruzione consiste nello svolgimento di una o più azioni da parte dell oggetto che esegue l istruzione ad esempio, l esecuzione della prima istruzione consiste nell invio del messaggio println("questo corso") dall oggetto che esegue l istruzione (ScrittoreSulloSchermo) all oggetto System.out in corrispondenza della ricezione di questo messaggio, l oggetto System.out (lo schermo) visualizza la frase Questo corso su se stesso Programmazione Java 24

25 Esecuzione di un metodo L esecuzione di un metodo consiste nell esecuzione delle istruzioni scritte nel corpo del metodo, una alla volta e in sequenza Quindi, l esecuzione del metodo main consiste nell invio, all oggetto System.out, di tre messaggi, in sequenza in corrispondenza alla ricezione dei tre messaggi, lo schermo System.out visualizzerà successivamente su se stesso le tre frasi Questo corso introduce i concetti di base dell informatica Programmazione Java 25

26 Interazione fra oggetti rappresenta Questo Diagramma di collaborazione, nel linguaggio UML, descrive i messaggi scambiati quando un utente richiede al calcolatore di eseguire l applicazione ScrittoreSulloSchermo Programmazione Java 26

27 Esercizio Commentare la definizione della seguente classe /* Applicazione che visualizza sullo schermo * la poesia Mattino di Giuseppe Ungaretti. */ class Mattino { } public static void main(string[] args) { } System.out.println("M'illumino"); System.out.println("d'immenso"); Programmazione Java 27

28 Esercizio Ora che abbiamo imparato a leggere proviamo anche a scrivere in Java! Una lunga tradizione vuole che il primo programma scritto da un programmatore sia quello che visualizza sullo schermo la frase Hello, world (che significa Ciao, mondo ) Definire l applicazione Java CiaoMondo che visualizza sullo schermo la frase Hello, world Ovviamente possiamo anche scrivere altro a piacere Programmazione Java 28

29 Errori di programmazione Durante la scrittura di classi è possibile commettere degli errori di programmazione ad esempio la frase scritta non è corretta nel linguaggio di programmazione (errori grammaticali) la frase scritta è corretta nel linguaggio di programmazione, ma il suo significato è diverso da quanto ci si era prefissi (errori non grammaticali) Va inoltre osservato che l individuazione degli errori grammaticali è solitamente supportata dagli strumenti di programmazione (in particolare, dal compilatore) viceversa, l individuazione degli errori non grammaticali non è supportata dagli strumenti di programmazione, ed è quindi necessario ricorrere a opportune metodologie Programmazione Java 29

30 Esempi di errori possibili /* Applicazione che visualizza sullo * schermo la poesia Mattino * di Giuseppe Ungaretti. */ Class Mattino { public static viod Main(String[] args) { System.out.println("M'illumino ]; System.out.println("di mmenso"); } } Programmazione Java 30

31 Errori comuni Alcuni possibili errori di programmazione omissione o uso errato della punteggiatura ad esempio, omettere i punti e virgola sono solitamente errori grammaticali, ma non sempre uso errato delle parentesi ad esempio, dimenticare di chiudere una parentesi graffa uso errato delle lettere maiuscole e minuscole ad esempio, scrivere Class anziché class (errore grammaticale) oppure Main anziché main (errore non grammaticale) errori di battitura ad esempio, scrivere viod anziché void dimenticare parole inserire spazi erronei ad esempio, scrivere Scrittore Sullo Schermo invertire l ordine delle parole o delle istruzioni Programmazione Java 31

32 Calcolo di una radice quadrata Si vuole scrivere una applicazione Java che calcola e visualizza la radice quadrata di 144 l esecuzione di questo programma dovrà visualizzare sullo schermo il numero 12 L applicazione farà uso della classe Math, per calcolare la radice quadrata e della classe System.out per la visualizzazione del risultato Math, come System.out e altre classi e oggetti, è un oggetto predefinito nelle API (Application Programming Interface) di Java Programmazione Java 32

33 L applicazione RadiceQuadrata /* Applicazione che calcola e * visualizza sullo schermo * la radice quadrata di 144. */ class RadiceQuadrata { public static void main(string[] args) { double radice; radice = Math.sqrt(144); System.out.println(radice); } } Commentare questa applicazione Programmazione Java 33

34 Diagramma di collaborazione per RadiceQuadrata 1: main( ) «applicazione» RadiceQuadrata 1.1: radice = sqrt(144) Math main(...) double sqrt(double n) 1.2: println(radice) System.out println(double x) Commentare questo diagramma Programmazione Java 34

35 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 un oggetto String rappresenta una sequenza finita di caratteri dell alfabeto Unicode gli oggetti String sanno eseguire operazioni utili per la loro gestione facenti parte dell interfaccia della classe Programmazione Java 35

36 Stringhe e oggetti String Il valore (o contenuto) di un oggetto String è la stringa rappresentata da quell oggetto ad esempio, il letterale "calcolatore" è un nome, cioè denota un oggetto String, il cui valore (stato) è la stringa calcolatore "calcolatore" : String calcolatore Programmazione Java 36

37 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 un letterale String è una espressione di tipo String vedremo che ogni letterale e ogni espressione ha un tipo così come tutte le altre componenti linguistiche Java ad esempio, "calcolatore" è il nome, cioè il riferimento, di un oggetto di tipo String che ha come valore la stringa calcolatore Programmazione Java 37

38 Variabili e tipi Come già detto ad ogni variabile deve essere associato un tipo con una apposita istruzione Ad esempio per assegnare il tipo dei numeri reali ad una variabile di nome radice si usa la seguente espressione double radice Il tipo double è uno dei tipi primitivi di Java esso è già predefinito in Java una variabile di tipo primitivo memorizza un valore una variabile di tipo double memorizza un valore numero reale Esistono anche i tipi riferimento ogni classe definisce un tipo riferimento una variabile può essere di tipo riferimento e non memorizza un valore ma un riferimento ad un oggetto della classe Programmazione Java 38

39 Uso di variabili riferimento Essendo String il nome di una classe, è possibile dichiarare variabili di tipo String si tratta di variabili riferimento cioè di variabili che permettono di memorizzare il riferimento a un oggetto ma non il valore dell oggetto che è memorizzato in un altra area di memoria String stagione; stagione = "estate"; System.out.println(stagione); // visualizza estate stagione "estate" : String String Programmazione Java 39

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

41 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 Programmazione Java 41

42 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; // copia in t il riferimento memorizzato da s t = "inverno"; s "estate" : String String t "inverno" : String String Programmazione Java 42

43 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 Programmazione Java 43

44 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 per la manipolazione di se stesso La classe String è usata per rappresentare il tipo delle stringhe un insieme di elementi le stringhe un insieme di operazioni, per la manipolazione degli elementi di un tale insieme Programmazione Java 44

45 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 Programmazione Java 45

46 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 Programmazione Java 46

47 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... Programmazione Java 47

48 Concatenazione di stringhe String s, t, u; s = "auto"; t = "mobile"; s String "auto" : String t "mobile" : String String u String u = s.concat(t); // u vale (referenzia) "automobile" u "automobile" : String String Programmazione Java 48

49 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 Programmazione Java 49

50 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" Programmazione Java 50

51 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" Programmazione Java 51

52 Pre-condizioni delle operazioni substring I metodi substring sono soggetti alle seguenti pre-condizioni inizio deve essere maggiore o uguale a zero e minore o uguale alla lunghezza della stringa 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 Programmazione Java 52

53 Esercizio Cosa visualizza questa applivazione? public class JFK { public static void main(string[] args) { String first = "John"; String middle = "Fitzgerald"; String last = "Kennedy"; String initials; String firstinit, middleinit, lastinit; firstinit = first.substring(0,1); middleinit = middle.substring(0,1); lastinit = last.substring(0,1); initials = firstinit.concat(middleinit); initials = initials.concat(lastinit); System.out.println(initials); } } Programmazione Java 53

54 Altri metodi della classe String La classe String ha molti metodi, consideriamone ora alcuni altri, altri ancora ne vedremo più avanti String touppercase() per convertire tutti i caratteri di una stringa in MAIUSCOLE ad esempio "Java".toUpperCase() costruisce la stringa di valore JAVA String tolowercase() per convertire tutti i caratteri di una stringa in minuscole ad esempio "Java".toLowerCase() costruisce la stringa di valore java Programmazione Java 54

55 Esempio: MaiuscoleMinuscole public class UpperLowerCase { public static void main(string[] args) { String s, upper, lower; s = "Hello"; upper = s.touppercase(); lower = s.tolowercase(); System.out.println(s); System.out.print("upper = "); System.out.println(upper); System.out.print("lower = "); System.out.println(lower); } } Questo programma costruisce 3 stringhe distinte (che non vengono più modificate): la stringa "Hello" iniziale, la stringa "HELLO" denotata attraverso upper, e la stringa "hello" denotata da lower Programmazione Java 55

56 Riepilogo della dispensa Cosa è un programma Java Cosa è una applicazione Java Cosa è il metodo main Alcuni primi esempi di applicazioni Java Scrittore sullo schermo Radice quadrata Alcuni primi esempi di classi e oggetti Gli oggetti String con alcuni metodi e le loro possibili applicazioni Le successive diapositive sintetizzano quanto visto Programmazione Java 56

57 Programmi Java In Java, ogni programma è un oggetto: esistono due tipi di programmi Java applicazioni Java un programma a sé stante, che viene eseguito da un interprete Java, chiamato macchina virtuale Java (o JVM, Java Virtual Machine) applet Java un programma immerso in una pagina web, che viene eseguito dalla JVM di un browser web Un programma Java consiste nella definizione di un insieme di classi una classe che modella il programma (applicazione) una classe per ciascuna tipologia di oggetti necessari per l esecuzione del programma Programmazione Java 57

58 Applicazioni Java Una applicazione è una classe applicazione che definisce un oggetto classe e che sa eseguire esclusivamente l operazione speciale main In una applicazione Java l applicazione è rappresentata da un oggetto classe l utente dell applicazione può interagire solo con alcuni degli oggetti coinvolti dall applicazione l utente dell applicazione può sicuramente interagire con l oggetto classe che rappresenta l applicazione l utente dell applicazione può richiedere all oggetto classe che rappresenta l applicazione solo di eseguire l operazione speciale main Programmazione Java 58

59 L applicazione ScrittoreSulloSchermo /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println( base dell'informatica"); } } Programmazione Java 59

60 Il metodo main /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println("base dell'informatica"); } } Il corpo della definizione di una classe contiene, tra le altre cose, i metodi della classe per implementare le operazioni La classe ScrittoreSulloSchermo definisce un unico metodo - di nome main - che è un metodo speciale : è l unica operazione la cui esecuzione può essere richiesta dall utente di una classe applicazione Programmazione Java 60

61 L applicazione RadiceQuadrata /* Applicazione che calcola e * visualizza sullo schermo * la radice quadrata di 144. */ class RadiceQuadrata { public static void main(string[] args) { double radice; radice = Math.sqrt(144); System.out.println(radice); } } Programmazione Java 61

62 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 un oggetto String rappresenta una sequenza finita di caratteri dell alfabeto Unicode gli oggetti String sanno eseguire operazioni utili per la loro gestione facenti parte dell interfaccia della classe Programmazione Java 62

63 Metodi della classe String La classe String ha, tra gli altri, i seguenti metodi int length() String concat(string x) String substring(int inizio, int fine) String substring(int inizio) String touppercase() String tolowercase() Programmazione Java 63

64 Riferimenti al libro di testo Per lo studio di questi argomenti si fa riferimento al libro di testo, e in particolare ai capitoli 3 su Oggetti e Java 7 su Leggibilità 9 su Variabili e assegnazione 12 sulle Stringhe In questa lezione abbiamo omesso gli argomenti trattati nei seguenti paragrafi Perimetro di un triangolo Lettura e somma di due numeri interi Una classe per istanziare oggetti Dal 12.5 al Li vedremo tutti più avanti Robot in un labirinto Che invece non farà parte del programma d esame Programmazione Java 64

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

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

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

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

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

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

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

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 04 Programmi e Oggetti Software Alfonso Miola Ottobre 2012 http://www.dia.uniroma3.it/~java/fondinf/ Programmi e Oggetti Software

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

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

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

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

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

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.1 Programmazione base 1 Prerequisiti Saper scrivere algoritmi elementari Tecniche elementari di sviluppo di una applicazione Modalità a riga di comando Utilizzo

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

Uso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi

Uso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi Uso degli oggetti Uso di oggetti predefiniti attraverso l'invio di messaggi. Il concetto di metodo; argomenti e restituzione di valori; segnatura e prototipo di un metodo. Il concetto di overloading. Le

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Laboratorio di Informatica Alfonso Miola Strumenti per la programmazione Dispensa D-03 Settembre 2005 1 Contenuti Strumenti per la programmazione editing ed editor compilazione e compilatori compilazione

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

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

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Cosa è un calcolatore? Hardware Processore Memoria Periferiche Funzionamento Esegue istruzioni elementari Esegue istruzioni molto velocemente Deve essere programmato Il

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

Modulo 2: Strutture fondamentali della programmazione Java

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

Dettagli

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

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

Introduzione a Java. Riferimenti

Introduzione a Java. Riferimenti Introduzione a Java Si ringraziano Massimiliano Curcio e Matteo Giacalone 1: Introduction 1 Riferimenti! Java tutorial: http://java.sun.com/docs/books/tutorial/! Il Java tutorial è parte di una più ampia

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

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 E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

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

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 07 Traduzione ed esecuzione di programmi Carla Limongelli Ottobre 2011 Traduzione ed esecuzione di programmi 1 Prerequisiti Architettura

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. Walter Didimo

Introduzione alla programmazione. Walter Didimo Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata

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

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

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

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

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

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

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

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

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

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

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

Dettagli

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

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

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java Capitolo 1 Introduzione Cay S. Horstmann Concetti di informatica e fondamenti di Java Obiettivi del capitolo Capire il significato dell attività di programmazione Imparare a riconoscere le componenti più

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

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 Paradigma OO Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO

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

Introduzione alle classi e agli oggetti. Walter Didimo

Introduzione alle classi e agli oggetti. Walter Didimo Introduzione alle classi e agli oggetti Walter Didimo Classi e oggetti La classe rappresenta l unità di base della programmazione ad oggetti: una classe definisce una tipologia di elementi (cioè una categoria

Dettagli

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona e Sommario e del corso Concetti base linguaggio Editare, compilare e correggere programmi e Docente e Contatti Alessandro

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

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

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

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

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Introduzione a Java IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da

Dettagli

La programmazione nel linguaggio C

La programmazione nel linguaggio C 3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

Parte prima: le basi della programmazione Java

Parte prima: le basi della programmazione Java Parte prima: le basi della programmazione Java 1. Java: una breve descrizione Java è un linguaggio di programmazione creato dalla Sun Microsystems e concepito da James Gosling, Patrick Naughton, Chris

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Introduzione agli oggetti

Introduzione agli oggetti Introduzione agli oggetti Raffaella Brighi, a.a. 2007/08 Corso di Algoritmi e programmazione. A.A. 2007-08 CdL Operatore Informatico Giuridico. L astrazione L assembler e i linguaggi imperativi (fortran,

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

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

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

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Fondamenti di Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti

Fondamenti di Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti Fondamenti di Programmazione Prof.ssa Elisa Tiezzi Programmazione orientata a oggetti 1 Programmazione OO Concetti base: dati istruzioni Dati: variabili tipi Istruzioni: istruzioni base strutture di controllo

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 08 Traduzione ed esecuzione di programmi Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente materiale didattico

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.

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

Capitolo 2. Utilizzare oggetti

Capitolo 2. Utilizzare oggetti Capitolo 2 Utilizzare oggetti 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 invocando

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

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

Lezione 6 programmazione in Java

Lezione 6 programmazione in Java Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi

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

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

Java Native Interface Appunti

Java Native Interface Appunti Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

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 09 Linguaggi Sintassi e Semantica Alfonso Miola Ottobre 2009 http://www.dia.uniroma3.it/~java/fondinf/ Linguaggi - Sintassi e Semantica

Dettagli

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1 Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 23 27 novembre 2013

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

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Elementi di Informatica Programmi e Oggetti Software Settembre 2006 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il punto di

Dettagli

Concetti introduttivi

Concetti introduttivi Concetti introduttivi La programmazione Programma: sequenza di operazioni semplici (istruzioni e decisioni) eseguite in successione Un programma indica al computer i passi da compiere per svolgere un compito

Dettagli

Linguaggio C Struttura dei programmi

Linguaggio C Struttura dei programmi FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struttura dei programmi 2001 Pier Luca Montessoro - Davide

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Laboratorio di Informatica 4 Novembre 2005

Laboratorio di Informatica 4 Novembre 2005 Laboratorio di Informatica 4 Novembre 2005 Marco Iarusso Programmazione Java Ringraziamenti Parte della presente dispensa materiale didattico è derivato dalla dispensa prodotta da Luca Cabibbo Dip. Informatica

Dettagli

Lezione 10 programmazione in Java. Anteprima. Programmazione OO. La programmazione orientata agli Oggetti. Javadoc. Esercizi

Lezione 10 programmazione in Java. Anteprima. Programmazione OO. La programmazione orientata agli Oggetti. Javadoc. Esercizi Lezione 10 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima La programmazione orientata agli Oggetti Cosè un oggetto I metodi Il costruttore

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli 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

Dettagli

Concetto di Funzione e Procedura METODI in Java

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

Dettagli

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

Funzioni. Unità 1. 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

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

Laboratorio di Matematica e Informatica 1

Laboratorio di Matematica e Informatica 1 Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Note ed esercizi aggiuntivi

Note ed esercizi aggiuntivi Corso di Programmazione Anno Accademico 2013 2014 Prof. Giovanni Pighizzini ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi

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

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

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

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

Dettagli