# Java/Istruzioni

| 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 |

## Introduzione

Il corpo di un metodo è costituito da una sequenza di istruzioni. Le istruzioni disponibili sono elencate in questa pagina e nella pagina "Strutture di controllo".

## Istruzione vuota

L'istruzione vuota è costituita dal solo punto e virgola. Essa non esegue nulla. Viene tipicamente usata in combinazione con le strutture di controllo, oppure può essere usata apposta per chiarezza.
Nell'esempio che segue, le righe che contengono una istruzione vuota sono marcate con la scritta "Qui".

## Blocco di istruzioni

Una coppia di parentesi graffe rappresenta una singola istruzione che, a sua volta, racchiude all'interno un numero arbitrario di istruzioni. Eseguire il blocco vuol dire eseguire le istruzioni di cui è composto, nell'ordine in cui sono scritte.
Viene tipicamente usato in combinazione con le strutture di controllo, oppure può essere usato apposta per chiarezza.

## Assegnazione di variabili

L'assegnazione di una variabile, tramite l'operatore =, uno degli operatori che hanno la forma #=, oppure gli operatori ++ e --, è considerata un'istruzione.

## Invocazioni di metodi o costruttori

L'invocazione di un metodo è considerata un'istruzione.
Anche la creazione di un oggetto è considerata una istruzione: è perfettamente legale scrivere
in quanto corrisponde all'invocazione del costruttore della classe desiderata. Tuttavia, il reference dell'oggetto creato viene perso, quindi l'oggetto sarà automaticamente distrutto.

## Asserzioni

L'istruzione assert prende in ingresso un'espressione booleana e (opzionalmente) una stringa.
oppure
dove condizione è un'espressione di tipo booleano e messaggio è un'espressione di tipo stringa.
Il comportamento a tempo di esecuzione è il seguente:
* controlla se le asserzioni sono abilitate per la classe in cui si trova;
* in caso affermativo,
** calcola l'espressione
** se il valore calcolato è false, lancia una java.lang.AssertionError usando come argomento la stringa, oppure una stringa di default se non è stata passata.
Il meccanismo per abilitare le asserzioni per una certa classe dipende dalla macchina virtuale. Sulla macchina virtuale Oracle, si passa alla riga di comando il parametro -ea o -enableassertions.
Le asserzioni sono utili in fase di sviluppo, ad esempio come piccoli test integrati nel programma, oppure per verificare le precondizioni e le postcondizioni dei metodi.

## Automatic Resource Management

Better Resource Management with Java SE 7

## Bibliografia

* Capitolo 14 della specifica di linguaggio. In particolare, si segnala la sezione 14.5, che fornisce un elenco sintetico di tutte le istruzioni ammesse.

## Note
### Approfondimenti

* ↑ java - the Java application launcher