QCMUP.COM

Liste QCM JAVA CorrigĂ© – Partie 2

Entraßnez-vous avec des questions corrigées, progressez étape par étape, puis consolidez vos notions grùce aux définitions et explications.

30 questions RĂ©ponses expliquĂ©es RĂ©viser → Pratiquer
Liste QCM JAVA CorrigĂ© – Partie 2 – JAVA

L a maĂźtrise des variables et des types de donnĂ©es constitue un pilier fondamental de l’apprentissage du langage Java.

Avant d’aborder des concepts avancĂ©s comme les classes complexes ou les structures de donnĂ©es, il est indispensable de comprendre comment Java stocke, manipule et protĂšge les informations en mĂ©moire.

Ces notions influencent directement la fiabilité, les performances et la lisibilité des programmes.

Les QCM proposés dans cette thématique se concentrent sur les types primitifs, les objets, les rÚgles de déclaration des variables et leur comportement en mémoire.

Ces sujets sont incontournables dans les études en informatique, les examens académiques et les concours techniques, car ils évaluent la compréhension réelle du fonctionnement interne du langage.

En maĂźtrisant ces bases, l’apprenant acquiert des rĂ©flexes essentiels pour Ă©crire un code correct, efficace et conforme aux bonnes pratiques professionnelles.

L’objectif est de construire des fondations solides pour progresser sereinement en programmation Java.

QCM 1 Corrigé

Lequel de ces types est considéré comme un type primitif en Java ?

A. String
B. Integer
C. boolean
D. Scanner
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
boolean est l'un des 8 types primitifs de base. String et Integer sont des objets.

QCM 2 Corrigé

Quelle est la taille en mémoire d'une variable de type 'int' en Java ?

A. 8 bits
B. 16 bits
C. 64 bits
D. 32 bits
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Un entier (int) occupe toujours 4 octets, soit 32 bits, quel que soit le systĂšme.

QCM 3 Corrigé

Comment appelle-t-on une variable déclarée directement dans une classe mais en dehors de toute méthode ?

A. Une variable locale
B. Une variable d'instance (ou attribut)
C. Un paramĂštre
D. Une variable éphémÚre
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les variables d'instance définissent l'état d'un objet et sont accessibles par toutes les méthodes de la classe.

QCM 4 Corrigé

Quel mot-clĂ© permet de dĂ©clarer une variable dont la valeur ne peut plus ĂȘtre modifiĂ©e aprĂšs initialisation ?

A. static
B. final
C. const
D. fixed
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
En Java, 'final' est utilisé pour créer des constantes.

QCM 5 Corrigé

OĂč sont stockĂ©es les variables de type primitif en Java lorsqu'elles sont dĂ©clarĂ©es dans une mĂ©thode ?

A. Dans la pile (Stack)
B. Dans le tas (Heap)
C. Sur le disque dur
D. Dans le cache processeur uniquement
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Les variables locales et les types primitifs sont stockés dans la pile pour un accÚs rapide.

QCM 6 Corrigé

Quelle est la valeur par défaut d'une variable d'instance de type 'int' ?

A. null
B. 1
C. 0
D. -1
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Les types numériques primitifs sont initialisés à 0 par défaut s'ils sont des variables d'instance.

QCM 7 Corrigé

Quelle est la valeur par défaut d'une variable de type objet (comme String) non initialisée ?

A. 0
B. false
C. ""
D. null
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Toute référence d'objet pointe vers 'null' (aucune adresse) par défaut.

QCM 8 Corrigé

Lequel de ces choix est une déclaration de variable valide en Java ?

A. int 1Nombre = 5;
B. double prix$ = 19.99;
C. boolean class = true;
D. float valeur-totale = 10.5f;
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Le symbole $ est autorisé, contrairement au début par un chiffre ou l'usage de mots-clés réservés (class).

QCM 9 Corrigé

Quel type primitif offre la plus grande précision pour les nombres décimaux ?

A. float
B. long
C. double
D. decimal
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le type 'double' (double précision) utilise 64 bits contre 32 pour le 'float'.

