Top 50 QCM sur JAVA avec corrigés

Question 1 sur 50

1. Quel est le résultat de l'expression `5 / 2` en Java ?

  • A. 2
  • B. 2.5
  • C. 2.0
  • D. Erreur de compilation
A

En Java, la division entière entre deux entiers renvoie un entier. Ainsi, `5 / 2` donne 2.

Question 2 sur 50

2. Quelle est la portée d'une variable locale en Java ?

  • A. Dans le bloc de code où elle est définie
  • B. Dans toute la classe
  • C. Dans tout le package
  • D. Dans tout le programme
A

La portée d'une variable locale est limitée au bloc de code dans lequel elle est définie.

Question 3 sur 50

3. Quel est le mot-clé utilisé pour hériter d'une classe en Java ?

  • A. extends
  • B. implements
  • C. inherits
  • D. super
A

Le mot-clé `extends` est utilisé pour hériter d'une classe en Java.

Question 4 sur 50

4. Que fait la méthode `hashCode()` en Java ?

  • A. Retourne un code de hachage pour l'objet
  • B. Crée une copie de l'objet
  • C. Compare deux objets
  • D. Modifie l'état de l'objet
A

La méthode `hashCode()` retourne un code de hachage unique pour l'objet, utilisé principalement dans les collections basées sur des tables de hachage.

Question 5 sur 50

5. Quelle est la différence entre `==` et `equals()` en Java ?

  • A. `==` compare les références, tandis que `equals()` compare les valeurs
  • B. `==` compare les valeurs, tandis que `equals()` compare les références
  • C. Les deux comparent les valeurs
  • D. Les deux comparent les références
A

`==` compare les références des objets, tandis que `equals()` compare les valeurs des objets.

Question 6 sur 50

6. Qu'est-ce qu'une exception en Java ?

  • A. Un événement qui perturbe le flux normal du programme
  • B. Une méthode spéciale
  • C. Un type de données
  • D. Une classe de base
A

Une exception est un événement qui perturbe le flux normal du programme et peut être géré avec des blocs `try-catch`.

Question 7 sur 50

7. Quelle interface est utilisée pour créer des threads en Java ?

  • A. Runnable
  • B. Callable
  • C. Thread
  • D. Future
A

L'interface `Runnable` est utilisée pour définir le code que le thread doit exécuter. La classe `Thread` peut également être utilisée directement pour créer des threads.

Question 8 sur 50

8. Quelle méthode de la classe `Thread` permet d'attendre qu'un thread se termine ?

  • A. join()
  • B. wait()
  • C. sleep()
  • D. stop()
A

La méthode `join()` permet de faire attendre un thread jusqu'à ce qu'un autre thread se termine.

Question 9 sur 50

9. Quel est le but du mot-clé `synchronized` en Java ?

  • A. Assurer un accès exclusif à un bloc de code
  • B. Créer une nouvelle instance de la classe
  • C. Déclarer une méthode statique
  • D. Initialiser les variables d'instance
A

Le mot-clé `synchronized` assure qu'un bloc de code est exécuté par un seul thread à la fois, évitant les problèmes de concurrence.

Question 10 sur 50

10. Quelle est la différence entre `ArrayList` et `Vector` en Java ?

  • A. `ArrayList` n'est pas synchronisé, tandis que `Vector` l'est
  • B. `ArrayList` est synchronisé, tandis que `Vector` ne l'est pas
  • C. Les deux sont synchronisés
  • D. Les deux ne sont pas synchronisés
A

`ArrayList` n'est pas synchronisé, tandis que `Vector` l'est. Cela affecte la performance et l'utilisation dans des contextes multithreads.

Question 11 sur 50

11. Que fait la méthode `notify()` en Java ?

  • A. Réveille un seul thread en attente sur l'objet
  • B. Crée un nouveau thread
  • C. Suspend tous les threads en cours d'exécution
  • D. Initialise les variables d'instance
A

