Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoHieronomo Petrucci Modificato 10 anni fa
1
JAVA Franco Bombi 8 ottobre 2002
2
FB - 5.10.20022 Introduzione Java è un linguaggio di impiego generale, basato su classi e orientato agli oggetti Java è un linguaggio fortemente tipizzato in modo che sia possibile individuare molti errori al momento della compilazione Java è un linguaggio di alto livello che nasconde i dettagli della macchina che esegue un programma La gestione dinamica della memoria è affidata ad un garbage collector di elevata efficienza
3
FB - 5.10.20023 La macchina virtuale Java Un programma scritto in linguaggio Java viene di solito tradotto, allatto della compilazione, in un insieme di istruzioni definite dalla macchina virtuale Java (JVM) Il codice binario della JVM, detto bytecode, viene poi eseguito per mezzo di un interprete che ha anche la funzione di caricare in memoria le classi delle librerie standard utilizzate dal programma Noi studieremo solo la realizzazione di applicazioni cioè di un programma da avviare con un comando del tipo: java nomeClasse parametri
4
FB - 5.10.20024 Unità compilabili e pacchetti Un programma Java è composto ad un insieme di pacchetti (package) organizzati gerarchicamente Ogni pacchetto è a sua volta costituito da una o più unità compilabili cioè file individuati da un nome con lestensione.java Più unità compilabili contenute in una cartella costituiscono, in assenza di una dichiarazione esplicita, un pacchetto senza nome Ununità di compilazione può importare in modo esplicito classi da altri pacchetti, il pacchetto java.lang viene sempre importato implicitamente
5
FB - 5.10.20025 Grammatiche Java è un linguaggio formale definito da un grammatica non contestuale La grammatica può essere divisa in due parti che descrivono rispettivamente le regole lessicali e la sintassi che governano la costruzione di unità compilabili sintatticamente corrette Dal punto di vista lessicale un programma Java è composto da righe (stringhe di caratteri terminate da un fineriga) a loro volta composte da unità elementari dette token (in italiano lessemi) I token devono essere separati da spazi e/o da commenti quando non ci sia un separatore o un operatore che marchi la fine del token
6
FB - 5.10.20026 I codici Unicode e ASCII I programmi Java sono scritti usando linsieme di caratteri Unicode Unicode utilizza, per rappresentare un carattere, un numero intero senza segno di 16 bit e definisce oltre 30.000 caratteri in molti alfabeti diversi I primi 128 codici Unicode coincidono con linsieme di caratteri noto come ASCII (American Standard Code for Information Interchange) Parole chiave, caratteri di interpunzione e operatori sono definiti con i soli caratteri ASCII Noi utilizzeremo solo i caratteri ASCII anche per definire nomi e quindi possiamo dimenticarci di Unicode
7
FB - 5.10.20027 Il codice ASCII I primi 32 caratteri del codice ASCII (con codice da 0 a 31) sono caratteri di controllo, di nostro interesse sono solo i caratteri – 9tabulatore \t – 10nuova riga \n – 13invio \r I caratteri da 32 a 127 sono caratteri stampabili – 32spazio – da 48 a 57 caratteri numerici, le cifre decimali 0, 1 … – da 65 a 90, da 97 a 122 caratteri alfabetici (maiuscoli e minuscoli) – da 33 a 47, da 58 a 64, da 91 a 96, da 123 a 127 caratteri di interpunzione
8
FB - 5.10.20028 Token I token (le unità lessicali con cui si costruisce una unità compilabile) possono essere un: – Identificatore (identifier): una stringa di caratteri alfanumerici con il primo carattere alfabetico – Parola chiave (keyword): stringhe di caratteri il cui uso è riservato e predefinito dal linguaggio Java – Costante (literal): un valore costante – Separatore: caratteri di interpunzione – Operatore: simboli che indicano unoperazione fra variabili e/o costanti
9
FB - 5.10.20029 Le parole chiave abstract boolean break byte case catch char class const continue default do double else extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static super switch synchronized this throw throws transient try void volatale while Alcune parole chiave non sono mai usate, di altre noi non faremo mai uso, è comunque necessario saperne lesistenza per non cercare di utilizzare una parola chiave come identificatore
10
FB - 5.10.200210 Separatori e operatori I seguenti 9 caratteri sono utilizzati come separatori (caratteri di interpunzione) ( ) { } [ ] ;,. I seguenti 37 caratteri o token sono utilizzati nelle espressioni come operatori = > < ! ~ ? : == = != && || ++ -- + - * / & | ^ % > >>> += -= *= /= &= |= ^= %= >= >>>=
11
FB - 5.10.200211 Tipi di dati, valori e variabili Java è un linguaggio fortemente tipizzato e quindi ogni variabile e ogni espressione è di un ben preciso tipo noto al momento della compilazione del programma I tipi di dati possono essere: – Tipi primitivi – Riferimenti ad un oggetto I nomi dei tipi sono usati – Nelle dichiarazioni – Nelle espressioni per la creazione di un esemplare di un classe (detta anche istanza della classe) – Nelle espressioni per la creazione di un array
12
FB - 5.10.200212 Dati numerici – interi byte 1 byte-128 a 127 short 2 byte-32768 a 32767 int 4 byte-2*10 9 a 2*10 9 circa long 8 byte- 10 20 a 10 20 circa char 2 byte0 a 65535 – virgola mobile (frazioni) float 4 byte5 cifre decimali double 8 byte15 cifre decimali Bouleani – booleantrue o false Tipi di dati primitivi - valori con segno
13
FB - 5.10.200213 Tipi di dati primitivi Degli 8 tipi di dati primitivi a noi interessano per il momento solo 4 tipi – int -2147483648 a 2147483647 – double 15 cifre significative (10 -324, 10 308 ) – char 0 a 65535, caratteri Unicode (ASCII) – boolean true o false
14
FB - 5.10.200214 Operatori fra interi Confronto (il risultato è un boolean ) >= == != Operatori unari (il risultato è un int ) + - ++ -- (prefissi e postifissi) ~ Operatori binari (il risultato è un int ) + - * / % > >>> & | ^ Ternari ? : Conversione ( cast )
15
FB - 5.10.200215 Operatori fra dati in virgola mobile Confronto (il risultato è un boolean ) >= == != Operatori unari (il risultato è un double ) + - ++ -- (prefissi e postifissi) Operatori binari (il risultato è un double ) + - * / % Ternari ? : Conversione ( cast )
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.