Vous êtes sur la page 1sur 15

1-Qu’est-ce que Java ?

Réponse
a)-Java est un langage de programmation de haut niveau qui a été développé par
James Gosling en 1982. Il est basé sur les principes de la programmation orientée objet
et peut être utilisé pour développer des applications à grande échelle.
b)-
c)-

2-. Quel est le composant utilisé pour la compilation, le débogage et


l’exécution des programmes java ?
A JDK
B JVM
C JRE
D JIT
Reponse :A

3- String en Java est


A une classe
B un objet
C une variable
D un tableau de char
Réponse:A

4. Laquelle de ces méthodes de la classe String est utilisée pour obtenir le


caractère à l’index spécifié?
A charAt()
B Charat()
C charat()
D char()
Réponse :A

5. Quel est la sortie du code suivant?


1 public class Main{
2 public static void main(String args[]){
3 String str1 = "Bob";
4 String str2 = "Ali";
5 System.out.println(str1.charAt(0) > str2.charAt(0));
6 }
7 }

A false
B true
C0
D1
Réponse :B

6- Laquelle de ces méthodes de la classe String peut être utilisée pour tester
l’égalité des chaînes de caractères?
A equal()
B equals()
C isequals()
D isequal()
Réponse :B
7- Quel est la sortie du code suivant?
public class Main{
public static void main(String
args[]){ String str1 = new
String("jike"); String str2 = new
String("jika");
System.out.println(str1 = str2);
}
A jike
B jika
C true
D false
Reponse :B

8- Quel est la sortie du code suivant?

A true
public class Main{
B false
C 1public static void main(String args[]){
D0
String str1 = new

String("WayToLearnX"); String str2 =

new String(str1);

System.out.println(str1 == str2);

}
Reponse :B

9- Quel est la sortie du code suivant?


public class Main{
public static void main(String
args[]){ String str1 = "BOB";
String str2 = "BOB";
System.out.println(str1.equals(str2));
System.out.println(str1 == str2);
}
}
A false false
B false true
C true false
D true true
Reponse :D

10- Lequel de ces mots clés est utilisé pour faire référence à un membre de la
classe mére dans une classe fille?
A this
B super
C upper
D Aucune de ces réponses n’est vraie.
Reponse :B

11- Lesquelles des affirmations suivantes sont incorrectes?


A String est une classe
B Les Strings en java sont mutables
C Chaque chaîne est un objet de classe String
D Java définit une classe appelée StringBuffer, qui permet de modifier une chaîne.
Réponse :B

12- Lequel de ces opérateurs peut être utilisé pour concaténer deux ou
plusieurs objets String?
A+
B =+
C&
D ||
Réponse :A

13- Laquelle de ces méthodes de la classe String est utilisée pour obtenir la
longueur d’une chaîne de caractères?
A length()
B lengthof()
C Sizeof()
D get()
Réponse :A

14- Lequel de ces constructeurs est utilisé pour créer une chaîne vide?
A String()
B String(0)
C String(void)
D Aucune de ces réponses n’est vraie.
RéponseA

15- Quel est la sortie du code suivant?

public class Main

public static void main(String args[])

String s = "Welcome " + "to " +

"WayToLearnX"; System.out.println(s);

A Welcome
B to
C WayToLearnX
D Welcome to WayToLearnX
RéponseD

16- Quel est la sortie du code suivant?

public class Main

public static void main(String args[])

String str = "Welcome to WayToLearnX"; System.out.println(str.charAt(4));


}
}

A c
B l
C o
Dm
Réponse :C

17- Laquelle de ces méthodes de la classe String est utilisée pour vérifier si un
objet donné commence par une chaîne particulier?
A endsWith()
B startsWith()
C Starts()
D start()
Réponse B

18- Quel est la sortie du code suivant?

public class Main

public static void main(String args[])

String str = "BOB";

System.out.println(str.length());

A2
B3
C4
D1
Réponse B

19- Quelle est la valeur renvoyée par


