+ All Categories
Home > Documents > Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

Date post: 02-May-2015
Category:
Upload: luigina-bianchi
View: 228 times
Download: 0 times
Share this document with a friend
29
Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA
Transcript
Page 1: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Corso JAVA

Page 2: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

2

Le Basi della programmazione

I mattoni fondamentali della programmazione sono sostanzialmente: I dati Le istruzioni.

I dati sono costituiti dalle costanti e dalle variabili, che come vedremo in seguito possono essere utilizzate singolarmente o raggruppate in quelle che vengono comunemente chiamate strutture dati.

Le istruzioni sono l’insieme delle operazioni che si possono effettuare sui dati.

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 3: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

3

I tipi fondamentali di dati

Iniziamo a vedere quali tipi di dati, ovvero costanti e variabili, si possono utilizzare per risolvere un problema.

Ripetiamo che una variabile è una locazione di memoria, contenente dati che possono essere modificati nel corso del programma, a cui viene associato una lettera o un nome. Una costante invece mantiene sempre lo stesso valore assegnatole durante la sua fase di dichiarazione.

In Java esistono 8 tipi primitivi:

4 tipi per i dati numerici che rappresentano numeri interi.

2 tipi per i dati numerici che rappresentano numeri in virgola mobile

1 tipo per i dati booleani (vero/falso)

1 tipo per i dati letterali (caratteri, parole, simboli di punteggiatura, ecc…).

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 4: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

4

Tipi di dato – Numeri Interi

Abbiamo detto che per i tipi di dato che rappresentano numeri interi esistono 4 tipi : byte, short, int, long.

Ognuno di questi tipi indica quanti bit sono impiegati per memorizzare il numero che la variabile rappresenta:

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Tipo N° di bit Range di numeri interi rappresentabili

byte 8 bit Da –128 a 127

short 16 bit Da –32.768 a 32.767

int 32 bit Da –2.147.483.648 a 2.147.483.647

long 64 bit +/- 9 miliardi di miliardi

Page 5: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

5

Tipi di dato – Numeri in virgola mobile

I tipi di dato che rappresentano numeri in virgola mobile possono essere dichiarati utilizzando due tipi:

Solitamente si utilizza il tipo float per dati che devono contenere numeri con la virgola, mentre il tipo double si utilizza soprattutto il quelle applicazioni per cui occorre una precisione maggiore, es. applicazioni in ambito accademico/scientifico.

Durante il nostro corso difficilmente utilizzeremo il tipo double, mentre vedremo spesso dati dichiarati come float.

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Tipo N° di bit Range di numeri rappresentabili

float 32 bit Numeri da 1,4e-45 e 3,45e38

double 64 bit Numeri da 4,9e-324 a 1,7e308

Page 6: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

6

Tipi di dato – I Booleani e i Caratteri

Il tipo di dato bool serve per dichiarare dati che durante la loro esistenza possono assumere solo due valori: Es.: 1 o 0, Vero/Falso, Acceso/Spento

Il tipo di dato char serve per dichiarare caratteri quali lettere, numeri, segni di punteggiatura ed altri simboli.

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Tipo N° di bit Valori rappresentabili

boolean 1 bit 0 e 1

char 16 bit Lettere, segni di punteggiatura, ecc..

Page 7: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

7

Il nostro 1° programma Java

Proveremo adesso a fare in nostro primo programma Java che effettua la somma tra due numeri e vedremo come funzionano le variabili.

Per scrivere i nostri programmi ed eseguirli utilizzeremo un ambiente integrato di sviluppo (IDE): la versione 4.1 di Netbeans.

Avviate Netbeans 4.1 e dal menù File scegliete New Project.

Dalla categoria General scegliete Java Application ed in seguito il pulsante Next.

Cambiate il nome del progetto in Somma, controllando che il percorso delle cartelle Project Location e Project Folder sia corretto, e cliccate su Finish.

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 8: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

8

Il nostro 1° programma Java (2)

Istituto Statale di Istruzione Superiore “F. Enriques”

Corso di Programmazione in Java – Lezione n° 02

Page 9: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

9

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Questa a fianco è la base di partenza che utilizzeremo ogni volta per iniziare un nuovo programma.Per adesso i ns. programmi li scriveremo all’interno delle parentesi graffe, introdotte dalla dicitura:

public static void main (String[] args){ Il nostro programma}

Il nostro 1° programma Java (3)

Page 10: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

10

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Il nostro 1° programma Java (4)

Inizio

a

somma = 0

somma = a + b

b

somma

Fine

Questo è il semplicissimo diagramma a blocchi di un programma che effettua la somma di due numeri a e b e ne restituisce la somma.

I dati in input sono a e b.Il dato in output è somma.

Ci sono due variabili fornite dal problema a e b, e una variabile introdotta per risolvere il problema: somma.

Vediamo adesso come tradurre questo diagramma a blocchi in un programma.

Page 11: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

11

Il nostro 1° programma Java (5)

