Anteprima
Vedrai una selezione di 10 pagine su 165
Appunti Java Pag. 1 Appunti Java Pag. 2
Anteprima di 10 pagg. su 165.
Scarica il documento per vederlo tutto.
Appunti Java Pag. 6
Anteprima di 10 pagg. su 165.
Scarica il documento per vederlo tutto.
Appunti Java Pag. 11
Anteprima di 10 pagg. su 165.
Scarica il documento per vederlo tutto.
Appunti Java Pag. 16
Anteprima di 10 pagg. su 165.
Scarica il documento per vederlo tutto.
Appunti Java Pag. 21
Anteprima di 10 pagg. su 165.
Scarica il documento per vederlo tutto.
Appunti Java Pag. 26
Anteprima di 10 pagg. su 165.
Scarica il documento per vederlo tutto.
Appunti Java Pag. 31
Anteprima di 10 pagg. su 165.
Scarica il documento per vederlo tutto.
Appunti Java Pag. 36
Anteprima di 10 pagg. su 165.
Scarica il documento per vederlo tutto.
Appunti Java Pag. 41
1 su 165
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

/I

publlc dau CI_Principale CluwPrlnclpale

publk das.s

I publlc ltalk vold mal n(S tril,lg[J '1'8') I publlc stalle vuld !TI.Iln(Strl ng[] IrgS)

I C

•• sseS«ond ....

la t a l ; I CllI$$fStcondlriaZ fSlj

alSK5«ondar1al a~ndarlal a l :

f;52;

Il •.. Il ",

- primo compila, con generazione del file ClDuePrincipale,closs,

C&.c;o:

ClasseSecoruluna l .class, ClasseSecondariD2.clan

(rispetto

- secondo caso al primo caso, nel metodolPlain() sono In\'e rtile le due istruzioni):

• CluneSecondaria2 .

non compila, In quanto non tTO\'S nessun fil e di nome

• Soluzione sicura:

- classe princi pale: contenuta in un file avente lo stesso nome della principale;

ellISSe

secondaria: della

- dlllO.'ile contenu ta o nel file classe p rincipale, o In un proprio file

annte nome della dasse secondaria stessa.

il G. Frosini Slide 6

CODIFICA UNICODE

• Caratteri unicode:

su

- codificati su 16 bit;

I primi 128 caratteri più 7 bit significativi, numeri 0- 127) coincidono

(al

caraU~ri

i

con ASCO, anche se le loro codifiche usano un numero diverso

bit

di

- I primi 256 caratteri (al più 8 bit significativi, numeri O - 2SS) coincidono

latin-l ,

con caratteri anche se le loro codifiche usano un numero diverso

i

di bit espresso

unicode

- un carattere può anche essere con una sequenza di

che usa solo caratteri ASCO:

cscape, cifra

\uaaaa a

con ASC II esadecimale

• lett~rali

Commenti, identificatori, carattere e letterali stringa:

unicode

- utilizzano caratteri (o sequenze di escape).

• Altri elementi di un programma:

- utilizzano caratteri ASCII.

• G. Frosini Slide 10 •

TIPI

• Tipo: insieme di valori e insieme di operazioni su quei valori

• Linguaggio Java:

~ostanti, tipo

variabili, espressioni hanno tutte un nolo a tempo di

- slrongly IJped:

compilanonl',

• Tipi primilivi:

- tlpo boolealli

- Ilpl numerid:

ttn''':

IIpl "ln1

_ Il,,, in' blt),chor

(int eri 8 bit)"hUN (inttri Ili bil), (illl.,ri 32 bili, lo", (Interi 64 (earalleri In

codil'ie. unicode, natunli su bi t);

Il 16

Ilpl " n oa tina" :

(ll H\KInen le);

/1001 bit: 24 IIUInlissa, 8 ",ponente), d/JuM, (M hll: mantlga , Il

- §j

• Tipi riferimento:

- tipi enumerazione (non fraU atl) •

- tipi array;

- tipi classe;

tlpllnterfacc:Ja. il il (che stringhe

i Slri"g

tipo

• Nota: Cra tipi classe, compreso rappresenta

costanti). G. Froslni Sfide 11

ESPRESSIONI •

• Espressione: assignalo

producc un valore che viene (come nuol'O contenuto) a una l'arlablle:

b,~:

h)l r , a.

r • (a+b)·c;

• Conversione di tipo:

di tipo

- valore un operando (esempio: renderlo deUo stesso dell'altro operando);

s'esso

- valore prodotlo un'espressione (esempio: renderlo dello di quello deUa

tipo

da c.-\.o

variahile~uil'ieneassegnato). ~Co ~~ ., ;o;..o.(.. ~~

,.- '..... .....

• Conversione automatica di tipo (wide"ing conversion):

- nell'ambito degli interi e dei noating, \'erso quelli che usano un maggior numero di bit per

rappr~ntazione,

la con nessuna perdita di infonnazione:

- da IDtero a noating (non viccl'ersa), con nessuna perdita sull'ordine di grandezza, ma con

una eventuale perdita di precisione.

Casting

• Conversione esplicita di tipo o nuovo tipo fra parentesi tonde):

(il

tipo

- da un tipo numerico a un altro quaiunque numerico:

Inl I: doublt d:

C~é: ; -(;"~

_

_

'

)<LiL-__ ____________-----'

;, =- •

G. Frosini Sfide 13

FORMA DI UNA CLASSE (3)

• Membro (variabile, costruttore, metodo):

comunque visibile dal costruttore e dai metodi della classe;

con modificatore accesso (o assenza modificatori accesso): visibile

public

di di di

anche alle altre classi;

con modificatore accesso visibile alle altre classi.

di D't"

pril'ate:

• Situazione tipica

variabili: modificatore private;

costruttore: modificatore publicj

metodi:

• se operazioni sugli oggetti c1as;>c, modlf1catore

rapp~ntano Pllblic;

• se costituiscono funzioni utilità, modificatore

di private.

• Overloading: •

Costruttore e metodi possono essere sovrapposti:

stesso nome, ma dh'crsafinna (argomenti diversi in numero clo_tipo eLo_OI:dine) (non

il

è influente tipo del risultato). G. Frosini Slide 6

5nll ".., . 1\

"Ntlo>

",I("

pY:~ll~e... \W.v-vbV<l

n

G .. otto

V.blic.. "'­

J. re)

(uLe.'\;"O(.; ~

0re..l+.

Se DC;c;t\J1 c.\àO

ç"

v.;O..kc..o

p"bl'c

Q...~ ~.(.,l) wN~otJ i 1.J1l'~Th-

l''''" s€... tH

VALORE INIZIALE DELLE VARIABILI •

• Classe: tipo

le variabili assumono un ,:alore iniziale di default (O se di numerico,Jal5e se di

~rim ~);

null

tipol!,ooleano, se di un tipo ­

le variabili possono avere un valore iniziale determinato da un'espressione;

quando viene creato un oggetto classe, la copia delle variabili di quell'oggetto

.valore iniziale default o quello determinato dal calcolo delle

assume anzitutto il

di

espressioni inizializzazione, che può poi essere aggiornato dal costruttore:

class UnII

prinlte a., 5; private b ., 1;

int lnl

public Uno()

=

I b 2; I

publlc void s!ampaO ,

Console.scnvHnt~ro(a);

I Consolc.scriviIntcro(bl: I

1/ ••. b

alfa

publlc cLass ProvaU ~

Siampa()

I public static void main(String/"] args)

( Uno alfa" ncw Uno();

Il

IIlfa.stampaO: stampa 5 e 2 •

SIide7

G. Frosini

D:lDatilwolkspaccINetBeansProlcctslMiolsrcNalorelnizialeDeraulljava

l / ,

2 • VALORE I NIZIALE DELLE VARIABILI

3 '/

4

5 / '

6 • Valore di default:

• O (zero) se di tipo numeri co

7 • false se booleano

8

• • null se riferimento

,/

O

,

l clasa Uno{

I/Var. Membro Private:

3 1/ visibili dal costruttore e metodi della classe

4

• 1/ Non Visibili da altre classi

5

6 pr ivate i nt a _ 5;

7 private int b • l;

8

• / I

O Costruttore

Il

, Se visibil ità non specificata . public di default

l ~<L 4R<;o~"".,-i

.....->e... roR'HA.lA.·

publi c Uno(){

3 Il

b • 2; Sovrascrive il valore iniziale di b

4 Il

}

5 Ogni vol t a che viene invocato il costru ttore

6 1/ Me todo pubblico che nn ritorna risul tati (voidl

7

~8

• public void stampa() {

O

, Cons ole.scrlviStr(~a~");

l Console.scrivilntero(al;

Conaole.8c r i viStr ("b:"1;

3 Console.scrivilntero(bl;

4

5 IllF ine Uno

class

6

7 Il

8 CLASSE principale publica

9 publ ic class ValoreInizialeDefault {

O

1 Il Funzione ma in() pubblica s tat ica vuota

2 publi c stati c void main (String arge[l l {

3 Il

4 Definizione di varo classe

• or 2

l.l 2010.02.1 7 12:08:34 ..

D:/DalllworksoaceINeIBeansProlectsIMiofsrclVaiorelnizialeDefaull.lava

5

6 Uno alfa;

7

• Il Creazione oggetto classe

...-Se-~

9 Il stampa a _S, b _ 2

alfa - new Uno () ;

O

1 Il

2 Oppure contestualmente

Il

3 Uno alfa . new Uno;

4 Il

5 Richiamo il metodo stampa tI

6 Il specificando la varo classe che rifer isce l'ogget t o classe

Il

7 e applicando il metodo stampa() tramite la notazione a punto

8 a lfa.stampa() ; •

9 /I

O } Fine main ()

.~. (~~>e P", vc;..~

f

Il

1 } •

or

2.1 2 2010.02. 17 12:08:34

COSTRUTTORI

• Classe: può non avere alcun costruttore (esplicito): (costrullor~ d~/dUIl);

questo caso esiste un costruttore è

- ID Implicito

costruttore auone.

- Il Implicito IlQn ha argomenti e non compie alcuna

può avere un solo costrullore (anche senza argomenti);

può avere plil costruitori, che differiscono in elo tipo elo ordine degli

nU[J)ero

Ho .

(o~erloadi1tg). ~ ~

ronnall Ccc;fvV

argomenti

• Classe senza costruttore, o con un costruttore senza argomenti

formali:

- la creazione di un 'istanza avviene senza specificare argomenti attuali:

gli

= UnaCIa.~;

UnaClasse new

DC

• Classe con uno o più costruttori, tutti con argomenti formali:

• è

non lecito creare un'istanza senza specificare gli argomenti attuali:

=

AltraClasse ae new AltraCIassc(argomentiAltuall); G. Frosini Slide 8

METODI

• Metodo: membro di una classe che ha forma di funzione.

- Intestazione e corpo.

• Valore di ritorno di un metodo (che non sia un metodo costruttore):

~old;

il

- può non essere presente, e In questo caso metodo viene definilo

Pllbllc void lInMttodo(lnl n)

I ... I è

- può essere presente, e in questo caso costituito dall'espressione che compare in una

istruzione retUni presente nel metodo stesso:

Pllblie doublt IlltroMttodo{doubLt ;>;) UittoJ.:, ( )

I /I •• '

bit y;

dOli +

nlum ;>;·x y.y: \

retum:

• Istruzione \{.-tU

- provoca la terminHzione di un mctodo; Vv_ . .

l'

un metodo possono esservi più istruzioni return;

- in 1

- l'espressione può non essere presente, e in questo ca....o Il metodo non produce

rfsuUato;

• - può essere usata anche in un costruttore, purché senza CSI)cessione •

G. Frosini Slide 9 •

CLASSE Punto

• Esempio:

cllISS Punlo

( priVIIlt doublt x, SlalO

y; 1/

Il

publle Punlo (dooblc a, doublc b) «ISlrullor/:"

( x '" a;

y _ b;

I 11

publlc double dislanll O dlstJinza

mtIMO: calcolllia dllU'originr

I Math.sqrt(x·x y·y),

+

rflum

I Irasllllon~doobl e Il

publlc vold I) metodo: IrllSla le coordinale de{ punlo d ella I

qUllDlitll'

( J.-Il

+-

Y I;

• Gli dal costruttore;

oggetti classe vengono creati

è...fublic. •

gli

- poiché Il costruttore oggetti possono venir creati fuori della classe.

• Per oggetti classe creati fuori della classe:

gli I

- si possono utilizzare metodi e In quanto

<
Dettagli
Publisher
A.A. 2016-2017
165 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher antolepore di informazioni apprese con la frequenza delle lezioni di Algoritmi e programmazione avanzato e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Torino o del prof Visaggio Giuseppe.