classi, oggetti ed altro gennaio 2003 IGEA 02-03, (c) FdA 1
|
|
- Fabia Raimondi
- 5 anni fa
- Visualizzazioni
Transcript
1 classi, oggetti ed altro gennaio 2003 IGEA 02-03, (c) FdA 1
2 file.java: sorgenti Java creati con editor javac.exe: compilatore Java es.: per compilare il sorgente in pippo.java usare javac pippo.java file.class: codice bytecode generati da compilatore Java java.exe: macchina virtuale Java es.: per eseguire il programma in pippo.class usare java pippo gennaio 2003 IGEA 02-03, (c) FdA 2
3 // tradizionale primo programma Java public class Ciao { public static void main(string[] args) { System.out.println("Ciao mondo!"); } } // deve essere nel file Ciao.java gennaio 2003 IGEA 02-03, (c) FdA 3
4 public class <nomeclasse> { public static void main(string[] args) { <istruzione1> <istruzione2> } } // ogni istruzione terminata da ; // salvato nel file <nomeclasse>.java gennaio 2003 IGEA 02-03, (c) FdA 4
5 componenti fondamentali che caratterizzano i linguaggi orientati agli oggetti (object-oriented) stretto legame: classe = fabbrica di oggetti gennaio 2003 IGEA 02-03, (c) FdA 5
6 componenti software che hanno proprietà specifiche contengono dati ed algoritmi per elaborarli offrono servizi agli utenti accesso ai dati elaborazione dei dati chi sono gli utenti? tipicamente, altri oggetti (è un mondo chiuso?) gennaio 2003 IGEA 02-03, (c) FdA 6
7 chi crea gli oggetti? le classi chi chiede a una classe di creare un oggetto? tipicamente, un altro oggetto tutti gli oggetti creati da una stessa classe appartengono alla stessa categoria ed hanno comportamento simile non sono eguali; es. le persone gennaio 2003 IGEA 02-03, (c) FdA 7
8 "Ciao mondo!" è un oggetto della classe String ogni stringa è un oggetto della classe String stringa = sequenza di caratteri scritti fra doppi apici "stringa di 23 caratteri" gli apici non vengono conteggiati gennaio 2003 IGEA 02-03, (c) FdA 8
9 fabbriche di oggetti ciascuna specializzata per una determinata categoria di oggetti definite dal programmatore riusabili esistono migliaia di classi già pronte, organizzate in package ogni package contiene molte classi gennaio 2003 IGEA 02-03, (c) FdA 9
10 public class Ciao { public static void main(string[] args) { System.out.println("Ciao mondo!"); } } la classe Ciao è in realtà molto particolare e non cattura lo spirito delle classi vere non ha neanche la capacità di fabbricare oggetti per definire classi più interessanti occorrono vari altri ingredienti gennaio 2003 IGEA 02-03, (c) FdA 10
11 Rectangle package java.awt abstract windowing toolkit costruisce oggetti Rectangle dati: coordinate (intere) del vertice nord-ovest base altezza algoritmi: modifica la dimensione/posizione del rettangolo confronta rettangolo con altre forme geometriche test di intersezione/contenimento ecc. accedi ai dati gennaio 2003 IGEA 02-03, (c) FdA 11
12 Rectangle import java.awt.rectangle; // per usare la classe public class Rettangolo { public static void main(string[] args) { System.out.println(new Rectangle(10, 20, 100, 40)); } } l istruzione import consente di (ri)utilizzare una classe preesistente l operatore new causa la costruzione di un oggetto output: java.awt.rectangle[x=10,y=20,width=100,height=40] significa: oggetto di tipo Rectangle contenente i dati specificati gennaio 2003 IGEA 02-03, (c) FdA 12
13 sintassi: new <nomeclasse>(<parametri>); parametri: n = 0 dati, separati da virgole se 0 parametri le parentesi tonde sono comunque richieste esempio new Rectangle(10, 20, 30, 40); esercizi: quali parametri hanno senso? new Persona( ); new Esame( ); gennaio 2003 IGEA 02-03, (c) FdA 13
14 nomi simbolici associati ad aree di RAM contenenti dati regole per i nomi: sequenze di caratteri alfanumerici (lettera o cifra) è ammesso il carattere non alfanumerico '_' il primo carattere non può essere cifra maiuscole e minuscole differiscono CASA è un nome differente da casa non sono ammesse le parole riservate o parole chiavi (es. new, class ) gennaio 2003 IGEA 02-03, (c) FdA 14
15 nomi legali pippo, Pluto, Zorro2, A25, b2b, casa_mia, Informatica_Grafica, system_var, MiNeSTRone, New nomi illegali 3volte, mamma mia, 007, public consuetudine (ma non regola): i nomi delle variabili iniziano con lettera minuscola gennaio 2003 IGEA 02-03, (c) FdA 15
16 ogni variabile è contraddistinta da un tipo che specifica quali categoria di dati può essere immagazzinata nella corrispondente area di RAM intero, reale, stringa ecc. per ogni variabile usata deve esserne dichiarato il tipo ogni variabile deve essere inizializzata deve esserle attribuito un valore mediante assegnazione gennaio 2003 IGEA 02-03, (c) FdA 16
17 esempi int voto; dichiarazione di variabile intera voto = 28; inizializzazione int eta = 22; dichiarazione + inizializzazione una variabile inizializzata può subire altre assegnazioni, purché non sia stata dichiarata final final int voto = 28; la variabile non potrà subire ulteriori assegnazioni gennaio 2003 IGEA 02-03, (c) FdA 17
18 <nometipo> <nomevariabile>; <nometipo> <nomevariabile> = <espressione>; esempio: String s = "Informatica grafica"; gennaio 2003 IGEA 02-03, (c) FdA 18
19 il tipo è una classe tengono traccia degli oggetti creati esempio: Rectangle cucina; cucina = new Rectangle(0, 0, 30, 40); Rectangle bagno = new Rectangle (40, 0, 30, 35); gennaio 2003 IGEA 02-03, (c) FdA 19
20 ogni variabile oggetto inizializzata è un riferimento ad uno specifico oggetto cucina Rectangle x=0 y=0 width=30 height=40 gennaio 2003 IGEA 02-03, (c) FdA 20
21 Rectangle k = cucina; cucina k Rectangle x=0 y=0 width=30 height=40 gennaio 2003 IGEA 02-03, (c) FdA 21
22 import java.awt.rectangle; public class Rettangolo { public static void main(string[] args) { Rectangle cucina = new Rectangle(0, 0, 30, 40); Rectangle k = cucina; System.out.println(cucina); System.out.println(k); k.translate(10, 10); // invocazione metodo System.out.println(cucina); System.out.println(k); } } gennaio 2003 IGEA 02-03, (c) FdA 22
23 java.awt.rectangle[x=0,y=0,width=30,height=40] java.awt.rectangle[x=0,y=0,width=30,height=40] java.awt.rectangle[x=10,y=10,width=30,height=40] java.awt.rectangle[x=10,y=10,width=30,height=40] NB La maniera standard di invocare un algoritmo (metodo) su un oggetto è scriverne il nome subito dopo il riferimento all'oggetto, usando un punto separatore gennaio 2003 IGEA 02-03, (c) FdA 23
24 specificatore di accesso public, o altro nome classe per convenzione, inizia per lettera maiuscola (ma non è una regola!) costruttore/i (da sviluppare successivamente) operazioni che vengono svolte nelle creazioni di oggetti (istanziazioni) variabili istanza (o campi, field) dati contenuti negli oggetti metodi algoritmi che si possono invocare su ciascun oggetto (istanza) gennaio 2003 IGEA 02-03, (c) FdA 24
25 public chiunque può chiedere alla classe di costruire oggetti per poi utilizzarli esistono anche protected e private nome: stesse regole per la definizione dei nomi di variabili public class Contatore { } gennaio 2003 IGEA 02-03, (c) FdA 25
26 variabili contenute in ogni istanza dovrebbero essere incapsulate fisicamente nascoste all'utente dell'oggetto, il quale sa che esistono ma non può accedervi direttamente (ma allora come fa ad usarle?) incapsulamento = principio fondamentale dell'ingegneria del software, su cui si basa la programmazione o-o in pratica, spesso private: in tal caso, solo la classe stessa può accedervi direttamente gennaio 2003 IGEA 02-03, (c) FdA 26
27 si dichiarano all'interno della classe rispettando la sintassi della dichiarazione variabili sintassi: <specificatorediaccesso> <tipovariabile> <nomevariabile>; gennaio 2003 IGEA 02-03, (c) FdA 27
28 public class Contatore { } private int valore; una classe può contenere un qualunque numero (anche nullo) di variabili istanza gennaio 2003 IGEA 02-03, (c) FdA 28
29 specificatore di accesso public o altro specifica chi può invocare il metodo un metodo pubblico può essere invocato da tutti tipo restituito tipologia dell'output dell'algoritmo, ovvero tipo di informazione (numero, stringa, o altro) restituita dal metodo alla sua terminazione istruzione return return <espressione>; fa terminare il metodo in esecuzione e restituisce il risultato specificato gennaio 2003 IGEA 02-03, (c) FdA 29
30 nome solite regole parametri formali lista di variabili separate da virgole per ciascuna variabili si specifica il tipo costituiscono di fatto l'input dell'algoritmo corpo o implementazione istruzioni Java che realizzano l'algoritmo o che consentono l'accesso alle varabili istanza gennaio 2003 IGEA 02-03, (c) FdA 30
31 <specificatorediaccesso> <tiporestituito> <nomemetodo> (<tipoparametro1> <nomeparametro1>, <tipoparametro2> <nomeparametro2>, ) { } <istruzioni del corpo> gennaio 2003 IGEA 02-03, (c) FdA 31
32 public class Contatore { private int valore = 0; // var. istanza public int getvalore() { // no parametri return valore; } public void contasu() {// non restituisce info valore = valore + 1; // valore++; } } gennaio 2003 IGEA 02-03, (c) FdA 32
33 sintassi accesso a variabili istanza (se consentito) <riferimentooggetto>.<nomevari abileistanza> invocazione metodo (se consentito) <riferimentooggetto>.<nomemeto do>(<listaparametri>) parentesi obbligatorie, anche se non vi sono parametri da specificare gennaio 2003 IGEA 02-03, (c) FdA 33
34 Contatore contascatti = new Contatore(); System.out.println (contascatti.getvalore()); contascatti.contasu(); System.out.println (contascatti.getvalore()); gennaio 2003 IGEA 02-03, (c) FdA 34
35 definizione di una seconda classe che esegua istruzioni di collaudo scriveremo una classe TestContatore non istanzia oggetti! public class TestContatore { public static void main(string[] args) { Contatore uso di un contascatti ambiente = new di collaudo Contatore(); System.out.println(contaScatti.getValore()); interattivo (avanzato) contascatti.contasu(); System.out.println(contaScatti.getValore()); } } ad esempio, BlueJ ( gennaio 2003 IGEA 02-03, (c) FdA 35
36 un costruttore è un metodo il cui nome è eguale a quello della classe in cui è definito automaticamente eseguito quando una classe istanzia un oggetto new <nomeclasse>(<parametri>) attiva il costruttore della classe <nomeclasse> attivazione diversa dai metodi "normali", invocati tramite nome gennaio 2003 IGEA 02-03, (c) FdA 36
37 debbono la denominazione "costruttore" alla loro attivazione in fase di "costruzione" di un oggetto contengono istruzioni per inizializzare gli oggetti esistono in ogni classe anche se non li definiamo esplicitamente? gennaio 2003 IGEA 02-03, (c) FdA 37
38 <specificatorediaccesso> <nomeclasse> (<tipoparametro1> <nomeparametro1>, <tipoparametro2> <nomeparametro2>, ) { <istruzioni> } la sintassi è leggermente differente da quella di un metodo "normale" manca il tipo restituito gennaio 2003 IGEA 02-03, (c) FdA 38
39 determinano l'uso di new new <nomeclasse>(<e1>,,<ek>) se e solo se il costruttore <nomeclasse> ha k = 0 parametri formali i k valori sono detti parametri attuali i tipi dei k parametri formali corrispondono ordinatamente ai tipi dei k parametri attuali gennaio 2003 IGEA 02-03, (c) FdA 39
40 public Contatore(int inizio) { valore = inizio; } inizio è il parametro del metodo la variabile istanza valore dell'oggetto creato viene inizializzata con il valore contenuto nel parametro inizio new Contatore(<espressione>) <espressione> stabilisce il valore di inizio gennaio 2003 IGEA 02-03, (c) FdA 40
41 static benché le classi siano primariamente "fabbriche di oggetti" esse possono anche contenere variabili e metodi metodi e variabili statiche (static) sono risorse di classe: la classe, invece di un oggetto, può contenere, eccezionalmente, variabili e metodi è un uso "improprio" motivazioni discusse più avanti nel corso esempio rilevante: la classe Math gennaio 2003 IGEA 02-03, (c) FdA 41
42 Math classe standard di Java: java.lang.math non necessita import è automaticamente importata, come altre classi fondamentali (tutte quelle del package java.lang) contiene un gran numero di metodi numerici potenze reali, esponenziali, logaritmi, funzioni trigonometriche ecc. contiene le costanti matematiche e (costante di Nepero) e p gennaio 2003 IGEA 02-03, (c) FdA 42
43 costanti (variabili final) <nomeclasse>.<nomevariabile> es.: Math.E e Math.PI metodi <nomeclasse>.<nomemetodo> (<parametri>) es.: Math.sqrt(<espressione>), Math.cos(<espressione>) gennaio 2003 IGEA 02-03, (c) FdA 43
44 calcolo delle radici di un'equazione di 2 grado delta = b*b 4*a*c; r = Math.sqrt(delta); x1 = (-b + r) / (2*a); x2 = (-b r) / (2*a); se delta < 0? gennaio 2003 IGEA 02-03, (c) FdA 44
45 area del cerchio di raggio r r * r * Math.PI esponenziale e x Math.exp(x) log 10 x Math.log(x) / Math.log(10) gennaio 2003 IGEA 02-03, (c) FdA 45
46 tipi numerici interi, reali tipo booleano true, false caratteri simboli 'a', 'B', '$' stringhe "questa è una stringa" variabili oggetto riferimenti ad oggetti le variabili stringa sono riferimenti ad oggetti della classe String gennaio 2003 IGEA 02-03, (c) FdA 46
47 Keyword byte short int long float double char boolean Description (integers) Byte-length integer Short integer Integer Long integer (real numbers) Single-precision floating point Double-precision floating point (other types) A single character A boolean value (true, false) Size/Format 8-bit two's complement 16-bit two's complement 32-bit two's complement 64-bit two's complement 32-bit IEEE bit IEEE bit Unicode character true or false
48 int e double sono i più usati int: 32 bit in complemento a due double: 64 bit in virgola mobile le costanti numeriche sono di norma int o double è int è double 1.0 è double (3 miliardi) non è int, perché? gennaio 2003 IGEA 02-03, (c) FdA 48
49 +, -, *, /, % % definito fra interi: resto della divisione intera se operandi omogenei (stesso tipo), risultato omogeneo int + int dà int (rischio overflow) int / int dà int (inaspettato!) se operandi eterogenei si applica il principio della "conservazione dell'informazione" int * double dà double gennaio 2003 IGEA 02-03, (c) FdA 49
50 errore classico int a = 1; int b = 1; int c = 2; correzione: double media = (a+b+c) / 3; // assegna 1 double media = (a+b+c) / 3.; // assegna gennaio 2003 IGEA 02-03, (c) FdA 50
51 sintassi <nomevariabile> = <espressione>; i tipi debbono essere compatibili e non deve essere persa informazione tipi identici sono compatibili <variabile_double> = <valore_int>; (va bene) <variabile_int> = <valore_double>; (non va bene) gennaio 2003 IGEA 02-03, (c) FdA 51
52 boolean ammette i valori true (vero) e false (falso) esempio boolean pari = true; gennaio 2003 IGEA 02-03, (c) FdA 52
53 standard di documentazione: premettere ad ogni classe pubblica e a ciascun suo metodo pubblico un commento che ne descriva l'uso /** Il metodo serve a */ è possibile fare riferimento ai parametri (@param) e al valore restituito (@return) gennaio 2003 IGEA 02-03, (c) FdA 53
54 /** Il costruttore richiede la specifica della inizializzazione della variabile di start il valore iniziale del conteggio */ public Contatore(int start) { // costruttore inizio = start; valore = inizio; memoria = inizio; } gennaio 2003 IGEA 02-03, (c) FdA 54
55 javadoc sfrutta i commenti nel formato /** */ e costruisce automaticamente documentazione HTML delle classi e dei metodi uso: javadoc *.java aprire il file index.html gennaio 2003 IGEA 02-03, (c) FdA 55
56 This document was created with Win2PDF available at The unregistered version of Win2PDF is for evaluation or non-commercial use only.
introduzione alla programmazione in Java classi, oggetti ed altro
introduzione alla programmazione in Java classi, oggetti ed altro nomi file ed estensioni file.java: sorgenti Java creati con editor javac.exe: compilatore Java es.: per compilare il sorgente in pippo.java
DettagliUso 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
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere
DettagliElementi di Base. Introduzione a Python.
Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,
DettagliProgrammazione 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
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliL oggetto creato. Creazione di Oggetti. Rectangle: il concetto 10. Costruzione. Lo spazio di memoria del linguaggio Java. Rectangle: l oggetto
Usare e costruire oggetti Variabili e Oggetti Lo spazio di memoria di Java Le API di Java Gli oggetti sono entità di un programma che si possono manipolare invocando i metodi System.out oggetto della classe
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
DettagliINTRODUZIONE 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
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma
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
DettagliOggetti e dati primitivi 1
I membri delle classi Oggetti e dati primitivi Corso di laurea in Le classi contengono 2 tipi di membri, definiti per l intera classe o per le singole istanze Le variabili o i campi, che rappresentano
DettagliProgrammazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento
DettagliJava e i Tipi di dati primitivi. Parte 3
Java e i Tipi di dati primitivi Parte 3 La nozione di tipo di dato Il tipo del dato consente di esprimere la natura del dato Indica il modo con cui verrà interpretata la sequenza di bit che rappresenta
DettagliProgrammazione ad oggetti
DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Classi Una classe è un tipo strutturato. Gli oggetti sono istanze di classi. Una classe è composta da: ModalitàDiAccesso class
DettagliOggetti. Oggetti e classi. Utilizzo di classi. Classe
Oggetti Oggetti e classi Oggetto: entità che può essere manipolata nel programma mediante l invocazione di metodi Black box dotato di:! Interfaccia pubblica " Metodi visibili " Comportamento dell oggetto!
DettagliUsare e costruire oggetti. Concetti Fondamentali. Interfaccia Pubblica di una. Application Program Interface
Concetti Fondamentali Interfaccia pubblica di una classe Le API di Java Lo spazio di memoria della macchina astratta Java Blocchi e sottoblocchi Variabili di frame e loro visibilità Importazioni di classi
DettagliProgrammazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Struttura
DettagliJava Classi wrapper e classi di servizio. Classi di servizio
Java Classi wrapper e classi di servizio 1 Classi wrapper Concetti di base In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti. Una classe wrapper (involucro) incapsula
DettagliEsonero di Informatica I. Ingegneria Medica
Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l
Dettagli3) Descrivere l architettura di un elaboratore tramite astrazione a livelli
Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l
DettagliIL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate
Fondamenti di Informatica IL LINGUAGGIO JAVA Sintassi, Semantica, Input, Tipi Elementari e Istruzione Condizionale 1 Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per
DettagliUso 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
DettagliProgrammazione in Java e gestione della grafica. Lezione 6
Programmazione in Java e gestione della grafica Lezione 6 La scorsa lezione.. Operatori incremento/decremento ++ -- Istruzione while Riscritto programmi precedenti usando istruzione while Esercizio della
DettagliProgrammazione in Java (I modulo) Lezione 4
Programmazione in Java (I modulo) Lezione 4 Costanti Chiamiamo costanti tutti i valori numerici (interi o con la virgola), i caratteri e le stringhe. Esempio: 2, 3.7, 'y, buongiorno Le costanti numeriche
DettagliIntroduzione al linguaggio C
Linguaggio C Introduzione al linguaggio C Sistemi di sviluppo integrati Noti anche come IDE: Integrated Development Environment Un pacchetto software che permette di scrivere, preprocessare, compilare,
DettagliModulo 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
DettagliDefinizione 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
DettagliJAVA IL LINGUAGGIO. Ogni valore nel linguaggio ha un tipo Ogni variabile deve essere dichiarata ed associata ad un tipo:
JAVA IL LINGUAGGIO Tipi e variabili Ogni valore nel linguaggio ha un tipo Ogni variabile deve essere dichiarata ed associata ad un tipo: String greeting = "Hello, World!"; PrintStream printer = System.out;
DettagliI L IN I GU G AGG G I G O
JAVA IL LINGUAGGIO Tipi e variabili Ogni valore nel linguaggio ha un tipo Ogni variabile deve essere dichiarata ed associata ad un tipo: String greeting = "Hello, World!"; PrintStream printer = System.out;
DettagliLinguaggio Macchina. Numeri binari. E il linguaggio che il microprocessore comprende. In Esadecimale
Linguaggio Macchina Numeri binari In Esadecimale E il linguaggio che il microprocessore comprende 1 Numeri Esadecimali Sono composti con 16 simboli: 0 1 2 3 4 5 6 7 8 9 A B C D E F Un numero di 4 cifre
DettagliJava Classi wrapper e classi di servizio. Classi di servizio
Java Classi wrapper e classi di servizio 1 Ereditarietà - recap Una classe può derivare da un altra - extends Eredita metodi e attributi (non i costruttori) Aggiunge attributi e metodi, ma può anche ridefinire
DettagliDefiniamo la prima classe vera. Concetti fondamentali 2. Il corpo del metodo. Definizione di un metodo
Concetti fondamentali 2 Definiamo la prima classe vera Definizione e chiamata di metodi Collaudo di una classe Packages Uso delle variabili istanza Seguire l'esecuzione punto per punto Semantica della
DettagliCapitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61
Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli
DettagliMetodi e variabili istanza
Metodi e variabili istanza Definizione e chiamata di metodi Uso delle variabili istanza Documentazione del codice 29/10/2004 Laboratorio di Programmazione - Luca Tesei 1 Definiamo la prima classe vera
DettagliCorso 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
DettagliGli oggetti. Ogni oggetto ha un interfaccia e ogni oggetto ha un tipo. Incapsulamento. Oggetti. Contatore. Invio di Messaggi
Gli oggetti Linguaggi di Programmazione: Paradigmi di Programmazione (Sperimentazioni) Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-149 Torino Ogni
DettagliTIPI 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
DettagliRiassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1.
I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 2 28 settembre
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
DettagliTipi di dato semplici
Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma
DettagliFondamenti 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
DettagliDichiarazioni e tipi predefiniti nel linguaggio C
Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:
DettagliCorso di Fondamenti di Informatica Università degli Studi di Cassino
Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la
DettagliProgrammazione in Java (I modulo) Lezione 3: Prime nozioni
Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo analizzato riga per riga due semplici programmi Java. Abbiamo provato a usare l editor
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliInformatica Applicata
Ing. Irina Trubitsyna Elementi di base di un programma Dichiarazione dei dati in un programma Sommario Panoramica Elementi di Base di un Programma Struttura Direttive Elementi Sintattici di Base Commenti
DettagliIntroduzione Programmazione Java
Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea
Dettagli14 - Metodi e Costruttori
14 - Metodi e Costruttori 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
DettagliOCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
DettagliStruttura dei programmi e Variabili
Linguaggio C Struttura dei programmi e Variabili 1 La struttura generale dei programmi! Struttura del programma: Direttive Funzioni Dichiarazioni Istruzioni Di assegnamento direttive Di ingresso e uscita
DettagliUtilizza 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
DettagliFondamenti 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
DettagliOggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto.
Classi e oggetti Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto. OOP Vantaggi facilità di lettura e di comprensione
DettagliTipi di dato semplici
Tipi di dato semplici Informatica B Tipi di dati q In C esistono diversi tipi di dato built-in, tra cui int: numeri interi float: numeri con virgola (singola precisione) double : numeri con virgola (doppia
DettagliLinguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi
Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori
DettagliFondamenti 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
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliI Metodi. Fondamenti di Informatica A-K
I Metodi Fondamenti di Informatica A-K Esercitazione 3 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti, costruttori,
DettagliJava. Java: compilatore e interprete. Programma Java. Java Virtual Machine. Token. Alfabeto
Java Java: compilatore e interprete Il linguaggio Java è un linguaggio di programmazione ad alto livello - algoritmo: astrazione della realtà - linguaggio di programmazione: astrazione del processore -
DettagliProgrammazione ad Oggetti. Java Parte II
Programmazione ad Oggetti Java Parte II Overview Caratteristiche lessicali Il primo programma Java 1 Commenti /* Commento tradizionale, eventualmente su più linee, non nidificato */ // Commento su di una
DettagliBasi 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
DettagliCorso 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
DettagliQuesti 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
DettagliTipi di dato e variabili. Walter Didimo
Tipi di dato e variabili Walter Didimo Tipi di dato I dati che possono essere manipolati in un programma si classificano in tipologie differenti, chiamate tipi di dato Esistono due macro tipi di dato in
DettagliLe 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
DettagliProgrammazione 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
DettagliElementi del linguaggio Python
Elementi del linguaggio Python Informatica@SEFA 07/08 - Lezione Massimo Lauria http://massimolauria.net/courses/infosefa07/ Venerdì, 9 Settembre 07 Tipi numerici e calcoli In
DettagliBasi della programmazione in Java
Basi della programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliJava secondo contatto. Nel tunnel una luce
Java secondo contatto Nel tunnel una luce 1 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche: Il metodo getvalore ritorna il valore attuale (intero) Il metodo contasu
DettagliFondamenti di Informatica T-1. Introduzione al linguaggio Java Input/output, variabili, tipi
Introduzione al linguaggio Java Input/output, variabili, tipi 2 Programmi e linguaggi Algoritmo sequenza finita di passi per risolvere in un tempo finito un problema Linguaggio di programmazione notazione
DettagliProf. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi
DettagliA. 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),
DettagliIl linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1
Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali
DettagliIntroduzione 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
DettagliJava. Java : compilatore e interprete. Programma Java. Java Virtual Machine. Il linguaggio Java è un linguaggio di programmazione ad alto livello
Java Il linguaggio Java è un linguaggio di programmazione ad alto livello algoritmo: astrazione della realtà linguaggio di programmazione: astrazione del processore variabile e tipo: astrazione della locazione
DettagliJava. Java : compilatore e interprete. Programma Java. Java Virtual Machine. Token. Alfabeto
Java Il linguaggio Java è un linguaggio di programmazione ad alto livello algoritmo: astrazione della realtà linguaggio di programmazione: astrazione del processore variabile e tipo: astrazione della locazione
DettagliMETODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi
Fondamenti di Informatica METODI in Java Prof.Angela Bonifati 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile definire nuovi tipi di dati, tramite i metodi è possibile
DettagliCaratteristiche 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
DettagliAutore: Prof. Agostino Sorbara ITIS "M. M. Milano" Polistena (RC)
con questo nome si indica in genere un pezzo di programma, dotato di una propria identità: un modulo, ad esempio, potrebbe essere l insieme di alcune funzioni C, o Pascal, che risiedono in un unico file
DettagliPrima lezione di laboratorio. I mattoni di base di un programma Java. Comandi Unix. Riassunto. Oggi. Un programma complicato.
I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 2 1 ottobre
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Input/Output, Variabili, Tipi e Stringhe Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 26 TUTOR Angelo Feraudo
DettagliFondamenti di informatica T-1 (A K) Esercitazione 7: metodi, classi, oggetti
Fondamenti di informatica T-1 (A K) Esercitazione 7: metodi, classi, oggetti AA 2018/2019 Tutor lorenzo.rosa@unibo.it 2 Esercitazione 7 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo
DettagliAlgebra 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
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Cosa è un calcolatore? Hardware Processore Memoria Periferiche Funzionamento Esegue istruzioni elementari Esegue istruzioni molto velocemente Deve essere programmato Il
DettagliProgrammazione 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.
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliSTRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA.2.2 Operare con i dati Prerequisiti Concetti matematici di: Espressione Operatore 2 Introduzione Le variabili utilizzate da un programma vengono usate con operatori
DettagliFondamenti 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
DettagliCapitolo 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
DettagliSTRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
DettagliConcetto 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
DettagliJava: introduzione. /** * CiaoMondoApp.java * La solita classe banale. import java.lang.*; // predefinita. class CiaoMondoApp
Java: introduzione Struttura fondamentale.................................. 1001 Commenti...........................................1002 Nomi ed estensioni................................... 1002 Istruzioni...........................................
DettagliProgrammazione. Tipi di dato primitivi. Francesco Tiezzi. Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino
Programmazione Francesco Tiezzi Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino Lucidi originali di Pierluigi Crescenzi Programmazione Concetti base Dati Variabile Tipo Istruzioni
Dettagli