6
 Test et QCM JAVA Auteur Agnès Guerraz Date : Octobre 2006 Module : TC2 Instructions pour le QCM : Ce Test / QCM sert à vérifier vos connaissances du langage java. Cochez le ou les réponses parmi les choix proposés, vous pouvez ajouter des explications supplémentaires aux choix que vous proposez. Répondez par des phrases aux questions posées. 1. Classe et constructeur 1. Donn er la déf init io n d'une classe  ___________ ___________  ___________ ___________  ___________ ___________  ___________ ___________ 2. Quel le e st l a visi bi li té d 'une c las se publique, quelle est la visibilité par défaut?  ___________ ___________  ___________ ___________  ___________ ___________  ___________ ___________ 3. Qu'e st-ce qu 'une classe abstraite ? Quelle est la syntaxe Java pour la définir ?  ___________ ___________  ___________ ___________  ___________ ___________  ___________ ___________ 4. Qu'est- ce qu 'une méthode de cla sse? Qu elle sy ntaxe java permet de dé finir u ne tell e méthode ?  ___________ ___________  ___________ ___________  ___________ ___________ 5. Qu'est- ce qu'u ne sous-classe d'une classe ? quelle syntaxe java permet de définir une sous-classe?  ___________ ___________  ___________ ___________  ___________ ___________ 6. Que s e pas se-t -il lo rsqu'une cl asse p ossè de le modi fica teur final ?  ___________ ___________  ___________ ___________  ___________ ___________  ___________ ___________ 

coursj

Embed Size (px)

Citation preview

Page 1: coursj

5/14/2018 coursj - slidepdf.com

http://slidepdf.com/reader/full/coursj 1/6

 

Test et QCM JAVAAuteur Agnès Guerraz

Date : Octobre 2006

Module : TC2

Instructions pour le QCM :

Ce Test / QCM sert à vérifier vos connaissances du langage java.

Cochez le ou les réponses parmi les choix proposés, vous pouvez ajouter des explications

supplémentaires aux choix que vous proposez.

Répondez par des phrases aux questions posées.

1. Classe et constructeur 

1. Donner la définition d'une classe

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

2. Quelle est la visibilité d'une classe publique, quelle est la visibilité par défaut?

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

3. Qu'est-ce qu'une classe abstraite ? Quelle est la syntaxe Java pour la définir ? ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

4. Qu'est-ce qu'une méthode de classe? Quelle syntaxe java permet de définir une telle

méthode ?

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

5. Qu'est-ce qu'une sous-classe d'une classe ? quelle syntaxe java permet de définir unesous-classe?

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

6. Que se passe-t-il lorsqu'une classe possède le modificateur final ?

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

Page 2: coursj

5/14/2018 coursj - slidepdf.com

http://slidepdf.com/reader/full/coursj 2/6

 

7. A quoi sert un constructeur ?

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

8. Que fait le compilateur lorsque le programmeur n'a pas défini de constructeur ? ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

9. Que fait l'instruction super(); ?

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 

10. Cocher la ou les réponses correctesa 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.

2. Chaîne de développement java

1. Java est un langage

a Compilé

b Interprété

c Compilé et interprèté

d Ni compilé ni interprété

2. La commande permettant d'exécuter une application java est :

a javac

 b java

c exec

3. La commande permettant de compiler un programme java est :

a javac

 b java

c exec

4. Un fichier contenant un programme source java doit posséder l'extension :

a jav

 b exe

c classd java

Page 3: coursj

5/14/2018 coursj - slidepdf.com

http://slidepdf.com/reader/full/coursj 3/6

 

5. Quand un programme java est compilé, le fichier généré possède l'extension :

a jav

 b exe

c classd java

6. Quand un programme java est compilé, le fichier généré est placé dans :

a le répertoire courant le répertoire du fichier source

 b le répertoire du dessus

c le répertoire du dessous

d le répertoire "java"

7. Quels sont les noms possibles pour un fichier contenant la classe "Voiture" ?

a Voiture b voiture

c TestVoiture.java

d Voiture.java

e voiture.java

f voiture.Java

8. Pour exécuter une application java, la classe correspondante doit obligatoirement contenir 

une méthode main.

a Faux

 b Vrai

9. Pour exécuter une application java dont le programme source est dans le fichier 

"Test.java", je dois taper :

a javac Test

 b javac Test.java

c java Test.java

d javac Test

e java Test

