24
Java base I: Java base I: Sintassi e tipi di Sintassi e tipi di dati dati

Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Embed Size (px)

Citation preview

Page 1: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Java base I:Java base I:Sintassi e tipi di datiSintassi e tipi di dati

Page 2: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Argomenti

• Elementi fondamentali della sintassi Java

• Tipi di dati di Java

• Gli operatori

Page 3: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Obiettivi

• Familiarizzare con la sintassi Java

• Conoscere i tipi di dati

• Conoscere gli operatori

Page 4: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Java è un linguaggio Java è un linguaggio ImperativoImperativo

orientato al comando orientato al comando

variabilevariabilecostantecostante

operatoreoperatore

ESPRESSIONEESPRESSIONE

COMANDOCOMANDO

METODOMETODO

CLASSECLASSE

PACKAGEPACKAGE

aa ++ 11

SempliceSemplice a+1;a+1;

CompostoComposto if(a>1)if(a>1) b=a+1;b=a+1;

Per separare gli elementi è Per separare gli elementi è necessario utilizzare almeno uno necessario utilizzare almeno uno

spazio,una tabulazione o un a capospazio,una tabulazione o un a capo

1 riga per ogni comando1 riga per ogni comando

C LIKEC LIKE

Page 5: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

I I commenticommenti in Java in Java

3 tipi3 tipi

Testo che non viene preso in Testo che non viene preso in considerazione dal compilatoreconsiderazione dal compilatore

//// /* ... *//* ... */ /** ... *//** ... */

Commenta tutto il Commenta tutto il codice fino a fine codice fino a fine

rigariga

Tutto il testo racchiuso tra questi Tutto il testo racchiuso tra questi delimitatori viene considerato delimitatori viene considerato

commentocommento

Definisce un commento Definisce un commento che viene elaborato da che viene elaborato da

javadocjavadoc

Utility per la Utility per la documentazione del documentazione del

codicecodice

Page 6: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Le variabili in JavaLe variabili in Java

Una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato

Java è un linguaggio fortemente tipizzatoJava è un linguaggio fortemente tipizzato

Ogni variabile deve essere di un certo Ogni variabile deve essere di un certo tipotipo identificabileidentificabile

PrimitivePrimitive

OggettiOggetti

Dichirazione di una variabile [tipo] [nome_variabile];

Assegnazione di una variabile [nome_variabile] = [valore];

[tipo] [nome_variabile] = [valore];

Page 7: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

I dati primitiviI dati primitivi

Java mette a disposizione 8 tipi8 tipi di dati primitivi utili alla definizione dioggetti più complessi

Numeri interiNumeri

in virgola mobilechar

(tipo carattere)boolean

byteshortint

long

floatdouble

Dimensione prefissataDimensione prefissata

INDIPENDENTE DALLA PIATTAFORMAINDIPENDENTE DALLA PIATTAFORMA

Page 8: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Tipi numeri interiTipi numeri interi

TipoTipo Requisiti di Requisiti di memorizzazionememorizzazione

Valori di Valori di DefaultDefault

Intervallo (inclusivo)Intervallo (inclusivo)

bytebyte 1 byte (8 bit)1 byte (8 bit) 0 Da –128 a +127

shortshort 2 byte (16 bit)2 byte (16 bit) 0 Da –32.768 a +32.767

intint 4 byte (32 bit)4 byte (32 bit) 0 Da –2.147.483.648 a +2.147.483.647

longlong 8 byte (64 bit)8 byte (64 bit) 0L da -9 miliardi di miliardi a 9 miliardi di miliardi

Page 9: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Tipi numeri in virgola mobileTipi numeri in virgola mobile

TipoTipo Requisiti di Requisiti di memorizzazionememorizzazione

Valori di Valori di DefaultDefault

IntervalloIntervallo

floatfloat 4 byte4 byte 0.0F 6-7 cifre decimali significative

doubledouble 8 byte8 byte 0.0 15 cifre decimali significative

Page 10: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Tipo charTipo char

Le variabili char contengono un unico carattere

Le costanti di tipo char sono racchiuse tra apici singoli (‘’)

Il carattere rappresentato è un carattere dello schema di codifica Unicode. I caratteri Unicode comprendono tutti I caratteri ASCII,caratteri di alfabeti latini e non, caratteri particolari non inclusi nello schema ASCII

Il carattere Unicode occupa 2 byte e consente quindi di rappresentare 65536 caratteri diversi

Indicazione carattere Unicode: \uXXXX, con XXXX numero Hex

Per indicare alcuni caratteri speciali si utilizzano delle sequenze di escape

Page 11: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Tipo char (2)Tipo char (2)

Caratteri speciali

Sequenza di escape Nome Valore Unicode

\b Backspace \u0008

\t Tabulazione \u0009

\n Avanzamento di riga \u000a

\r Ritorno carrello \u000d

\” Virgolette doppie \u0022

\’ Virgolette singole \u0027

\\ Barra rovesciata \u005c

Page 12: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Tipo booleanTipo boolean

• Puo’ avere soltanto 2 valori : true o false (sono entrambe parole riservate)

• Tutti gli operatori comparativi (come ad esempio a>b) restituiscono un valore boolean

• Valori boolean sono richiesti dalle istruzioni di controllo di flusso (if, while, do-while)

In C/C++ non esiste il tipo boolean

In Java non è possibile convertire un valore booleano in un valore numerico

Inizializzato a false

Page 13: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

DichiarazioneDichiarazione e e InizializzazioneInizializzazione

Tutte le variabili prima di essere Tutte le variabili prima di essere utilizzate devono essere dichiarateutilizzate devono essere dichiarate

TIPO NOME

Spesso alla variabile deve esser assegnato un valore

