Quiz N°3 - Bases de Java
Ensembles des questions pour tester votre maitrise des éléments de base de Java
Prêt à commencer ?
Lisez chaque question attentivement et sélectionnez la ou les bonnes réponses.
Quel est le résultat de l'exécution de ce code ?
public class Values {
integer a = Integer.valueOf("1");
public static void main(String[] nums) {
integer a = Integer.valueOf("2");
integer b = Integer.valueOf("3");
System.out.println(a + b);
}
}
Powered by Froala Editor
Il n'y a pas de classe nommée integer. Il existe un int primitif et une classe Integer. Par conséquent, le code ne compile pas et l'option 3 est correcte. Si le type a été changé en Integer, l'option 2 serait correcte. (Option 3)
Powered by Froala Editor
Qu'est-ce qui décrit le mieux le mot-clé new ?
Powered by Froala Editor
Le mot-clé new est utilisé pour appeler le constructeur d'une classe et instancier une instance de la classe. Une primitive ne peut pas être créée avec le nouveau mot clé. Le traitement des références intervient une fois que l'objet créé par new est renvoyé. (Option 3)
Powered by Froala Editor
Combien des méthodes suivantes sont compilées ?
public String convert(int value) {
return value.toString();
}
public String convert(Integer value){
return value.toString();
}
public String convert(Object value){
return value.toString();
}
Powered by Froala Editor
Les objets (Object) ont des méthodes d'instance, contrairement aux primitives. Puisque int est une primitive, vous ne pouvez pas y appeler de méthodes d'instance. Integer et String sont à la fois des objets et des méthodes d'instance. Par conséquent, l'option 3 est correcte. (Option 3)
Powered by Froala Editor
Quelle est la première ligne du code suivant qui ne compile pas?
public static void main(String[] args) {
int Integer = 0; // k1
Integer int = 0; // k2
Integer ++; // k3
int++; // k4
}
Powered by Froala Editor
Integer est le nom d'une classe en Java. Bien qu'il soit déconseillé d'utiliser le nom d'une classe en tant que nom de variable locale, cela est légal. Par conséquent, k1 compile. Il n'est pas légal d'utiliser un mot réservé en tant que nom de variable. Toutes les primitives, y compris int, sont des mots réservés. Par conséquent, k2 ne compile pas et l'option 2 est la bonne réponse (Option 2)
Powered by Froala Editor
Quel est le résultat des instructions suivantes ?
Integer integer = new Integer(4);
System.out.print(integer.byteValue());
System.out.print("-");
int i = new Integer(4);
System.out.print(i.byteValue());
Powered by Froala Editor
Java ne permet pas d'appeler une méthode sur une primitive. Bien que l'auto-boxing permette l'affectation d'un Integer à un int, il ne permet pas d'appeler une méthode d'instance sur une primitive. Par conséquent, la dernière ligne ne compile pas. (Option 3)
Powered by Froala Editor
Laquelle des déclarations suivantes ne compile pas ?
Powered by Froala Editor
L'option 1 ne compile pas car Java n'autorise pas la déclaration de différents types dans la même déclaration. Les trois autres options montrent diverses combinaisons légales consistant à combiner plusieurs variables dans les mêmes déclarations avec des valeurs par défaut facultatives. (Option 1)
Powered by Froala Editor
Quel est le résultat du programme suivant ?
public static void main(String... args) {
String str1, str2 = "meknes";
chair = str1 + str2;
System.out.println(chair);
}
Powered by Froala Editor
La variable de table est initialisée à "meknes". Cependant, la chaise n'est pas initialisée. En Java, l’initialisation s’effectue par variable et non pour toutes les variables d’une même déclaration. Par conséquent, la deuxième ligne tente de référencer une variable locale non initialisée et ne compile pas, ce qui rend l'option 4 correcte. (Option 4)
Powered by Froala Editor
Parmi les affirmations suivantes, laquelle est vraie à propos des primitives ?
Powered by Froala Editor
L'option 2 est un exemple de sélection automatique. Java convertira automatiquement les types de classe wrapper primitifs en wrapper et vice versa. L'option 1 est incorrecte car vous ne pouvez appeler des méthodes que sur un objet. L'option 3 est incorrecte car cette méthode est utilisée pour convertir une classe wrapper à partir d'une chaîne. L'option 4 est incorrecte car auto-boxing convertira la primitive en objet avant de l'ajouter à ArrayList. (Option 2)
Powered by Froala Editor
Parmi les propositions suivantes, laquelle n'est pas ordre valide pour les éléments d'une classe ?
Powered by Froala Editor
Les variables d'instance, le constructeur et les noms de méthodes peuvent apparaître dans n'importe quel ordre de la déclaration de classe. (Option 4)
Powered by Froala Editor
Parmi les types double, int et short, combien pourraient remplir le blanc pour que ce code produise la sortie 0?
public static void main(String[] args) {
------------uneValuer;
System.out.println(uneValuer);
}
Powered by Froala Editor
Comme uneValuerest une variable locale, elle n'est pas automatiquement initialisée. Cela signifie que le code ne sera compilé avec aucun type. Par conséquent, l'option 1 est correcte. S'il s'agissait d'une variable d'instance, l'option 3 serait correcte, car int et short seraient initialisés à 0, tandis que double serait initialisé à 0.0. (Option 1)
Powered by Froala Editor
Voici le résumé de votre performance.
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.