Vous êtes sur la page 1sur 9

Section 1

Questions
1. Lesquels des éléments suivants sont des identificateurs Java valides?
A. A$B
B. _helloWorld
C. true
D. java.lang
E. Public
F. 1980_s

2. Quelle est la sortie du programme suivant?


1: public class WaterBottle {
2: private String brand;
3: private boolean empty;
4: public static void main(String[] args) {
5: WaterBottle wb = new WaterBottle();
6: System.out.print("Empty = " + wb.empty);
7: System.out.print(", Brand = " + wb.brand);
8: } }
A. La ligne 6 génère une erreur de compilation.
B. La ligne 7 génère une erreur de compilation.
C. Il n'y a pas de sortie.
D. Empty = false, Brand = null
E. Empty = false, Brand =
F. Empty = null, Brand = null

3. Lequel des énoncés suivants est vrai?


4: short numPets = 5;
5: int numGrains = 5.6;
6: String name = "Scruffy";
7: numPets.length();
8: numGrains.length();
9: name.length();
A. La ligne 4 genere une erreur de compilation.
B. La ligne 5 genere une erreur de compilation.
C. La ligne 6 genere une erreur de compilation.
D. La ligne 7 genere une erreur de compilation.
E. La ligne 8 genere une erreur de compilation.

c01.indd 1½4/2014 Page 42


F. La ligne 9 genere une erreur de compilation.
G. Le code se compile tel quel est.

4. Étant donné la classe suivante, laquelle des affirmations suivantes est vraie?
1: public class Snake {
2:
3: public void shed(boolean time) {
4:
5: if (time) {
6:
7: }
8: System.out.println(result);
9:
10: }
11: }

A. Si String result = "done"; est inséré à la ligne 2, le code compile.


B. Si String result = "done"; est inséré à la ligne 4, le code compile.
C. Si String result = "done"; est inséré à la ligne 6, le code compile.
D. Si String result = "done"; est inséré à la ligne 9, le code compile.
E. Aucune des modifications ci-dessus ne rendra le code compile

5. Étant donné les classes suivantes, lesquelles des suivantes peuvent remplacer
indépendamment INSERT IMPORTS HERE pour que le code soit compilé
package aquarium;
public class Tank { }

package aquarium.jellies;
public class Jelly { }

package visitor;
INSERT IMPORTS HERE
public class AquariumVisitor {
public void admire(Jelly jelly) { } }

A. import aquarium.*;
B. import aquarium.*.Jelly;
C. import aquarium.jellies.Jelly;
D. import aquarium.jellies.*;
E. import aquarium.jellies.Jelly.*;
F. Aucun de ces éléments ne permet de compiler le code.

c01.indd 1½4/2014 Page 43


6. Compte tenu des classes suivantes, quel est le nombre maximal d'importations qui peuvent
être supprimées et que le code est toujours compilé?
package aquarium; public class Water { }

package aquarium;
import java.lang.*;
import java.lang.System;
import aquarium.Water;
import aquarium.*;
public class Tank {
public void print(Water water) {
System.out.println(water); } }
A. 0
B. 1
C. 2
D. 3
E. 4
F. Ne compile pas.

7. Compte tenu des classes suivantes, lequel des extraits de code suivants peut être inséré à la
place de INSERT IMPORTS HERE et faire compiler le code?
package aquarium;
public class Water {
boolean salty = false;
}
package aquarium.jellies;
public class Water {
boolean salty = true;
}
package employee;
INSERT IMPORTS HERE
public class WaterFiller {
Water water;
}
A. import aquarium.*;
B. import aquarium.Water;
import aquarium.jellies.*;
C. import aquarium.*;
import aquarium.jellies.Water;

c01.indd 1½4/2014 Page 44


D. import aquarium.*;
import aquarium.jellies.*;
E. import aquarium.Water;
import aquarium.jellies.Water;
F. Aucune de ces importations ne permet de compiler le code.

