La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Java base I: Sintassi e tipi di dati

Presentazioni simili


Presentazione sul tema: "Java base I: Sintassi e tipi di dati"— Transcript della presentazione:

1 Java base I: Sintassi e tipi di dati

2 Argomenti Elementi fondamentali della sintassi Java
Tipi di dati di Java Gli operatori

3 Obiettivi Familiarizzare con la sintassi Java Conoscere i tipi di dati
Conoscere gli operatori

4 Java è un linguaggio Imperativo
orientato al comando ESPRESSIONE COMANDO METODO CLASSE PACKAGE a + 1 C LIKE Semplice a+1; Composto if(a>1) b=a+1; Per separare gli elementi è necessario utilizzare almeno uno spazio,una tabulazione o un a capo variabile 1 riga per ogni comando operatore costante

5 Utility per la documentazione del codice
I commenti in Java Testo che non viene preso in considerazione dal compilatore 3 tipi // /* ... */ /** ... */ Commenta tutto il codice fino a fine riga Tutto il testo racchiuso tra questi delimitatori viene considerato commento Definisce un commento che viene elaborato da javadoc Utility per la documentazione del codice

6 Le variabili in Java Primitive Oggetti
Una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato Java è un linguaggio fortemente tipizzato Primitive Ogni variabile deve essere di un certo tipo identificabile Oggetti  Dichirazione di una variabile [tipo] [nome_variabile];  Assegnazione di una variabile [nome_variabile] = [valore]; [tipo] [nome_variabile] = [valore];

7 I dati primitivi Java mette a disposizione 8 tipi di dati primitivi utili alla definizione di oggetti più complessi Numeri interi Numeri in virgola mobile char (tipo carattere) boolean byte short int long float double Dimensione prefissata INDIPENDENTE DALLA PIATTAFORMA

8 Requisiti di memorizzazione Intervallo (inclusivo)
Tipi numeri interi Tipo Requisiti di memorizzazione Valori di Default Intervallo (inclusivo) byte 1 byte (8 bit) Da –128 a +127 short 2 byte (16 bit) Da – a int 4 byte (32 bit) Da – a long 8 byte (64 bit) 0L da -9 miliardi di miliardi a 9 miliardi di miliardi La valutazione di un’espressione si ferma appena il risultato è noto.

9 Tipi numeri in virgola mobile
Tipo Requisiti di memorizzazione Valori di Default Intervallo float 4 byte 0.0F 6-7 cifre decimali significative double 8 byte 0.0 15 cifre decimali significative La valutazione di un’espressione si ferma appena il risultato è noto.

10 Tipo 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 caratteri diversi Indicazione carattere Unicode: \uXXXX, con XXXX numero Hex Per indicare alcuni caratteri speciali si utilizzano delle sequenze di escape

11 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 La valutazione di un’espressione si ferma appena il risultato è noto.

12 Tipo 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) RETURN È il meccanismo che consente alla funzione chiamata di restituire un valore alla funzione chiamante. Sintassi return <espressione>; Per motivi di chiarezza l’espressione viene spesso racchiusa fra parentesi tonde (che però sono opzionali). La funzione chiamante è libera di trascurare il valore restituito. In C/C++ non esiste il tipo boolean In Java non è possibile convertire un valore booleano in un valore numerico Inizializzato a false

13 Dichiarazione e Inizializzazione
Spesso alla variabile deve esser assegnato un valore iniziale Tutte le variabili prima di essere utilizzate devono essere dichiarate TIPO NOME Altrimenti viene assegnato valore di Default Inizia con carattere minuscolo Evitare uso underscore Si possono usare numeri (non all’inizio) Se più parole, la prima lettera è sempre maiuscola Dichiarazione e inizializzazione possono essere fatti nella stessa riga

14 Sequenze di caratteri che non possono essere usate come identificatori
Le parole riservate Sequenze di caratteri che non possono essere usate come identificatori

15 Vengono dichiarate della variabili con l’attributo FINAL
Le costanti in Java Non esistono Vengono dichiarate della variabili con l’attributo FINAL Se vengono utilizzate da più classi si usa anche la parola chiave STATIC final double WINDOW_WIDTH = 300; Uso dell’underscore per separare le parti del nome. I nomi delle costanti sono tutte in MAIUSCOLO Convenzioni

16 Visibilità 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 Le istruzioni contenute nel blocco della WHILE sono ripetute fino a quando l’espressione è verificata, ossia se ha un valore diverso da 0.

17 Gli Operatori (1) 5 categorie
Sono caratteri speciali per istruire il compilatore sull’operazione che deve compiere con alcuni operandi variabili espressioni valori costanti 5 categorie Monadici (unari) Agiscono su un solo operando Diadici (binari) Posti tra 2 operandi Ternari Agiscono su 3 operandi Suffissi Posti dopo l’operando Prefissi Posti prima dell’operando Equivale a: [<inizializzazione>] while ([<condizione>]) { <blocco> [<incremento>] } Le tre componenti di un ciclo for sono delle espressioni. Generalmente: <inizializzazione> inizializza l’indice (variabile di controllo del ciclo) <condizione> controlla il limite superiore dell’indice <incremento> modifica il valore dell’indice Attenzione: for( ; ; ){...} genera un loop infinito

18 (binari su numeri interi)
Gli Operatori (2) Java possiede 44 operatori predefiniti,divisi in 4 categorie base: Bitwise (binari su numeri interi) Aritmetici Logici Relazionali

19 Gli operatori aritmetici
Unari ++ incrementa la variabile di 1 -- decrementa la variabile di 1 count =5; Notazione postfissa Notazione prefissa count++; ++count; restituisce 5 e incrementa count incrementa count e restituisce 6; + - * / Divisione per interi se entrambi gli argomenti sono interi e la divisione di numeri in virgola mobile in tutti gli altri casi Binari

20 Gli operatori relazionali
Confrontano i due operandi determinando la relazione che intercorre tra di essi Operatore Risultato == Uguale a != Diverso da > maggiore < minore >= Maggiore o uguale <= Minore o uguale Ai Riferimenti A tutti i tipi primitivi 3=7 Errore di compilazione Attenzione alla differenza 3==7 Restituisce False

21 Gli operatori Logici o Booleani
Eseguono operazioni logiche tra gli operandi Operatore Risultato || OR && AND ! NOT == Uguale a != Non uguale a op1 | | op2 op1 && op2 ! op1 op1 == op2 op1 != op2

22 Non sono da utilizzare come operatori logici
Gli operatori Bitwise Permettono di effettuare operazioni booleane per ciascun bit degli operandi Non sono da utilizzare come operatori logici & | ^ ~ AND OR XOR NOT

23 Gli operatori di Assegnamento
Abbreviazioni delle istruzioni per assegnare o modificare Il valore delle variabili int i = 0; i = i + 2; i += 2; += 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;

24 L’operatore di CAST 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 Esempio: dd = (double) x; converte il valore di x in double int x=3; double d=4.2; double dd; 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.


Scaricare ppt "Java base I: Sintassi e tipi di dati"

Presentazioni simili


Annunci Google