<<str1.compareTo(str2>>
si str1 est inférieure à str2?
A zéro
B valeur inférieure à zéro
C valeur supérieure à zéro
D Aucune de ces réponses n’est vraie.
Réponse B

20- Quel type de valeur est renvoyée par la méthode equals() de la classe String?
A char
B boolean
C int
D Aucune de ces réponses n’est vraie.
Réponse B

21- Quel est la sortie du code suivant?

public class Main{

public static void main(String

args[]){ String a = "bob";

int b = 5;

System.out.println(a +=

b);

A bob
B 5bob
C bob5
D Erreur de compilation.
Réponse C

22- La méthode toString() est définie dans


Ajava.lang.Object
java.lang.String
Bjava.lang.util
éApouncsuene de ces réponses n’est vraie.
Reponse :A

23- Quel est la sortie du code suivant ?

public class Main{

public static void main(String args[]){ String s1 = "s1";


String s2 = s1.concat("s2");

System.out.println(s2);

A s1
B s1s2
C s2
D s1s1
Reponse :B

24- Quel est la sortie du code suivant?

public class Main{

public static void main(String

args[]){ char tab[] = {'a', 'b',

'c'};

String str = new

String(tab);

System.out.println(str);

Aa
Bb
Cc
D abc
Réponse :D

25- Comment ca s’appelle si un objet a sont propre cycle de !


A-Agregation

B-composition

C-encapsulation
D-association

Reponse :D

26. Java est un langage


(a) Compilé

(b) Interprèté

(c) Compilé et interprèté

(d) Ni compilé ni interprété

Le compilateur compile le code source vers un bytecode, la machine virtuelle Java

(JVM) interprète ce bytecode

27- Java est un langage développé par

(a) Hewlett-Packard

(b) Sun Microsystems

(c) Microsoft

(d) Oracle

Par James Gosling chez Sun.

28- Combien d’instances de la classe A crée le code

suivant? A x,u,v;

x=new A();

A y=x;

A z=new A();

(a) Aucune
(b) Cinq

(c) Trois

(d) Deux

Il y a deux instances de A cr´e´ees par les deux new, la première est référencée par x et

y, la deuxième par z.

29- Pour la classe B définie comme suit:

class B {

public B(){System.out.print(”Ciao”);};

public B(int i) {this(); System.out.println(”Bonjour ”+i);};

qu’affichera l’instruction

suivante? B monB=new B(2003);

(a) erreur de compilation

(b) erreur d’ex´ecution

(c) CiaoBonjour 2003

(d) Bonjour 2003

L’instruction invoque le constructeur avec un argument entier (2003). Ce dernier

appelle explicitement le constructeur sans arguments (this()) qui imprime ”Ciao”,


et ensuite le message ”Bonjour 2003” est
imprimé. 30-

(a) Une classe peut implémenter plusieurs interfaces mais doit étendre une seule classe

(b) Une classe peut implémenter plusieurs classes mais doit étendre une seule interface

(c) Une classe peut implémenter plusieurs classes et peut étendre plusieurs interfaces

(d) Une classe doit implémenter une seule interface et étendre une seule classe

C’est comme ca

31-. La liaison tardive est essentielle pour assurer

(a) l’encapsulation

(b) le polymorphisme

(c) l’héritage

(d) la marginalisation

La marginalisation n’a rien à voir avec la programmation. La liaison tardive dynamique permet
d’ utiliser pour chaque objet sa propre version d’une méthode (en

fonction de la classe de l’objet déterminée à l’exécution). Ceci permet d’obtenir

un code polymorphe.

32-. Etant donné que la classe Grande étend la classe Petite, trouvez une ligne correcte parmi les

suivantes

(a) Petite y =new Petite(); Grande x= (Grande)y; Petite z=x;


La deuxième affectation Grande x= (Grande)y; essaye de transformer un objet

(référencé par y) de la classe Petite vers un objet de sa sous-classe Grande. Un

tel downcasting est impossible.

(b) Grande x= new Grande(); Petite y = x; Grande z=(Grande)y;

Tout va bien. On crée un objet de classe Grande réferencé par x. Ensuite on fait

une variable y (de type Petite) référencer le même objet – c’est un upcasting explicite

qui est toujours possible. A la fin on fait encore une référence z (cette fois Grande)

sur ce même objet. Ce dernier downcasting est possible parce que l’objet est en fait

une instance de la classe Grande.

(c) Grande x= new Grande(); Petite y = x; Grande z=y;

C’est presque comme dans le cas précedent, mais la dernière affectation Grande

z=(Grande)y; est un downcasting implicite, ce qui est interdit.

(d) Petite y =new Petite(); Grande x= (Grande)y; Petite z=(Petite)x;

Grande x=(Grande)y; est un downcasting impossible, comme dans le (a).

33- Pour la classe C définie comme suit:

class C {

public static int i;

public int j;

public C() {i++; j=i; }


}

qu’affichera le code suivant?

C x=new C(); C y=new C(); C z= x;

System.out.println(z.i + ” et ” + z.j);

(a) 2 et 2

(b) 1 et 1

(c) 2 et 1

(d) 1 et 3

On remarque d’abord, que i est une variable (statique) de classe commune à toutes

les instances, tandis que chaque objet de la classe a son propre j. Donc, après

la première affectation on a i=1, x.j=1; après la deuxième: i=2, y.j=2 (x.j a resté

inchangé et égal à 1); la troisième n’appelle pas le constructeur mais fait z référencer

le même objet que x. D’où z.i est la valeur globale de i, c-à-d 2, et z.j=x.j=1.

34- Pour les classes A et B définies comme suit:

class A { class B extends A {

public int x; public B() {x++;}

public A() {x=5; } public B(int i){this(); x=x+i; }

} public B(String s){super(); x- -; }


}

qu’affichera le code suivant?

B b1=new B(); B b2 =new B(2003); B b3= new B(”Bonjour”);

System.out.println(b1.x + ” et ” + b2.x + ” et encore ” + b3.x );

(a) 6 et 2009 et encore 4

(b) 1 et 2004 et encore 4

(c) 1 et 2004 et encore 2003

(d) autre chose

Le constructeur B() n’appelle explicitement ni this(), ni super(). Donc, par con-

vention, le constructeur de la super-classe A est appelé (implicitement) avant de

procéder. Ceci donne b1.x=6. Le constructeur B(2003) appelle le constructeur

précédent avec le this(), ce qui donne b2.x=6. Ensuite on y ajoute 2003, ce qui

donne finalement b2.x=2009 Le constructeur B(”Bonjour”) appelle le constructeur

de la super-classe A avec le super(). Ceci donne b3.x=5. Ensuite on le decrémente

et on a finalement b3.x=4.

35- Pour les classes Machin et Bidul définies comme suit:

class Machin { class Bidul extends Machin {

public int f() {return(5) }; public int f() {return(2) };


public static int g() {return (6);} public static int g() {return (4); }

}}

qu’affichera le code suivant?

Bidul b=new Bidul(); Machin m =b;

System.out.println(m.f()*m.g());

(a) 30

(b) 20

(c) 8

(d) 12

36- Comment afficher Hello à l’écran en JAVA ?

37- Quel est le mot clef pour sinon ?

38- Quelle paire de symboles caractérise les tableaux (cocher la case) ?

39- Que dois-je écrire pour créer un tableau d’entier possédant 8 cases ?

Int tab[] ;

Tab = new int [8] ;

40- Lequel/Lesquels de ces mots clef permettent de déclarer un nombre à virgule ?

41- Que dois-je écrire pour déclarer un entier a ?

42- J’ai un tableau tab. Quelle est sa taille ?

43- Quand on écrivait du code dans un fichier en TP de JAVA, quelle était l’extension du fichier (le
mot situé apres le point dans le nom de fichier) ?

44- Comment récupérér la valeur saisir du clavier en JAVA ?

45- Java est un langage :

a) Compilé
b) Interprèté
c) Compilé et Interprété
d) Ni Compilé ni Interprété

46- La liaison tardive est essentielle pour assurer :

a) L’encapsulation
b) Le polymorphisme
c) L’héritage
d) La marginalisation

47- J’ai écrit un programme dans le fichier Main.java. Quelle sont les deux commandes à écrire (dans
l’invite de commande Windows) afin de compiler mon programme puis de l’exécuter ?

48- Ecrire un programme en java qui détermine le produit de deux matrices.

49- Voici un extrait de code permettant de remplir toutes les cases du tableau tab avec le chiffre 4 :

Int compteur=0 ;

While(compteur<=0)

Tab [compteur]=4 ;

Combien de cases possède le tableau tab ?

50- Cet extrait de code est sensé inverser les valeurs de a et de b. Fonctionne-t-il ? Si non, corrige-le.

Int c ;

C=a ;

A=b ;

B=c ;

Vous aimerez peut-être aussi