Inizio

a

somma = 0

somma = a + b

b

somma

Fine

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Il simbolo si traduce, per adesso, public static void main (String[] args){

Mentre il simbolo si traduce semplicemente nella parentesi graffa chiusa.

Inizio

Fine

Page 12: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

12

Inizio

a

somma = 0

somma = a + b

b

somma

Fine

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Il nostro 1° programma Java (6)

Si devono sempre dichiarare le variabili che siutilizzano: in questo caso le variabili sono trea, b e somma che vengono definite come int

Page 13: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

13

Il nostro 1° programma Java (7)

Inizio

a

somma = 0

somma = a + b

b

somma

FineIstituto Statale di Istruzione Superiore “F. Enriques”

E’ sempre bene inizializzare le variabili, ovverodopo averle dichiarate, assegnargli un valore iniziale

Corso di Programmazione in Java – Lezione n° 02

Page 14: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

14

Inizio

a

somma = 0

somma = a + b

b

somma

FineIstituto Statale di Istruzione Superiore “F. Enriques”

Corso di Programmazione in Java – Lezione n° 02

Il nostro 1° programma Java (8)

Si esegue l’operazione somma…

Page 15: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

15

Inizio

a

somma = 0

somma = a + b

b

somma

FineIstituto Statale di Istruzione Superiore “F. Enriques”

Corso di Programmazione in Java – Lezione n° 02

Il nostro 1° programma Java (9)

L’istruzione System.out.println(“testo”); serve per stampare a video un messaggio.Quello scritto tra i doppi apici “ ” viene scritto così come lo digitate da tastiera, il simbolo + serve per indicare che in seguito deve aggiungere al messaggio il valore della variabile

Page 16: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

16

Un volta scritto il nostro programma occorre compilarlo, ovvero Netbeans provvederà a controllare ciò che avete scritto e cercherà di trovare eventuali errori.

Ci sono alcuni errori che è in grado di riconoscere, ad esempio se manca il “;” al termine di ogni istruzione, mentre altri errori non è in grado di riconoscerli.

Compilare un programma significa tradurlo da un linguaggio naturale comprensibile dall’uomo ad un linguaggio macchina comprensibile dal computer (cioè une serie di 0 e 1).

Per compilare si clicca su Build MainProject (Cerchio Rosso) mentre per eseguirlosu Run Main Project (Cerchio Giallo).

Prima di passare all’esecuzione controllate che la compilazione sia andata a buon fine, cioè nella sezione in basso deve comparire la scritta BUILD SUCCESSFUL

Corso di Programmazione in Java – Lezione n° 02

Il nostro 1° programma Java (10)

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 17: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

17

Se tutto è stato fatto correttamente dopo aver cliccato su Build, dovreste ottenere un risultato simile:

Se avete ottenuto BUILD SUCCESSFUL potete cliccare su Run e dovreste ottenere un risultato simile:

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Il nostro 1° programma Java (10)

Come si vede la somma è stata eseguita correttamente!!!

Page 18: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

18

Le costanti

Nel nostro primo programma Java abbiamo utilizzato tre variabili a,b, e somma; parlando però dei dati abbiamo parlato anche di costanti.

Come si capisce che un dato è una variabile o una costante, ovvero un valore che non cambia mai?

Prendiamo il caso di un programma che calcola l’area di un cerchio.

La geometria insegna che l’area di suddetto cerchio si calcola con Πr2.

Ma il valore di Π è sempre 3.1415926535……

Quando si dichiara una costante, a differenza di una variabile, faremo precedere la dichiarazione dalle seguenti parole chiave: Final.

Es. final double PI = 3.1415926335;

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 19: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

19

Esempio – L’area del cerchio

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Da adesso potete usare l’identificatore PI tutte le volte che avete bisogno del valore del Π.

Se provate ad assegnare un nuovo valore alla costante PI il compilatore vi restituirà un errore!!

Page 20: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

20

I Vettori (gli Array)

I vettori (gli array) fanno parte delle strutture dati di base di un linguaggio di programmazione.

Abbiamo detto che le strutture dati non sono altro che un raggruppamento di variabili; in particolare gli array sono costituiti dall'aggregazione di un certo numero di variabili, individualmente accessibili tramite un indice.

Per capire l’utilità degli array riprendiamo l’esempio che abbiamo fatto nella lezione precedente: la ricerca dello stipendio più alto.

Lasciando perdere il nome ed il cognome dei dipendenti, nel ns. programma dovremmo avere la dichiarazione di 100 variabili per gli stipendi:

Int stipendio000;

Int stipendio001;

Int stipendio002; … ecc… fino a stipendio099

Istituto Statale di Istruzione Superiore “F. Enriques”

Corso di Programmazione in Java – Lezione n° 02

Page 21: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

21

Un array (a una dimensione) può essere immaginato come un casellario costituito da un certo numero di celle. Le celle si comportano individualmente come variabili tradizionali (ovvero possono essere assegnate, lette, e così via). Tutte le celle di un array sono variabili dello stesso tipo, detto tipo base dell'array.

Es.: Variabili tradizionali: Stipendio000 Stipendio001 ecc…

Array:Stipendio

0 1 2 3 4 5 6 7 ……

Corso di Programmazione in Java – Lezione n° 02

I Vettori (gli Array) (2)

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 22: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

22

Per dichiarare un array scriveremo:

Es.: int stipendi[]; dichiaro che stipendi è un array di int.

stipendi = new int[100]; mi serve per indicare quante “celle” deve avere il ns. array.

Da adesso in poi ogni cella dell’array può essere utilizzata nello stesso modo in cui avreste utilizzato una variabile.

Es. Lo stipendio del dipendente n° 15 è di 1.200€, per assegnate quel valore alla cella n° 15 non farete altro che:

stipendi[15] = 1200;

oppure voglio stampare il valore dello stipendio del dipendente n° 37:

System.out.println(“Stipendio dipendente n° 37 = ” + stipendi[37]);

Corso di Programmazione in Java – Lezione n° 02

I Vettori (gli Array) (3)

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 23: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

23

Corso di Programmazione in Java – Lezione n° 02

I Vettori (gli Array) (4)

Istituto Statale di Istruzione Superiore “F. Enriques”

Per utilizzare un array occorre quindi:

1) Dichiararlo