iniziale

Altrimenti viene assegnato Altrimenti viene assegnato valore di Defaultvalore di Default

Dichiarazione e Dichiarazione e inizializzazione possono inizializzazione possono essere fatti nella stessa essere fatti nella stessa

rigariga

Inizia con carattere Inizia con carattere minuscolominuscolo

Evitare uso underscoreEvitare uso underscore

Si possono usare numeri Si possono usare numeri (non all’inizio)(non all’inizio)

Se più parole, la prima lettera Se più parole, la prima lettera è sempre maiuscolaè sempre maiuscola

Page 14: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Le parole riservateLe parole riservate

Sequenze di caratteri che non possono essere usate come identificatori

Page 15: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Le costanti in JavaLe costanti in Java

Non esistono

Vengono dichiarate della variabili con l’attributo FINALFINAL

Se vengono utilizzate da più classi si usa anche la parola

chiave STATICSTATIC

Uso dell’underscore per separare le parti del nome.

I nomi delle costanti sono tutte in MAIUSCOLO

ConvenzioniConvenzioni

final double WINDOW_WIDTH = 300; final double WINDOW_WIDTH = 300;

Page 16: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Visibilità variabiliVisibilità variabili

• In Java i blocchi di istruzioni sono contrassegnati da due parentesi graffe:

{

//codice del blocco di istruzioni

}

Le variabili sono valide dal punto in cui sono dichiarate sino alla fine del blocco di istruzioni racchiuso tra le parentesi

Page 17: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Gli Operatori (1)Gli Operatori (1)

Sono caratteri speciali per istruire il compilatore Sono caratteri speciali per istruire il compilatore sull’operazione che deve compiere con alcuni sull’operazione che deve compiere con alcuni operandioperandi

variabili

espressioni

valori costanti

5 categorie5 categorie

Monadici (unari) Agiscono su un solo operandoAgiscono su un solo operando

Diadici (binari) Posti tra 2 operandiPosti tra 2 operandi

Ternari Agiscono su 3 operandiAgiscono su 3 operandi

Suffissi Posti dopo l’operandoPosti dopo l’operando

Prefissi Posti prima dell’operandoPosti prima dell’operando

Page 18: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Gli Operatori (2)Gli Operatori (2)

Java possiede Java possiede 4444 operatori predefiniti,divisi in operatori predefiniti,divisi in 44 categorie base:categorie base:

AritmeticiAritmetici

RelazionaliRelazionali

Bitwise Bitwise (binari su numeri interi)(binari su numeri interi)

LogiciLogici

Page 19: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Gli operatori aritmeticiGli operatori aritmetici

+ - * /+ - * /Divisione per interi se entrambi gli argomenti sono interi e la divisione di numeri in virgola mobile in tutti gli altri casi

BinariBinari

UnariUnari

++++ incrementa la variabile di 1

---- decrementa la variabile di 1

Notazione postfissa Notazione prefissa

count =5;

restituisce 5 e incrementa count

count++; ++count;

incrementa count e restituisce 6;

Page 20: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Gli operatori relazionaliGli operatori relazionaliConfrontano i due operandi determinando la Confrontano i due operandi determinando la

relazionerelazione che intercorre tra di essi che intercorre tra di essi

Operatore Risultato

== Uguale a

!= Diverso da

> maggiore

< minore

>= Maggiore o uguale

<= Minore o uguale

Attenzione alla differenza

Errore di compilazioneErrore di compilazione3=73=7

Restituisce FalseRestituisce False3==73==7

A tutti i tipi primitiviA tutti i tipi primitivi

Ai RiferimentiAi Riferimenti

Page 21: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Gli operatori Logici o BooleaniGli operatori Logici o Booleani

Eseguono operazioni logiche tra gli operandiEseguono operazioni logiche tra gli operandi

Operatore Risultato

|||| OR

&&&& AND

!! NOT

==== Uguale a

!=!= Non uguale a

op1 && op2

op1 | | op2

! op1

op1 == op2

op1 != op2

Page 22: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

Gli operatori BitwiseGli operatori BitwisePermettono di effettuare operazioni booleane per Permettono di effettuare operazioni booleane per

ciascun bit degli operandiciascun bit degli operandi

Non sono da utilizzare come operatori logiciNon sono da utilizzare come operatori logici

&&

||

~~

ANDAND

OROR

XORXOR

NOTNOT

Page 23: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

+= += op1 += op2 op1 = op1 + op2;

-=-= op1 -= op2 op1 = op1 - op2;

*=*= op1 *= op2 op1 = op1 * op2;

/= /= op1 /= op2 op1 = op1 / op2;

%=%= op1 %= op2 op1 = op1 % op2;

&=&= op1 &= op2 op1 = op1 & op2;

Gli operatori di AssegnamentoGli operatori di Assegnamento

Abbreviazioni delle istruzioni per assegnare o modificareAbbreviazioni delle istruzioni per assegnare o modificareIl valore delle variabiliIl valore delle variabili

int i = 0;

i = i + 2;i += 2;

Page 24: Java base I: Sintassi e tipi di dati. Argomenti Elementi fondamentali della sintassi Java Tipi di dati di Java Gli operatori

L’operatore di L’operatore di CASTCAST

Convertire un valore da un tipo ad un altro

compatibilità tra i due tipi di dati

Il cast (tipo) si applica sia a tipi primitivi (int, char,…) che ad oggetti

int x=3; double d=4.2;double dd;

Esempio:

dd = (double) x; converte il valore di x in double

x = (int) d; converte e approssima il valore di d

Promozioni da un tipo ad uno più ampio sono permesse implicitamente.

Non sono permesse conversioni implicite a tipi più ristretti.