La méthode `notify()` réveille un seul thread en attente sur l'objet, permettant à ce thread de reprendre son exécution.

Question 12 sur 50

12. Quelle est la différence entre une classe abstraite et une interface en Java ?

  • A. Une classe abstraite peut contenir des méthodes concrètes, tandis qu'une interface ne peut contenir que des méthodes abstraites (avant Java 8)
  • B. Une interface peut contenir des méthodes concrètes, tandis qu'une classe abstraite ne peut contenir que des méthodes abstraites
  • C. Les deux peuvent contenir des méthodes concrètes
  • D. Les deux sont équivalentes en Java
A

Avant Java 8, une classe abstraite peut contenir des méthodes concrètes, tandis qu'une interface ne pouvait contenir que des méthodes abstraites. Depuis Java 8, les interfaces peuvent contenir des méthodes concrètes avec des implémentations par défaut.

Question 13 sur 50

13. Que fait le mot-clé `final` lorsqu'il est utilisé avec une méthode ?

  • A. La méthode ne peut pas être modifiée dans une sous-classe
  • B. La méthode devient abstraite
  • C. La méthode est synchronisée
  • D. La méthode est statique
A

Lorsque le mot-clé `final` est utilisé avec une méthode, cela signifie que la méthode ne peut pas être modifiée dans une sous-classe.

Question 14 sur 50

14. Que fait la méthode `equals()` lorsqu'elle est utilisée pour comparer deux objets ?

  • A. Compare les valeurs des objets
  • B. Compare les références des objets
  • C. Crée une nouvelle instance de l'objet
  • D. Retourne un code de hachage
A

La méthode `equals()` compare les valeurs des objets pour déterminer si deux objets sont considérés comme égaux.

Question 15 sur 50

15. Quel est le rôle de la méthode `compareTo()` dans l'interface `Comparable` ?

  • A. Comparer deux objets pour déterminer leur ordre
  • B. Créer une nouvelle instance de l'objet
  • C. Initialiser les variables d'instance
  • D. Modifier l'état de l'objet
A

La méthode `compareTo()` dans l'interface `Comparable` est utilisée pour comparer deux objets afin de déterminer leur ordre relatif.

Question 16 sur 50

16. Que fait le mot-clé `transient` en Java ?

  • A. Indique qu'un champ ne doit pas être sérialisé
  • B. Crée une nouvelle instance de l'objet
  • C. Déclare une méthode statique
  • D. Initialise les variables d'instance
A

Le mot-clé `transient` indique qu'un champ d'un objet ne doit pas être sérialisé.

Question 17 sur 50

17. Que fait la méthode `finalize()` en Java ?

  • A. Effectue les opérations de nettoyage avant que l'objet ne soit détruit
  • B. Crée une nouvelle instance de l'objet
  • C. Initialise les variables d'instance
  • D. Compare deux objets
A

La méthode `finalize()` est appelée par le ramasse-miettes pour effectuer les opérations de nettoyage avant que l'objet ne soit détruit.

Question 18 sur 50

18. Quelle est la différence entre `throw` et `throws` en Java ?

  • A. `throw` lance une exception, tandis que `throws` déclare une exception qui peut être lancée
  • B. `throws` lance une exception, tandis que `throw` déclare une exception qui peut être lancée
  • C. Les deux ont la même fonctionnalité
  • D. Les deux sont utilisés pour capturer les exceptions
A

Le mot-clé `throw` est utilisé pour lancer une exception, tandis que `throws` est utilisé dans la signature d'une méthode pour déclarer les exceptions qui peuvent être lancées par cette méthode.

Question 19 sur 50

19. Que fait la méthode `getClass()` en Java ?

  • A. Retourne l'objet `Class` associé à l'objet
  • B. Crée une nouvelle instance de la classe
  • C. Initialise les variables d'instance
  • D. Compare deux objets
A

La méthode `getClass()` retourne l'objet `Class` associé à l'objet, permettant d'obtenir des informations sur la classe de l'objet.