2) Crearlo

3) Inizializzarlo

4) Utilizzarlo come una qualsiasi variabile

Page 24: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

24

Fate molta, molta attenzione quando utilizzate gli array, agli indici.

Dovete stare attenti a non andare oltre il limite di capacità dell’array per non incorrere in errori (eccezioni).

Se nell’esempio precedente pongo i = 15 ottengo il seguente risultato:

In particolare ricordatevi che gli indici si iniziano a contare da zero.

Quindi un array creato con new stipendi[100] contiene le celle

da stipendi[0] a stipendi[99]!!!

Corso di Programmazione in Java – Lezione n° 02

I Vettori (gli Array) (5)

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 25: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

25

Le istruzioni

Le istruzioni sono le informazioni che devono essere fornite ad un computer per poter elaborare dei dati e risolvere problemi:

Abbiamo visto la più naturale delle istruzioni negli esempi precedenti, ovvero l’assegnamento di un valore ad una variabile:

Es. A = 32; Somma=0; stipendi[15]=1200; ecc…

Vedremo adesso le istruzioni condizionali ed iterative, e la loro relazione con i diagrammi a blocchi.

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 26: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

26

Traduzione della selezione:Il comando IF .. ELSE

si no

Gruppo di Istruzioni 1

Nell’esempio della somma tra due numeri abbiamo visto come si traducono i simboli inizio e fine e come si fanno gli assegnamenti dei dati di input e come si stampano i risultati di output.

E se troviamo il simbolo della selezione come si traduce? Con If .. else

Condizione

Gruppo di Istruzioni 2

Istituto Statale di Istruzione Superiore “F. Enriques”

If (Condizione)

{ Gruppo istruzioni 1; }

Else

{ Gruppo istruzioni 2; }

Corso di Programmazione in Java – Lezione n° 02

Page 27: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

27

Riprendendo l’esempio del semaforo:

Traduzione della selezione:Il comando IF .. ELSE (2)

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Di che coloreè il semaforo

Rosso Non rosso

Giallo Verde

Freno

PassoAccelero / Freno

Di che coloreè il semaforo

If (Colore semaforo = Rosso){

Freno;}Else{

If (Colore semaforo = Verde){

Passo;}Else{

Accelero/Freno;}

}

Page 28: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

28

Il comando for serve in quei casi in cui si utilizzano i cicli, in particolare le ricorsioni che usano i contatori, ovvero per tradurre blocchi del tipo:

Traduzione della iterazione:Il comando FOR

Inizializzazione

Gruppo di Istruzioni

Condizione

Incremento

vero

falso

For ( inizializzazione; condizione; incremento)

{

Gruppo di Istruzioni;

}

Ricordatevi sempre che il gruppo di istruzioni dentro le parentesi viene eseguito se la condizione è vera!!!

Corso di Programmazione in Java – Lezione n° 02

Istituto Statale di Istruzione Superiore “F. Enriques”

Page 29: Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques” Corso JAVA.

29

Nella scorsa lezione abbiamo visto il più semplice esempio di ricorsione:

Traduzione della iterazione:Il comando FOR (2)

Corso di Programmazione in Java – Lezione n° 02

i = 0

i < 100

inizio

i = i + 1Stampa i

vero

falsofine

Istituto Statale di Istruzione Superiore “F. Enriques”

public static void main (String[] args)

{

int i;

for(i=0; i<100; i++)

{

System.out.printnl(i);

}

}

Inizializzazione

Incremento

Condizione N.B. Scrivere i = i +1; o i++; è la stessa cosa


Recommended