1) Quelle sera la valeur de la chaîne c, si le programme s'exécute avec la suivante
ligne de commande?
> java Teste un deux trois
classe publique Teste {
public static void main(String[] args) {
String a = args[0];
String b = args[0];
String c = args[0];
}
}
un
b) dois
c) très
d) Test
e) Une exception ArrayIndexOutOfBoundsException va se produire
2) Indique l'alternative CORRECTE. Laquelle(s) parmi les expressions suivantes
Quels sont les types primitifs en Java ?
I) 5.3f
II) vrai
III) 'a'
IV) "a"
V) nul
a) I, II, III
b) I, II
c) I, II, IV
d) IV, V
e) aucune des précédentes
3) Quelle sera la sortie du programme ci-dessous ?
public class Inicia {
public static void main(String[] args) {
int a = 1;
boolean[] matrice = new boolean[1];
si(matrice[0]) a++;
[Link](a);
}
}
a) 1
b) 2
c) nul
d) Le code ne va pas compiler, car matrice[0] n'a pas été initialisé
e) Le code va compiler, mais une exception sera lancée
4) Laquelle des mots suivants NE peut pas être utilisée comme
identifiants ?
Sinon
b) alors
c) Aller à
d) fil
e) 50valeur
5) Laquelle des déclarations suivantes fera en sorte que la classe ne puisse pas être
étendue (héritée)?
a) classe privée Senha {}
b) classe protégée Senha {}
c) classe finale Senha {}
d) classe statique Senha {}
e) classe abstraite Senha {}
6) Quelle sera la sortie du programme ci-dessous ?
classe publique Teste {
int a;
public static void main(String args[]) {
a = 0;
double b = 2;
[Link](++a + b);
}
}
a) 3
b) 3.0
c) 2
d) 2.0
e) erreur
7) Cochez l'alternative CORRECTE. Lequel des suivants
alternatives représente la déclaration d'un constructeur valide pour le
classe Teste?
I) public void Teste(String s) {}
II) test privé(String s, int a) {}
III) int Teste() {}
IV) constructeur protégé Teste() {}
V) Teste() {}
["I","II","III"]
b) I, II, IV
c) I, II,
d) II, V
e) aucune des précédentes
8) Laquelle des affirmations suivantes est fausse ?
a) Une classe peut avoir des méthodes statiques et non statiques en même temps.
b) Une classe peut avoir des variables statiques et non-statiques en même temps.
tempo.
c) Une méthode statique peut appeler une méthode non statique.
d) Une méthode non statique peut appeler une méthode statique.
e) Les classes peuvent être déclarées comme statiques.
9) (QT-INFO 2004) Em relação a linguagem de programação Java é correto
affirmer que :
a) Tous les méthodes d'une classe abstraite doivent être abstraites.
b) Une classe peut avoir plusieurs superclasses, mais elle peut en implémenter seulement
une interface.
c) Il n'est pas possible d'instancier une interface, mais il est possible d'instancier une
classe abstraite.
d) Les descendants non abstraits d'une classe abstraite n'ont pas besoin
implémenter tous vos méthodes abstraites.
e) Une classe qui implémente une interface et ne définit pas certains
La méthode de cette interface doit être déclarée comme abstraite.
10) (QT-INFO 2005) Lisez le code source en Java ci-dessous et répondez à
question ci-dessous.
classe abstraite Navio {
protected static int i;
private int j;
méthode abstraite vide f();
void final q() {}
// final void h() {} // LIGNE 6
}
classe finale Fragata étend Navio {
int m;
void f() {}
vide h() {}
// void k() {i++;} // LIGNE 12
// vide l() {j++;} // LIGNE 13
// Fragata(int n) {m = n;} // LIGNE 14
public static void main(String args[]) {
Navio mc = new Fragata();
}
}
Quelle est la seule ligne dont on peut retirer le commentaire signalé en
Java par l'utilisation de barres doubles dans ce
code, sans introduire d'erreurs?
a) aucune
b) LIGNE 6
c) LIGNE 12
d) LIGNE 13
e) LIGNE 14
11) (QT-INFO 2005) Lisez le code source en Java ci-dessous et répondez à
question ci-dessous.
paquet esquadra;
classe FragataLiberal {
int nomCommandant;
public int numeroCostado;
protected int vitesse;
private int dotacaoMunicao;
}
Quels attributs de la classe "FragataLiberal" sont accessibles en dehors du package
escouade
a) Aucun
b) numeroCostado
c) numeroCostado et vitesse
d) nomeComandante, numeroCostado e velocidade
e) nomeComandante, numeroCostado, velocidade e dotacaoMunicao
12) (QT-INFO 2005) Lisez le code source en Java ci-dessous, en notant que le
La classe "Hino" utilise l'héritage en dérivant de la native "Thread" et répond à
question suivante.
public class Hino extends Thread {
String refrao;
public Hino(String s) {
refrao=s;
}
public void run() {
[Link](refrao);
}
public static void main(String args[]) {
nouvelle Hino("Viva");
nouvelle Hino("Marinha");
}
}
Quel sera le résultat en essayant de compiler et d'exécuter le programme, en utilisant
les commandes "javac" et "java", respectivement?
a) Ne compile pas.
b) Compile et exécute, mais déclenche une exception.
c) Compile et exécute, mais n'affiche aucune ligne de texte dans la fenêtre de
commande.
d) Compile, exécutez et affichez "Viva" dans la fenêtre de commande.
e) Compile, exécutez et affichez "Viva" et "Marinha" dans la fenêtre de commande.
13) Lequel des codes ci-dessous va compiler, en supposant que i est un entier
e b est un booléen ?
I) si(i = 1) {}
II) si(b = faux) {}
III) si(i) {}
IV) if(b | vrai) {}
V) if(b == i) {}
je
b) II, V
c) III, IV, V
d) II, IV
e) IV, V
14) Quelle alternative présente tous les types valides en tant que paramètre pour
la clause de commutation ?
a) char, int, float
b) court, int, double
c) byte, int, String
d) char, octet, long
e) octet, court et caractère
15) Laquelle des affirmations suivantes est vraie ?
a) La commande break à l'intérieur d'une boucle while fait en sorte que le contrôle soit
passé à la prochaine interaction de la boucle.
b) La commande continue à l'intérieur d'une boucle while fait en sorte que le contrôle soit
passé au prochain bloc de code après la boucle.
c) Le commandement return ne peut pas être utilisé à l'intérieur des boucles.
d) Toutes les affirmations ci-dessus sont vraies.
e) Toutes les affirmations ci-dessus sont fausses.
16) Quelle sera la sortie du programme ci-dessous ?
Remarque : Considérer les résultats présentés dans la version 1.6
classe publique Teste {
public static void main(String args[]) {
essayer {
double f = 10.0 / 0.0;
[Link](f);
}
catch(ArithmeticException ae) {
[Link]("Erreur de Division");
}
}
a) 0,0
b) 10.0
c) Infini
d) / par Zéro
e) Erreur de compilation
17) (QT-INFO 2006) Mettez F(faux) ou V(vrai) dans les affirmations
abaixo, em relação à manipulação de String "Marinha" usando a linguagem
de programmation JAVA, en indiquant ensuite l'option correcte.
Obs: "ar" -> representa a string ar.
'2' -> représente le caractère 2.
Dado: String nome = "Marinha"
( ) [Link]() = 7
( ) [Link](2) ='a'
( ) [Link]('i') = 3
( ) [Link]() + 3 = 10
( ) [Link]() + "3" = "73"
a) V V V F F
b) V F V V V
c) F F F V V
d) V V F F V
e) V F V V F
18) (QT-INFO 2006) Observer le passage de programme :
classe publique Exemple {
public static void main(String[] args) {
Marinha du Brésil
Sur la base de la classe Java ci-dessus, cochez l'option correcte.
Obs: JVM (Java Virtual Machine).
a) La méthode main doit prendre le tableau args comme paramètre
à être exécuté.
b) Les modificateurs public et class sont inutiles pour exécuter
le code.
c) Son exécution dépendra de la version de la JVM utilisée.
d) Cette classe ne sera pas exécutée par la JVM.
e) La méthode main est la première à être appelée et exécutée par la JVM.
19) (QT-INFO 2006) Analyse les affirmations ci-dessous en relation avec le recours de
le multithreading présent dans le langage de programmation JAVA.
I - Le code qui exécute réellement les opérations d'un "thread" est
placé dans la méthode start().
II - "fil" est un flux d'exécution d'un programme qui peut être
exécuté simultanément avec d'autres flux.
III - La priorité d'un "thread" est représentée par une constante
entière qui peut varier entre 0 et 5.
IV - L'ordonnanceur (scheduler) a pour fonction de maintenir le "thread" de plus
haute priorité en cours.
Cochez l'option correcte.
a) Seules les affirmations I, II et III sont vraies.
b) Seules les affirmations I et III sont vraies.
c) Seules les affirmations II et IV sont vraies.
d) Seule l'affirmation IV est vraie.
e) Seule l'affirmation III est vraie.
(QT-INFO 2007) En ce qui concerne le langage de programmation JAVA, donné le
déclaration :
La valeur de str[1] est
un
ab
abc
d) " "
e) 0
(QT-INFO 2008) Dans le contexte du langage JAVA, laquelle des options
ci-dessous tous les identifiants (séparés par des virgules) sont-ils valides ?
a) soma, __nome, $salario, :resultado
b) _$augmentation, nomDuEmployéDuMois, 45ème étage
c) peso, __nome_Do_Funcionario, $salario_Mensal, idade3
d) .marque, 3fois, $salaire, :nombre
e) .classe, _nome1, public, IDADE
22) (QT-INFO 2008) Observer les classes ci-dessous, écrites dans le langage
JAVA.
paquet arithmétique;
classe publique Operacoes {
private int somme(int x, int y) {
int resultado = x + y;
retourner le résultat;
}
}
paquet arithmétique;
classe publique Calculo {
public static void main(String[] args) {
Operacoes operacoes = new Operacoes();
[Link]([Link](3, 4));
}
}
En compilant et/ou en exécutant la classe Calculo, quel sera le résultat ?
a) 7
b) Erreur, car il n'est pas possible d'appeler une méthode d'un autre
classe dans la méthode main(String[] args).
c) 7.0
d) 1
e) Erreur, car la méthode somme(int x, int y) ne peut pas être accessible à partir de
de la classe Calculo.
23) (QT-INFO 2008) Considérez le programme suivant écrit dans le langage
JAVA:
classe publique Numeros {
public static void main(String[] args) {
int x,y;
double z;
x = 5;
y = 2;
z = x / y;
[Link](z);
}
En compilant et/ou en exécutant ce programme, quel sera le résultat ?
a) Erreur de compilation, car les types de données sont incompatibles.
b) 2,5
c) Erreur d'exécution, car il n'est pas possible de faire la conversion dynamique des
types de données.
d) 2
e) 2.0
24) Cochez l'alternative CORRECTE. Quel(s) objet(s) devient(ent)
candidat(s) à la collecte des ordures après l'exécution de la méthode ci-dessous :
public void teste(Object a) {
Objet b = nouveau Objet();
String s = "123";
int i = 100;
a) b, s, i
b) b, s
c) b
d) s
e) i
25) Indique l'alternative CORRECTE. Laquelle des alternatives suivantes peut
apparaître dans le code ci-dessous, dans le but de surcharger le
méthode soma() ?
classe publique Teste {
public int somme(int a, int b) {
retourner a + b;
}
// INSÉRER ICI
I) private int soma(int a, int b) { return a + b; }
II) public long soma(int a, int b) { return (long)a + b; }
III) public int soma(long a, long b) { return a + b; }
IV) void soma(int a) { a++; }
V) public int soma(int c, int d) { return c + d; }
a) I, II, III
b) III, IV
c) IV, V, I
d) II, I
e) aucune des précédentes
26) Que se passera-t-il en compilant et en exécutant la classe ci-dessous ?
classe A {}
classe B {}
classe publique Teste {
public static void main(String args[]) {
A a = new A();
B b = new B();
b = (B)a;
a) Compilation et exécution sans problèmes
b) Erreur de compilation : l'objet B ne peut pas référencer le
c) Erreur de compilation : conversion de l'objet à impossible
d) Erreur d'exécution
e) Aucune des alternatives précédentes
Que se passera-t-il avec le code ci-dessous "[Link]", lorsqu'il sera compilé et
exécuté?
//[Link]
classe publique A {
public B b;
public static void main(String args[]) {
A a = new A();
a.b = new B();
a.b.c = new C();
[Link](a.b.c.d);
//[Link]
classe publique B {
public C c;
}
//[Link]
classe publique C {
public int d;
a) Erreur de compilation dans la classe A
b) Erreur de compilation dans la classe B
c) Erreur de compilation dans la classe C
d) Erreur d'exécution : Variable d non initialisée
e) Sortie : 0
28) Quelle est la méthode responsable de la pause de l'exécution d'un thread jusqu'à
que l'autre signale que cela peut continuer?
a) arrêter()
b) pause()
c) attendre()
d) yield()
e) notifier()
GABARITO
1 a
2 a
3 a
4 e
5 c
6 e
7 d
8 c
9 e
10 c
11 a
12 c
13 d
14 e
15 e
16 c
17 b
18 e
19 c
20 b
21 c
22 e
23 e
24 c
25 b
26 d
27 e
28 c