Question 20 sur 50

20. Quel est le rôle de l'annotation `@Override` en Java ?

  • A. Indiquer que la méthode redéfinit une méthode de la classe parente
  • B. Créer une nouvelle instance de l'objet
  • C. Initialiser les variables d'instance
  • D. Comparer deux objets
A

L'annotation `@Override` indique que la méthode redéfinit une méthode de la classe parente, permettant une vérification à la compilation.

Question 21 sur 50

21. Quelle méthode de la classe `Object` est utilisée pour obtenir une représentation sous forme de chaîne de caractères d'un objet ?

  • A. toString()
  • B. getClass()
  • C. clone()
  • D. equals()
A

La méthode `toString()` de la classe `Object` est utilisée pour obtenir une représentation sous forme de chaîne de caractères d'un objet.

Question 22 sur 50

22. Que fait le mot-clé `static` lorsqu'il est utilisé avec une variable ?

  • A. La variable est partagée entre toutes les instances de la classe
  • B. La variable est unique à chaque instance de la classe
  • C. La variable est locale à une méthode
  • D. La variable est temporaire
A

Lorsque le mot-clé `static` est utilisé avec une variable, cela signifie que la variable est partagée entre toutes les instances de la classe.

Question 23 sur 50

23. Quelle méthode est utilisée pour convertir un objet en une chaîne de caractères ?

  • A. toString()
  • B. valueOf()
  • C. parse()
  • D. format()
A

La méthode `toString()` est utilisée pour convertir un objet en une chaîne de caractères.

Question 24 sur 50

24. Quelle est la différence entre `ArrayList` et `LinkedList` en Java ?

  • A. `ArrayList` est basé sur un tableau, tandis que `LinkedList` est basé sur une liste chaînée
  • B. `ArrayList` est basé sur une liste chaînée, tandis que `LinkedList` est basé sur un tableau
  • C. Les deux sont basés sur des tableaux
  • D. Les deux sont basés sur des listes chaînées
A

`ArrayList` est basé sur un tableau dynamique, tandis que `LinkedList` est basé sur une liste chaînée, ce qui affecte leurs performances pour les opérations d'insertion et de suppression.

Question 25 sur 50

25. Que fait la méthode `clone()` dans la classe `Object` ?

  • A. Crée une copie superficielle de l'objet
  • B. Crée une nouvelle instance de l'objet
  • C. Compare deux objets
  • D. Modifie l'état de l'objet
A

La méthode `clone()` crée une copie superficielle de l'objet, c'est-à-dire une nouvelle instance avec les mêmes valeurs de champs.

Question 26 sur 50

26. Que fait le mot-clé `private` lorsqu'il est utilisé avec une variable ou une méthode ?

  • A. La variable ou la méthode est accessible uniquement dans la classe où elle est définie
  • B. La variable ou la méthode est accessible dans tout le package
  • C. La variable ou la méthode est accessible dans toutes les classes
  • D. La variable ou la méthode est accessible uniquement dans les sous-classes
A

Le mot-clé `private` rend une variable ou une méthode accessible uniquement dans la classe où elle est définie.

Question 27 sur 50

27. Quelle est la méthode utilisée pour obtenir la taille d'un tableau en Java ?

  • A. length
  • B. size()
  • C. getSize()
  • D. count()
A

En Java, la taille d'un tableau est obtenue en utilisant le champ `length`.

Question 28 sur 50

28. Que fait le mot-clé `default` dans une interface en Java 8 et versions ultérieures ?

\n
  • A. Permet de définir des méthodes avec une implémentation par défaut
  • \n
  • B. Définit une méthode abstraite
  • C. Crée une nouvelle instance de la classe
  • D. Modifie les variables d'instance
A

Le mot-clé `default` permet de définir des méthodes avec une implémentation par défaut dans une interface.

Question 29 sur 50

