# Java/Lessico

| Java Linguaggio Java categoria · sviluppo · Come posso contribuire? → Vai su Wikiversity | Java: Guida alla programmazioneJava/Introduzione - Specifica di linguaggio - Libreria standardJava/Comunicazione seriale Tipi di datoJava/Tipi di dato • EspressioniJava/Operatori • VariabiliJava/Variabili locali • IstruzioniJava/Istruzioni • Strutture di controlloJava/Strutture di controllo • PackageJava/Package Classi e oggettiJava/Classi e oggetti • OggettiJava/Oggetti • MetodiJava/Metodi • Metodi (cont.)Java/Metodi/2 • ArrayJava/Array Modificatori di accessoJava/Modificatori di accesso • EreditarietàJava/Ereditarietà Gestione delle eccezioniJava/Gestione delle eccezioni • GenericsJava/Generics Thread e parallelismoJava/Multithreading • Interblocco ricontrollatoJava/Interblocco ricontrollato Alcune differenze con il CJava/Concetti fondamentali • LessicoJava/Lessico • GrammaticaJava/Grammatica |
Come ogni linguaggio, il Java è dotato di una sua grammatica caratterizzata da regole ben precise.
Gli elementi lessicali (cioè le unità di base, le parole e i segni di interpunzione) della grammatica del Java sono delle sequenze di simboli che utilizzano un alfabeto Unicode; sono quindi sequenze di caratteri rappresentati su 16 bit, che possono quindi contenere tutte le lettere dell'alfabeto inglese tutte le cifre e i simboli usuali che si trovano sulla tastiera.
Il programma è descritto da una sequenza finita di passi, chiamati istruzioni. Ciascuna di queste indica una operazione distinta che il programma dovrà eseguire a un certo punto dell'esecuzione. Ogni istruzione termina con un punto e virgola ";" (il punto fermo della grammatica Java) che costituisce l'elemento di separazione tra due istruzioni distinte.

## Identificatori

I nomi di alcuni elementi del programma (variabili, classi, ecc.) sono chiamati identificatori. Un identificatore è un nome che rispetti queste condizioni:
* contiene solo lettere, numeri e/o underscores;
* non comincia con un numero;
* non è una parola riservata.
Java è case sensitive, ovvero interpreta differentemente lettere maiuscole e minuscole. Esempi:
* due identificatori distinti: indice e Indice
* una parola-chiave e un identificatore: void e Void

## Separatori

Il separatore è un carattere che permette di separare o raggruppare parti di codice, svolgendo la funzione di "segni di interpunzione" nel testo scritto in linguaggio Java. I separatori utilizzati nel linguaggio Java sono sei:
* ( ) è usato prevalentemente accanto ai metodi e alle istruzioni per specificarne i parametri
* { } è usato solitamente per separare blocchi di codice di più righe; sono i segni di paragrafo della grammatica Java.
* [ ] è usato per identificare elementi di array o collezioni
* ; è usato per separare le istruzioni
* , è usato per separare gli argomenti delle funzioni
* . è usato soprattutto per richiamare i membri di una classe (es. NomeClasse.metodo)

## Parole riservate

Le parole riservate sono particolari sequenze di caratteri che non possono essere usate come identificatori, e sono definite dalla specifica di linguaggio.
Le seguenti parole identificano valori letterali:
* null
* false
* true
Segue un elenco delle parole-chiave del linguaggio, che denotano tipi primitivi, istruzioni o modificatori, oppure definiscono classi o interfacce:
| abstract assert boolean break byte case catch char class continue default do | double else enum extends final finally float for if implements import instanceof | int interface long native new package private protected public return short static | strictfp super switch synchronized this throw throws transient try void volatile while |
A queste si aggiungono le parole-chiave const e goto, che sono inutilizzate, ma sono state riservate per impedirne l'uso all'interno del codice sorgente dei programmi Java (sono usate in C e C++).

## Commenti

I commenti sono delle porzioni di testo presenti nel codice sorgente che servono a completarlo con delle annotazioni che il compilatore non legge. Sono molto importanti per chi scrive e chi legge il codice.
Esistono due tipi principali di commenti:
* commenti delimitati dai caratteri /* e */: il compilatore ignora tutto il testo compreso tra questi caratteri e prosegue poi normalmente. Tali commenti possono estendersi per più righe.
* commenti a fine riga, si aprono con la coppia // e si chiudono alla fine della riga: il compilatore ignora il testo che inizia dai caratteri // fino alla fine della riga
I commenti del primo tipo si aprono anche con la sequenza di caratteri /** e sono detti commenti di documentazione. Il programma Javadoc genera automaticamente la documentazione relativa ad un programma Java estraendo le informazioni contenute nei commenti di documentazione.

## Bibliografia

* Capitolo 3 della specifica di linguaggio, in particolare la sezione 3.9

## Note

* ↑ Il simbolo del dollaro è ammesso nel codice generato da programmi automatici.