QCM 10 Corrigé

Que se passe-t-il si vous essayez d'utiliser une variable locale sans l'avoir initialisée ?

A. Le programme affiche 0
B. Le programme affiche null
C. Une erreur de compilation survient
D. La variable est supprimée automatiquement
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Contrairement aux variables d'instance, Java exige l'initialisation explicite des variables locales.

QCM 11 Corrigé

Quel type de données utiliseriez-vous pour stocker un seul caractÚre Unicode ?

A. String
B. byte
C. char
D. Character
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le type primitif 'char' est conçu pour stocker un caractÚre unique sur 16 bits.

QCM 12 Corrigé

L'expression 'int x = (int) 5.9;' est un exemple de :

A. Casting implicite
B. Promotion de type
C. Erreur de syntaxe
D. Casting explicite (Narrowing)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
On force la conversion d'un double vers un int, ce qui entraßne une perte de précision (tronquage).

QCM 13 Corrigé

Quelle est la portée (scope) d'une variable déclarée à l'intérieur d'une boucle 'for' ?

A. Toute la classe
B. Uniquement à l'intérieur de la boucle
C. Toute la méthode contenant la boucle
D. Tout le package
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une variable déclarée dans un bloc n'existe que dans ce bloc délimité par les accolades.

QCM 14 Corrigé

Lequel de ces types consomme le moins de mémoire ?

A. short
B. int
C. byte
D. long
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le type 'byte' ne consomme que 8 bits (1 octet).

QCM 15 Corrigé

Quel mot-clé permet de créer une variable partagée par toutes les instances d'une classe ?

A. public
B. final
C. volatile
D. static
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Une variable 'static' appartient à la classe et non à un objet spécifique.

QCM 16 Corrigé

En Java, le passage des variables primitives à une méthode se fait :

A. Par référence
B. Par valeur (une copie est créée)
C. Par pointeur
D. Par adresse mémoire directe
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Java passe toujours une copie de la valeur pour les types primitifs.

QCM 17 Corrigé

Quelle classe 'Wrapper' correspond au type primitif 'int' ?

A. Int
B. Integer
C. Number
D. Decimal
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Integer est la classe objet qui enveloppe le type primitif int.

QCM 18 Corrigé

Que signifie l'autoboxing en Java ?

A. La conversion automatique d'un primitif en son objet Wrapper correspondant
B. Le rangement automatique du code
C. La suppression des variables inutilisées
D. La création de boucles automatiques
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Java transforme par exemple un 'int' en 'Integer' sans intervention explicite du développeur.

QCM 19 Corrigé

Comment déclare-t-on une constante globale en Java (convention standard) ?

A. final static int maValeur = 10;
B. public final static int MA_VALEUR = 10;
C. static int MA_VALEUR = 10;
D. const int maValeur = 10;
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'usage de public final static avec un nom en majuscules est la norme pour les constantes globales.

QCM 20 Corrigé

Lequel de ces types ne peut pas stocker la valeur 500 ?

A. byte
B. short
C. int
D. long
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Un 'byte' est limité aux valeurs allant de -128 à 127.

QCM 21 Corrigé

Quel symbole est utilisé pour séparer les chiffres d'un grand nombre pour le rendre plus lisible (depuis Java 7) ?

A. Le point (.)
B. La virgule (,)
C. L'underscore (_)
D. L'espace
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
On peut écrire 1_000_000 pour faciliter la lecture du code.

QCM 22 Corrigé

Dans 'String s = new String("Hello");', que contient réellement la variable 's' ?

A. Le mot "Hello"
B. La premiĂšre lettre 'H'
C. La taille du texte
D. L'adresse mémoire de l'objet dans le tas
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Pour les objets, la variable contient une rĂ©fĂ©rence (adresse), pas la donnĂ©e elle-mĂȘme.

QCM 23 Corrigé

Lequel de ces types est un type intégral (sans virgule) ?

A. float
B. long
C. double
D. boolean
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
byte, short, int et long sont les quatre types primitifs intégraux.

QCM 24 Corrigé

Quelle est l'unité de stockage minimale en Java ?