8. Étant donné la classe suivante, lequel des appels suivants imprime Blue Jay?
public class BirdDisplay {
public static void main(String[] name) {
System.out.println(name[1]);
} }
A. java BirdDisplay Sparrow Blue Jay
B. java BirdDisplay Sparrow "Blue Jay"
C. java BirdDisplay Blue Jay Sparrow
D. java BirdDisplay "Blue Jay" Sparrow
E. java BirdDisplay.class Sparrow "Blue Jay"
F. java BirdDisplay.class "Blue Jay" Sparrow
G. Ne compile pas.

9. Lequel des éléments suivants remplit légalement le vide pour que vous puissiez exécuter la
méthode main () à partir de la ligne de commande?
public static void main( )
A.S tring[] _names
B.S tring[] 123
C. String abc[]
D. String _Names[]
E. String... $n
F. String names
G. None of the above.

10. Parmi les méthodes suivantes, lesquelles sont des méthodes de point d'entrée légales qui
peuvent être exécutées à partir de la ligne de commande?
A. private static void main(String[] args)
B. public static final main(String[] args)
C. public void main(String[] args)
D. public static void test(String[] args)
E. public static void main(String[] args)
F. public static main(String[] args)
G. Aucune de ces réponses précédentes

c01.indd 1½4/2014 Page 45


11. Lequel des énoncés suivants est vrai?
A. Une variable d'instance de type double prend par défaut la valeur null.
B. Une variable d'instance de type int prend par défaut la valeur null.
C. Une variable d'instance de type String prend par défaut la valeur null.
D. Une variable d'instance de type double par défaut vaut 0,0.
E. Une variable d'instance de type int prend la valeur par défaut 0.0.
F. Une variable d'instance de type String prend la valeur par défaut 0.0.
G. Aucune de ces réponses.

12. Lequel desénoncés suivants est vrai?


A. Une variable locale de type boolean prend par défaut la valeur null.
B. Une variable locale de type float prend la valeur par défaut 0.
C. Une variable locale de type Object prend par défaut la valeur null.
D. Une variable locale de type booléen prend par défaut la valeur false.
E. Une variable locale de type booléen vaut par défaut true.
F. Une variable locale de type float prend la valeur par défaut 0.0.
G. Aucune de ces réponses.

13. Lequel des énoncés suivants est vrai?


A. Une variable d'instance de type booléen prend par défaut la valeur false.
B. Une variable d'instance de type booléen prend la valeur par défaut true.
C. Une variable d'instance de type booléen prend par défaut la valeur null.
D. Une variable d'instance de type int prend par défaut la valeur 0.
E. Une variable d'instance de type int prend la valeur par défaut 0.0.
F. Une variable d'instance de type int prend par défaut la valeur null.
G. Aucune de ces réponses.

14. Étant donné la classe suivante dans le fichier /my/directory/named/A/Bird.java:


INSERT CODE HERE
public class Bird { }

Lequel des éléments suivants INSERT CODE HERE si nous compilons à partir de
from/my/directory
A. package my.directory.named.a;
B. package my.directory.named.A;
C. package named.a;
D. package named.A;
E. package a;
F. package A;
G. Ne compile pas.

c01.indd 1½4/2014 Page 46


15. Laquelle des lignes de code suivantes compile?
A. int i1 = 1_234;
B. double d1 = 1_234_.0;
C. double d2 = 1_234._0;
D. double d3 = 1_234.0_;
E. double d4 = 1_234.0;
F. Aucune de ces réponses.

16. Étant donné la classe suivante, laquelle des lignes de code suivantes peut remplacer
INSERT CODE HERE pour que le code soit compilé?
public class Price {
public void admission() {
INSERT CODE HERE
System.out.println(amount);
} }
A. int amount = 9L;
B. int amount = 0b101;
C. int amount = 0xE;
D. double amount = 0xE;
E. double amount = 1_2_.0_0;
F. int amount = 1_2_;
G. Aucune de ces réponses.