29. Quelle est la méthode utilisée pour parcourir les éléments d'un tableau en Java ?

  • A. for-each
  • B. iterator()
  • C. next()
  • D. stream()
A

La boucle `for-each` est utilisée pour parcourir les éléments d'un tableau en Java.

Question 30 sur 50

30. Quel est le rôle de la méthode `readObject()` dans la sérialisation en Java ?

  • A. Lire un objet à partir d'un flux
  • B. Écrire un objet dans un flux
  • C. Créer une nouvelle instance de l'objet
  • D. Modifier l'état de l'objet
A

La méthode `readObject()` est utilisée pour lire un objet à partir d'un flux dans le processus de désérialisation.

Question 31 sur 50

31. Quelle méthode est appelée pour lancer une exception en Java ?

  • A. throw
  • B. throws
  • C. try
  • D. catch
A

La méthode `throw` est utilisée pour lancer une exception en Java.

Question 32 sur 50

32. Que fait le mot-clé `protected` en Java ?

  • A. Permet l'accès à une variable ou une méthode dans les classes du même package et dans les sous-classes
  • B. Rend la variable ou la méthode accessible uniquement dans la classe où elle est définie
  • C. Rend la variable ou la méthode accessible dans tout le package
  • D. Rend la variable ou la méthode accessible dans toutes les classes
A

Le mot-clé `protected` permet l'accès à une variable ou une méthode dans les classes du même package et dans les sous-classes.

Question 33 sur 50

33. Quelle est la méthode utilisée pour obtenir un sous-ensemble d'un tableau en Java ?

  • A. Arrays.copyOfRange()
  • B. Arrays.subArray()
  • C. Arrays.getRange()
  • D. Arrays.slice()
A

La méthode `Arrays.copyOfRange()` est utilisée pour obtenir un sous-ensemble d'un tableau.

Question 34 sur 50

34. Quel est le rôle du mot-clé `super` en Java ?

  • A. Accéder aux membres de la classe parente
  • B. Créer une nouvelle instance de la classe
  • C. Définir une méthode abstraite
  • D. Initialiser les variables d'instance
A

Le mot-clé `super` est utilisé pour accéder aux membres (variables et méthodes) de la classe parente.

Question 35 sur 50

35. Quelle est la différence entre `==` et `equals()` pour les chaînes de caractères en Java ?

  • A. `==` compare les références, tandis que `equals()` compare le contenu des chaînes
  • B. `==` compare le contenu des chaînes, tandis que `equals()` compare les références
  • C. Les deux comparent le contenu des chaînes
  • D. Les deux comparent les références des chaînes
A

Pour les chaînes de caractères, `==` compare les références, tandis que `equals()` compare le contenu des chaînes.

Question 36 sur 50

36. Quelle méthode est utilisée pour trier un tableau en Java ?

  • A. Arrays.sort()
  • B. Arrays.order()
  • C. Arrays.shuffle()
  • D. Arrays.reverse()
A

La méthode `Arrays.sort()` est utilisée pour trier un tableau en Java.

Question 37 sur 50

37. Que fait la méthode `toArray()` dans une collection Java ?

  • A. Convertit la collection en un tableau
  • B. Crée une nouvelle instance de la collection
  • C. Retourne la taille de la collection
  • D. Ajoute un élément à la collection
A

La méthode `toArray()` convertit une collection en un tableau.

Question 38 sur 50

38. Quelle interface est utilisée pour représenter un groupe d'objets en Java ?

  • A. Collection
  • B. Map
  • C. Set
  • D. List
A

L'interface `Collection` est utilisée pour représenter un groupe d'objets en Java.

Question 39 sur 50

39. Quel est le rôle de l'annotation `@FunctionalInterface` en Java ?

  • A. Indiquer qu'une interface est une interface fonctionnelle
  • B. Créer une nouvelle instance de l'interface
  • C. Modifier l'état de l'interface
  • D. Ajouter des méthodes à l'interface
A

