240 likes | 471 Views
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. PACKAGE. CLASSE. METODO. COMANDO. ESPRESSIONE. a. 1. +.
E N D
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
PACKAGE CLASSE METODO COMANDO ESPRESSIONE a 1 + Java è un linguaggio Imperativo orientato al comando 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
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
Le variabili in Java 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 tipoidentificabile Oggetti Dichirazione di una variabile [tipo][nome_variabile]; Assegnazione di una variabile [nome_variabile] = [valore]; [tipo][nome_variabile] = [valore];
Dimensione prefissata INDIPENDENTE DALLA PIATTAFORMA 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
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 65536 caratteri diversi • Indicazione carattere Unicode: \uXXXX, con XXXX numero Hex • Per indicare alcuni caratteri speciali si utilizzano delle sequenze di escape
Tipo char (2) Caratteri speciali
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) In C/C++ non esiste il tipo boolean In Java non è possibile convertire un valore booleano in un valore numerico Inizializzato a false
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 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 Dichiarazione e inizializzazione possono essere fatti nella stessa riga
Le parole riservate Sequenze di caratteri che non possono essere usate come identificatori
I nomi delle costanti sono tutte in MAIUSCOLO Convenzioni Uso dell’underscore per separare le parti del nome. 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;
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
Monadici (unari) Agiscono su un solo operando Diadici (binari) Posti tra 2 operandi Ternari Agiscono su 3 operandi Prefissi Posti prima dell’operando Suffissi Posti dopo l’operando Gli Operatori (1) variabili Sono caratteri speciali per istruire il compilatore sull’operazione che deve compiere con alcuni operandi espressioni valori costanti 5 categorie
Gli Operatori (2) Java possiede 44 operatori predefiniti,divisi in 4 categorie base: Bitwise (binari su numeri interi) Aritmetici Logici Relazionali
Binari Divisione per interi se entrambi gli argomenti sono interi e la divisione di numeri in virgola mobile in tutti gli altri casi + - * / 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;
Gli operatori relazionali Confrontano i due operandi determinando la relazione che intercorre tra di essi Ai Riferimenti A tutti i tipi primitivi 3=7 Errore di compilazione Attenzione alla differenza 3==7 Restituisce False
Gli operatori Logici o Booleani Eseguono operazioni logiche tra gli operandi op1 | | op2 op1 && op2 ! op1 op1 == op2 op1 != op2
& AND | OR ~ NOT XOR ^ Gli operatori Bitwise Permettono di effettuare operazioni booleane per ciascun bit degli operandi Non sono da utilizzare come operatori logici
int i = 0; i += 2; i = i + 2; Gli operatori di Assegnamento Abbreviazioni delle istruzioni per assegnare o modificare Il valore delle variabili += 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;
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.