17. Lequel des énoncés suivants est vrai?


public class Bunny {
public static void main(String[] args) {
Bunny bun = new Bunny();
} }
A. Bunny est une classe.
B. bun est une classe.
C. main est une classe.
D. Bunny est une référence à un objet.
E. bun est une référence à un objet.
F. main est une référence à un objet.
G. Aucune de ces réponses.

18. Qui représentent l'ordre dans lequel les instructions suivantes peuvent être assemblées
dans un programme qui se compilera avec succès?
A: class Rabbit {}
B: import java.util.*;
C: package animals;

c01.indd 1½4/2014 Page 47


A. A, B, C
B. B, C, A
C. C, B, A
D. B, A
E. C, A
F. A, C
G. A, B

19. Supposons que nous ayons une classe nommée Rabbit. Laquelle des affirmations
suivantes est vraie?
1: public class Rabbit {
2: public static void main(String[] args) {
3: Rabbit one = new Rabbit();
4: Rabbit two = new Rabbit();
5: Rabbit three = one;
6: one = null;
7: Rabbit four = one;
8: three = null;
9: two = null;
10: two = new Rabbit();
11: System.gc();
12: } }
A. L'objet Rabbit de la ligne 3 est d'abord éligible pour le garbage collection
immédiatement après la ligne 6.
B. L'objet Rabbit de la ligne 3 est d'abord éligible pour le garbage collection
immédiatement après la ligne 8.
C. L'objet Rabbit de la ligne 3 est d'abord éligible pour le garbage collection
immédiatement après la ligne 12.
D. L'objet Rabbit de la ligne 4 est d'abord éligible pour le garbage collection
immédiatement après la ligne 9.
E. L'objet Rabbit de la ligne 4 est d'abord éligible pour le garbage collection
immédiatement après la ligne 11.
F. L'objet Rabbit de la ligne 4 est d'abord éligible pour le garbage collection
immédiatement après la ligne 12.

20. Qu'est-ce qui est vrai dans le code suivant?


public class Bear {
protected void finalize() {
System.out.println("Roar!");
}

c01.indd 1½4/2014 Page 48


public static void main(String[] args) {
Bear bear = new Bear();
bear = null;
System.gc();
} }
A. finalize () est garanti pour être appelé.
B. finalize () peut ou non être appelé.
C. finalize () est garanti de ne pas être appelé.
D. L'exécution du garbage collection est garantie.
E. Le garbage collection peut s'exécuter ou non.
F. Le garbage collection est garanti de ne pas s'exécuter.
G. Le code ne se compile pas.

21. Que produit le code suivant?


1: public class Salmon {
2: int count;
3: public void Salmon() {
4: count = 4;
5: }
6: public static void main(String[] args) {
7: Salmon s = new Salmon();
8: System.out.println(s.count);9: } }
A. 0
B. 4
C. La compilation échoue sur la ligne 3.
D. La compilation échoue sur la ligne 4.
E. La compilation échoue sur la ligne 7.
F. La compilation échoue sur la ligne 8.

22. Lesquelles des affirmations suivantes sont vraies?


A. Java permet la surcharge des opérateurs.
B. Le code Java compilé sous Windows peut fonctionner sous Linux.
C. Java a des pointeurs vers des emplacements spécifiques en mémoire.
D. Java est un langage procédural.
E. Java est un langage orienté objet.
F. Java est un langage de programmation fonctionnel.

c01.indd 1½4/2014 Page 49


23. Lequel des énoncés suivants est vrai?
A. javac compile un fichier.class en un fichier.java.
B. javac compiles a .java file into a .bytecode file.
C. javac compiles a .java file into a .class file.
D. Java prend le nom de la classe comme paramètre.
E. Java prend le nom du fichier .bytecode comme paramètre.
F. Java takes the name of the .classfile as a parameter.

c01.indd 1½4/2014 Page 50

Vous aimerez peut-être aussi