A. Le bit
B. L'octet (byte)
C. Le mot (word)
D. Le pixel
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
MĂȘme un boolean occupe gĂ©nĂ©ralement 1 octet en mĂ©moire pour des raisons d'alignement.

QCM 25 Corrigé

Quel est l'intĂ©rĂȘt principal d'utiliser des types primitifs plutĂŽt que des objets Wrapper ?

A. Ils possÚdent plus de méthodes
B. Ils permettent l'héritage
C. Ils sont plus performants et consomment moins de mémoire
D. Ils peuvent ĂȘtre null
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Les primitifs Ă©vitent la surcharge liĂ©e Ă  la crĂ©ation d'objets (gestion du tas, en-tĂȘtes d'objets).

QCM 26 Corrigé

Comment forcer un littĂ©ral numĂ©rique Ă  ĂȘtre traitĂ© comme un 'long' ?

A. En ajoutant un 'L' Ă  la fin (ex: 10L)
B. En le mettant entre parenthĂšses
C. En utilisant des guillemets
D. Java le devine tout seul sans suffixe
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le suffixe L (ou l) indique au compilateur que le nombre dépasse potentiellement la taille d'un int.

QCM 27 Corrigé

Le type 'char' en Java est basé sur quel codage ?

A. ASCII (8 bits)
B. UTF-32
C. EBCDIC
D. Unicode UTF-16
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Java a été conçu pour supporter l'internationalisation dÚs le départ via l'Unicode.

QCM 28 Corrigé

Une variable 'static' est aussi appelée :

A. Variable locale
B. Variable de classe
C. Variable dynamique
D. Variable privée
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
On l'appelle ainsi car elle est liée à la définition de la classe et non à ses instances.

QCM 29 Corrigé

Quelle erreur est générée par 'int x = 10.5;' ?

A. NullPointerException
B. StackOverflowError
C. Type mismatch (incompatibilité de type)
D. ArrayIndexOutOfBoundsException
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
On ne peut pas mettre un double dans un int sans casting explicite.

QCM 30 Corrigé

Quelle est la rĂšgle de nommage 'CamelCase' pour une variable ?

A. MAVARIABLE
B. MaVariable
C. ma_variable
D. maVariable
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Pour les variables, la premiĂšre lettre est minuscule, et les mots suivants commencent par une majuscule.

Mots & Définitions
Consultez les définitions des termes importants.

La portĂ©e dĂ©finit la zone du programme oĂč une variable est accessible. Elle dĂ©pend de l’endroit oĂč la variable est dĂ©clarĂ©e. Une bonne gestion de la portĂ©e Ă©vite de nombreuses erreurs.

Le mot-clĂ© static permet de partager une variable entre toutes les instances d’une classe. La variable appartient alors Ă  la classe elle-mĂȘme. Elle est accessible sans crĂ©er d’objet.

L’autoboxing est la conversion automatique d’un type primitif en son objet Wrapper correspondant. Il simplifie l’écriture du code. Ce mĂ©canisme est gĂ©rĂ© directement par le langage Java.

Une classe Wrapper encapsule un type primitif sous forme d’objet. Elle permet d’utiliser les primitives dans des structures orientĂ©es objet. Elle est indispensable dans certaines API Java.

Le casting consiste Ă  convertir une valeur d’un type vers un autre. Il peut ĂȘtre implicite ou explicite selon les cas. Un casting mal utilisĂ© peut entraĂźner des pertes de prĂ©cision.

La valeur par dĂ©faut est la valeur automatiquement attribuĂ©e Ă  une variable d’instance non initialisĂ©e. Elle dĂ©pend du type de la variable. Elle Ă©vite l’utilisation de donnĂ©es indĂ©finies.

Le tas est la zone mĂ©moire oĂč sont stockĂ©s les objets créés dynamiquement. Il est gĂ©rĂ© automatiquement par le ramasse-miettes. Les objets y persistent tant qu’ils sont rĂ©fĂ©rencĂ©s.

