Fournir un langage simple et objet pour la plate-forme Java.
Le langage source à compiler pour générer un code exécutable (bytecode) par une JVM peut être :
Version | Java | Commentaire | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Release | 1 | ||||||||||
Domaine | Technologie | Fix | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
Exécution | Interpréteur | Non | |||||||||
VM | Oui | JVM | |||||||||
Machine | Non | ||||||||||
Compilation | Préprocesseur | Non | |||||||||
Structures de contrôle | Condition | if () { } |
|||||||||
Cas | switch () { x: break; } |
||||||||||
Boucle | Itération | for (init; while; increment) { } |
|||||||||
Un au moins | do { } while |
||||||||||
Tant que | while () { } |
||||||||||
Suite | continue |
||||||||||
Stop | break |
||||||||||
Gestion des erreurs | Exceptions | Oui | |||||||||
OO | Héritage | Simple | Oui | ||||||||
Multiple | Non | ||||||||||
Types | Classes | Internes | Non | Oui | |||||||
Collections | Iteration | Iterator it = col.iterator(); Object o = it.next(); |
for (Object o : col) |
||||||||
Constantes | Déclaration | final |
|||||||||
Import | Non | import static package.Class.*; |
|||||||||
Enumérations | Non | enum MonEnum { val1, val2, val3 } |
|||||||||
Numériques | Entiers | byte, short, int,
long
|
|||||||||
Flottants | float |
||||||||||
Caractères | Unique | char |
|||||||||
Chaîne | String |
||||||||||
Génériques | Types | Non | Classe<Type> |
||||||||
Méthodes | Non | <Type> void
methode(<Type>) |
|||||||||
Enregistrements | Classe | Structs/record | |||||||||
Robustesse et mise au point | Contrôle des conversions | Oui | |||||||||
Contrôle des limites de tableau | Oui | ||||||||||
Contrôle division par zéro | Oui | ||||||||||
Assertions | Non | assert booleanCondition : message; |
|||||||||
Gestion mémoire | Automatique | GC | Pointeurs évités volontairement pour plus de robustesse. |
Un exemple de code Java est :
public class MonApplication {
public static
void main (String[] someArgs) {
if
(someArgs.length > 0)
System.out.println
("Hello
" + someArgs[0]);
else
System.out.println
("Hello
world !");
}
}