f java Test.class

10. Si ce programme est défini dans un package de nom MonAppli, quelle commande je doislancer et depuis quel répertoire ?

 ____________________________________________________________________ 

 ____________________________________________________________________ 

 ____________________________________________________________________ 

3. Programmation1. 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();

Page 4: coursj

5/14/2018 coursj - slidepdf.com

http://slidepdf.com/reader/full/coursj 4/6

 

a Aucune

 b Cinq

c Trois

d Deux

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

}

quel sera le résultat de l'appel suivant ?B monB=new B(2007);

a une erreur de compilationb une erreur d’exécution

c l'affichage sur la console de "CiaoBonjour 2007"

d l'affichage sur la console de "Bonjour 2007"

3. Héritage, attributs et méthodes (1)

class ClasseA { double x ; }

class ClasseB extends ClasseA { int x ; }

class ClasseC extends ClasseB { char x ; }

Dans une méthode de la ClasseC, quelle variable (en donner le type) est désignée par :x :

this.x :

super.x :

((ClasseB) this).x :

((ClasseA) this).x :

super.super.x :

4. Héritage, attributs et méthodes (2)

class ClasseA{…

public void affiche(){

System.out.println("je suis un objet de ClasseA") ;}}

class ClasseB extends ClasseA{…

public void affiche(){

System.out.println("je suis un objet de ClasseB")} ;…

}

Quel est le résultat de l'exécution du programme suivant ?

public class ClasseTest{

public void main(String [] args) {

ClasseB b = new ClasseB() ;

b.affiche() ;

}

}

Page 5: coursj

5/14/2018 coursj - slidepdf.com

http://slidepdf.com/reader/full/coursj 5/6

 

5. Héritage, attributs et méthodes (3)

class ClasseA{

public void affiche(){

System.out.println("je suis un objet de ClasseA") ;}

}class ClasseB extends ClasseA{

// pas de redéfinition de la méthode affiche

}

class ClasseC extends ClasseB{

public void affiche(){

super.affiche() ;

System.out.println("je suis un objet de ClasseC");}

}

Quel est le résultat de l'exécution du programme suivant ?public class ClasseTest{

public void main(String [] args) {

ClasseC c = new ClasseC() ;

c.affiche() ;}

}

6. Héritage, attributs et méthodes (4)

class ClasseA{

public int i = 12 ;

public int f(){return i;}

public static char g(){return 'A';}

}

class ClasseB extends ClasseA{

public int i = 6 ;public int f(){return -i;}

public static char g(){return 'B';}

}

La suite d'instructions ci-dessous est définie dans la méthode main() de la classe

ClasseTest. Compléter le tableau suivant de façon à indiquer l'action effectuée par 

l'exécution de chacune des instructions de ce programme :

instruction valeur affichée commentaire

ClasseB b = new ClasseB() ;

System.out.println(b.i);

System.out.println(b.f());

System.out.println(b.g());

System.out.println(ClasseB.g());

ClasseA a = (ClasseA) b ;

System.out.println(a.i);

System.out.println(a.f());

System.out.println(a.g());

System.out.println(ClasseA.g());

Page 6: coursj

5/14/2018 coursj - slidepdf.com

http://slidepdf.com/reader/full/coursj 6/6

 

7 Exceptions

7.1/ Quels types d'exception peuvent être attrapés par le cath() suivant ?catch (Exception e) {

 

}7.2/ Quel est l'inconvénient d'employer ce type de cath() d'exception ?

8 E/S

Que retourne une lecture séquentiel pour nous prévenir que nous sommes arrivé à la fin du

fichier?

a EndOfFile()

 b endOfFile()

c EndOffile()

9 E/S

Quel type donnée nous renvoie une lecture dans un fichier?a Un booléen

 b Un substring()

c Un String

10 E/S

Ecrire le résultat de l'exécution du code suivant:

StringTokenizer tokens = new StringTokenizer("These are the times.");

System.out.println( tokens.countTokens()); // Should be 4.

while (tokens.hasMoreTokens())

System.out.println( tokens.nextToken());

11 E/S

L'objet appelé in, nous permet d'obtenir des caractères à partir du dossier mydata.txt, il est

 passé par le FileReader et plus tard passé par le BufferedReader comme suit:

BufferedReader in = new BufferedReader(new FileReader("mydata.txt"));

Ecrire le code permettant de lire une ligne à partir du fichier.