La pile est une zone mĂ©moire utilisĂ©e pour stocker les variables locales et les appels de mĂ©thodes. Elle fonctionne selon un principe d’empilement. Son accĂšs est rapide mais sa taille est limitĂ©e.

Le mot-clĂ© final permet d’empĂȘcher la modification d’une variable aprĂšs son initialisation. Il est utilisĂ© pour dĂ©finir des constantes. Il renforce la sĂ©curitĂ© et la lisibilitĂ© du code.

Une variable locale est dĂ©clarĂ©e Ă  l’intĂ©rieur d’une mĂ©thode ou d’un bloc. Elle n’existe que durant l’exĂ©cution de ce bloc. Elle doit obligatoirement ĂȘtre initialisĂ©e avant utilisation.

Une variable d’instance est dĂ©clarĂ©e dans une classe mais en dehors des mĂ©thodes. Elle appartient Ă  chaque objet créé Ă  partir de cette classe. Sa valeur peut donc varier d’une instance Ă  une autre.

Un type primitif reprĂ©sente une donnĂ©e simple stockĂ©e directement en mĂ©moire. Il ne s’agit pas d’un objet et il ne possĂšde pas de mĂ©thodes. Les types primitifs sont conçus pour ĂȘtre rapides et peu gourmands en ressources.

À propos de ce QCM

C ette sĂ©rie de QCM permet d’explorer en profondeur la gestion des variables et des types de donnĂ©es en Java.

Elle met en évidence la distinction essentielle entre les types primitifs et les objets, ainsi que leur impact sur la mémoire et les performances.

Comprendre oĂč et comment les donnĂ©es sont stockĂ©es, dans la pile ou dans le tas, aide Ă  mieux anticiper le comportement des programmes.

Les questions abordent également les notions de portée et de durée de vie des variables.

Savoir qu’une variable locale doit ĂȘtre initialisĂ©e avant usage ou qu’une variable d’instance possĂšde une valeur par dĂ©faut permet d’éviter des erreurs frĂ©quentes.

Ces concepts renforcent la rigueur dans l’écriture du code et facilitent le dĂ©bogage.

Les mécanismes liés à la conversion de types occupent aussi une place importante.

Le casting explicite, l’autoboxing et l’utilisation des classes Wrapper illustrent la maniĂšre dont Java combine efficacitĂ© et orientation objet.

Ces notions sont essentielles pour comprendre les interactions entre primitives et objets, notamment dans les collections ou les API standards.

Les QCM mettent enfin en avant des notions de conception courantes, comme l’utilisation du mot-clĂ© static pour partager des donnĂ©es ou la dĂ©finition de constantes globales.

L’ensemble de ces thĂšmes dĂ©veloppe la comprĂ©hension thĂ©orique, l’entraĂźnement ciblĂ© et l’auto-Ă©valuation.

Cette approche progressive prépare efficacement aux examens, aux concours et aux projets professionnels nécessitant une maßtrise fine des bases du langage Java.

Conclusion

C es QCM offrent un cadre pédagogique solide pour maßtriseCes QCM offrent un cadre pédagogique structuré pour consolider les bases essentielles de la gestion des variables et des types en Java.

Ils permettent de mieux comprendre le fonctionnement interne du langage, les rÚgles de mémoire et les bonnes pratiques de déclaration.

En s’entraĂźnant rĂ©guliĂšrement, l’utilisateur renforce sa logique, gagne en prĂ©cision et amĂ©liore la qualitĂ© de son code.

Cette progression continue constitue un atout majeur pour réussir les évaluations et évoluer vers des concepts Java plus avancés avec confiance et méthode.r la modélisation temporelle en UML.

Ils permettent de comprendre comment les objets évoluent dans le temps et comment les événements influencent leur comportement.

En s’entraĂźnant rĂ©guliĂšrement, l’utilisateur consolide ses connaissances, gagne en prĂ©cision dans son analyse et dĂ©veloppe une vision plus rigoureuse des systĂšmes sensibles au temps.

Cette progression renforce la confiance, facilite la réussite aux évaluations et prépare efficacement à la conception de systÚmes fiables, synchronisés et professionnels.

↑