L'annotation `@FunctionalInterface` indique qu'une interface est une interface fonctionnelle, c'est-à-dire qu'elle a exactement une méthode abstraite.

Question 40 sur 50

40. Quelle méthode est utilisée pour obtenir le type d'une variable en Java ?

  • A. getClass()
  • B. getType()
  • C. getVariableType()
  • D. getInstanceType()
A

La méthode `getClass()` est utilisée pour obtenir le type d'une variable.

Question 41 sur 50

41. Que fait la méthode `System.out.println()` ?

  • A. Affiche une chaîne de caractères sur la sortie standard
  • B. Lit une chaîne de caractères depuis l'entrée standard
  • C. Écrit une chaîne de caractères dans un fichier
  • D. Crée une nouvelle instance de `PrintStream`
A

La méthode `System.out.println()` affiche une chaîne de caractères sur la sortie standard.

Question 42 sur 50

42. Quelle méthode est utilisée pour obtenir la longueur d'une chaîne de caractères en Java ?

  • A. length()
  • B. size()
  • C. getLength()
  • D. count()
A

La méthode `length()` est utilisée pour obtenir la longueur d'une chaîne de caractères.

Question 43 sur 50

43. Quelle est la méthode utilisée pour fermer un flux en Java ?

  • A. close()
  • B. shutDown()
  • C. terminate()
  • D. end()
A

La méthode `close()` est utilisée pour fermer un flux en Java.

Question 44 sur 50

44. Que fait la méthode `Math.random()` ?

  • A. Génère un nombre aléatoire entre 0.0 et 1.0
  • B. Génère un nombre entier aléatoire
  • C. Génère un nombre flottant aléatoire
  • D. Génère un nombre fixe
A

La méthode `Math.random()` génère un nombre aléatoire entre 0.0 et 1.0.

Question 45 sur 50

45. Quelle est la méthode utilisée pour ajouter un élément à une liste en Java ?

  • A. add()
  • B. insert()
  • C. append()
  • D. push()
A

La méthode `add()` est utilisée pour ajouter un élément à une liste en Java.

Question 46 sur 50

46. Quel est le rôle de l'annotation `@SuppressWarnings` en Java ?

  • A. Supprimer les avertissements du compilateur
  • B. Créer une nouvelle instance de l'annotation
  • C. Modifier les variables d'instance
  • D. Ajouter des méthodes à l'annotation
A

L'annotation `@SuppressWarnings` est utilisée pour supprimer les avertissements du compilateur.

Question 47 sur 50

47. Quelle méthode est utilisée pour obtenir la valeur absolue d'un nombre en Java ?

  • A. Math.abs()
  • B. Math.absolute()
  • C. Math.valueOf()
  • D. Math.getAbsolute()
A

La méthode `Math.abs()` est utilisée pour obtenir la valeur absolue d'un nombre en Java.

Question 48 sur 50

48. Que fait la méthode `String.format()` ?

  • A. Formate une chaîne de caractères
  • B. Convertit une chaîne en nombre
  • C. Modifie une chaîne de caractères
  • D. Crée une nouvelle chaîne de caractères
A

La méthode `String.format()` est utilisée pour formater une chaîne de caractères.

Question 49 sur 50

49. Quel est le rôle de la méthode `System.gc()` ?

  • A. Demander une exécution du ramasse-miettes
  • B. Afficher des informations système
  • C. Réinitialiser la mémoire
  • D. Fermer les ressources
A

La méthode `System.gc()` demande une exécution du ramasse-miettes pour libérer la mémoire inutilisée.

Question 50 sur 50

50. Que fait la méthode `Integer.parseInt()` ?

  • A. Convertit une chaîne de caractères en entier
  • B. Convertit un entier en chaîne de caractères
  • C. Convertit un entier en flottant
  • D. Convertit une chaîne en flottant
A

La méthode `Integer.parseInt()` convertit une chaîne de caractères en entier.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.

OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET