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. 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 une sous-classe? ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ 6. Que se passe-t-il lorsqu'une classe possède le modificateur final ? ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________

Test Java Oct 2006

Embed Size (px)

Citation preview

Page 1: Test Java Oct 2006

Test et QCM JAVAAuteur Agnès GuerrazDate : Octobre 2006Module : 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 une sous-classe?____________________________________________________________________________________________________________________________________________________________________________________________________________

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

Page 2: Test Java Oct 2006

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 correctes 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.

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 javacb javac exec

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

a javacb javac exec

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

a javb exec classd java

Page 3: Test Java Oct 2006

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

a javb exec 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 sourceb le répertoire du dessusc le répertoire du dessousd le répertoire "java"

7. Quels sont les noms possibles pour un fichier contenant la classe "Voiture" ?a Voitureb voiturec TestVoiture.javad Voiture.javae voiture.javaf voiture.Java

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

a Fauxb Vrai

9. Pour exécuter une application java dont le programme source est dans le fichier "Test.java", je dois taper :

a javac Testb javac Test.javac java Test.javad javac Teste java Testf java Test.class

10. Si ce programme est défini dans un package de nom MonAppli, quelle commande je dois lancer 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: Test Java Oct 2006

a Aucuneb Cinqc Troisd 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 compilation b 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: Test Java Oct 2006

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 commentaireClasseB 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: Test Java Oct 2006

7 Exceptions7.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/SQuel type donnée nous renvoie une lecture dans un fichier?

a Un booléen b Un substring() c Un String

10 E/SEcrire 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/SL'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.