Question 1

Laquelle des déclarations suivantes ne compile pas ?

  • double num1, int num2 = 0;
  • int num1, num2;
  • int num1, num2 = 0;
  • int num1 = 0, num2 = 0;

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)

Question 2

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); 
                                }
                            

  • meknes
  • meknesmeknes
  • nullmeknes
  • Le code ne compile pas.

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)

Question 3

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(); 
                                }    
                            

  • Aucune
  • Une
  • Deux
  • Trois

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)

Question 4

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); 
                                    } 
                                }
                            

  • 4
  • 5
  • Le code ne compile pas
  • Le code est compilé mais lève une exception lors de l'exécution.

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)

Question 5

Qu'est-ce qui décrit le mieux le mot-clé new ?

  • Crée une copie d'un objet existant et le traite comme un nouvel objet.
  • Crée une nouvelle primitive
  • Instancie un nouvel objet
  • Bascule une référence d'objet à une nouvelle

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)

Question 6

Parmi les propositions suivantes, laquelle n'est pas ordre valide pour les éléments d'une classe ?

  • Constructeur, variables d'instance, noms de méthodes
  • Variables d'instance, constructeur, noms de méthodes
  • Noms de méthodes, variables d'instance, constructeur
  • Aucune de ces réponses : tous les ordres sont valables.

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)

Question 7

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); 
                                }                                    
                            

  • Aucun
  • Une
  • Deux
  • Trois

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)

Question 8

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 
                                }                                   
                            

  • k1
  • k2
  • k3
  • k4

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)

Question 9

Parmi les affirmations suivantes, laquelle est vraie à propos des primitives ?

  • Vous pouvez appeler des méthodes sur une primitive.
  • Vous pouvez convertir une primitive en objet de classe wrapper simplement en l'affectant.
  • Vous pouvez convertir un objet de classe Wrapper (Enveloppe) en primitive en appelant valueOf().
  • Vous pouvez stocker une primitive directement dans une ArrayList.

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)

Question 10

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()); 
                            

  • 4-0
  • 4-4
  • Le code ne compile pas.
  • Le code est compilé mais lève une exception lors de l'exécution.

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)



Partager ce quiz avec tes amis :