Escolar Documentos
Profissional Documentos
Cultura Documentos
para o
Exame de Certificao em Java
Captulo 01
Questionrio
1. Verdadeiro ou Falso: Um tipo de dados assinado tem um nmero igual de
non-zero positivo e negativo estima disponvel.
Falso. O alcance de nmero negativo maior por 1 que o alcance
de nmeros positivos.
2. Escolha o identificadores vlido desses listados abaixo.
A. Big01LongStringWi
B. $int
C. bytes
D. $1
E. finalista
Todos os identificadores so vlidos.
3. O qual das assinaturas seguintes so vlidos para o principal () ponto de
entrada de mtodo de uma aplicao?
B. pblico arg de main(String nulo esttico [])
D. pblico main(String nulo esttico [] arg)
As alternativas B e D so ambas aceitveis.
4. Se todos os trs " elementos de topo-nvel " acontecem em um arquivo de
fonte, eles tm que aparecer em qual ordem?
A. Importaes, declarao de pacote, classes,
B. Classes, importaes, declaraes de pacote,
C. Declarao de pacote tem que vir primeiro; ordene para importaes
e definies de classe no so significantes.
D. Empacote declarao, importaes, classes,
E. Importaes tm que vir primeiro; ordene para declarao de pacote e
definies de classe no so significantes.
A alternativa D est correto. Esta ordem deve ser observada
estritamente.
Captulo 02
1. Depois de execuo do fragmento de cdigo abaixo, quais so os valores
das variveis x, a e b ?
1. int x, a = 6, b = 7;
2. x = a++ + b++;
A. x = 15, a = 7, b = 8
B. x = 15, a = 6, b = 7
C. x = 13, a = 7, b = 8
D. x = 13, a = 6, b = 7
A alternativa C est correta. A declarao de tarefa avaliada se era
x = a + b;
a = a + 1;
b = b + 1;
Ento a tarefa para x que usa a soma de 6 + 7 = 13. Depois da
adio, os valores de a e b so incrementados, so armazenados os
novos valores, 7 e 8, nas variveis.
2. Qual das expresses seguintes so legais? (Escolha uma ou mais)
A. int x = 6; x =!x;
B. int x = 6; if (! (x>3)) {}
C. int x = 6; x = ~x;
As alternativas B e C esto corretas. Em A o uso de ! imprprio,
desde que x de tipo de int, no boolean. Este um engano comum entre
programadores de C e C++, desde que a expresso seria vlida nesses
idiomas. Na alternativa B, a comparao deselegante (comea um
incmodo equivalente de se (x <= 3), mas vlido, desde a expresso (x> 3)
um tipo de boolean, e o operador ! pode ser aplicado corretamente a
isto. Na alternativa C o operador de inverso de bitwise aplicado a um
tipo integrante. O padro de pedao de 6 olhares como 0 ...0110 onde a
elipse representa 271 pedaos.
3. Qual dos resultados das seguintes expresses resultar em um valor
positivo em x? (Escolhe uma).
A. int x = -1; x = x >>> 5;
B. int x = -1; x = x >>> 32;
C. byte x = -1; x = x >>> 5;
D. int x = -1; x = x >> 5;
GEEK BRASIL - http://www.geekbrasil.com.br
XOR -------------00000101
A advertncia que os nicos 1 bits na resposta esto nessas
colunas onde exatamente um do operandos tem um 1 bit. Se nenhum, ou
ambos, os operandos tem um 1, ento os resultados sero 0 bit.
O valor 00000101 binrio corresponde a 5 decimal.
preo que se lembra que, embora este exemplo foi mostrado como
um clculo de byte, o funcionamento atual int usando acabado (32bit) valores. Isto por que o elenco explcito requerido antes do
resultado nomeado no b varivel em linha 5.
8. Qual o resultado obtido aps a execuo do seguinte cdigo ?
1.
2.
3.
4.
5.
6.
7.
int x = 1;
String [ ] names = { Fred, Jim, Sheila };
names[--x] += .;
for (int i = 0, i < names.length; i++) {
System.out.println(names[i]);
}
Captulo 03
1. Qual das seguintes declaraes so ilegais ?
A. friendly String s;
B. transient int i = 41;
C. public final static native int w( );
D. abstract double d;
E. abstract final double hyperbolicConsine( );
A, D, e E so ilegais. A alternativa A ilegal porque amigvel no
um Keyword.A alternativa B uma declarao passageira legal. A
alternativa C estranha mas legal. A alternativa D ilegal porque s
mtodos e classes podem ser abstratas. A alternativa E ilegal porque
abstrato e final contraditrio.
2. Qual das declaraes verdadeira ?
A. Uma classe abstract no pode ter nenhum mtodo final.
B. Uma classe final no pode ter nenhum mtodo abstract.
A alternativa B verdadeira: Uma classe final pode no ter nenhum
mtodo abstrato. Qualquer classe abstrata, mtodos devem ser abstrato,
e uma classe pode no ser do tipo abstrato e final. A declarao da
alternativa A diz que na classe abstrata pode no ter mtodos finais, mas
no h nada errado com isto. A classe abstrata vai ser sub-classe
eventualmente, e a subdiviso de classe tem que evitar anular os
mtodos finais do pai. Qualquer outro mtodo pode ser anulado
livremente.
3. Qual ser a modificao mnima que permitir a compilao do cdigo a
seguir ?
1.
2.
3.
4.
5.
6.
4.
5.
6.
7.
8.
class SuperDuper {
void aMethod( ) { }
}
class Sub extends SuperDuper {
void aMethod( ) { }
}
package abcde;
public class Bird {
protected static int referenceCount = 0;
public Bird( ) {referenceCount++;}
protected void fly( ) {/*Flap wings, etc. */}
static int getRefCount( ) {return referenceCount;}
}
package abcde;
class Parrot extends abcde.Bird {
public void fly( ) {/*Parrot specific flight code.*/}
public int getRefCount( ) {return referenceCount}
}
10. Qual das declaraes nas classes Bird e Nightingale abaixo verdadeira ?
1. package singers;
2.
3. class Nightingale extends abcde.Bird {
4. Nightingale( ) { referenceCount++;}
5.
6. public static void main(String args[ ]) {
7. System.out.println(BEFORE: + referenceCount);
8. Nightingale florence = new Nightingale( );
9. System.out.println( AFTER: + referenceCount);
10. florence.fly( );
11. } }
A. O programa ir compilar e executar. A sada ser Before: 0 e After: 2.
B. O programa ir compilar e executar. A sada ser Before: 0 e After: 1.
C. A compilao do Nightingale ir falhar na linha 4, porque statics no
podem ser anulados.
D. A compilao do Nightingale ir falhar na linha 10, porque o mtodo
fly( ) protegido na super-classe.
E. A compilao do Nightingale ir ser bem sucedida, mas uma
exception ir ocorrer na linha 10, porque o mtodo fly( ) protegido
na super-classe.
A alternativa A est correta. No h nada errado com Rouxinol. O
referenceCount esttico batido duas vezes: uma vez em linha 4 de
Rouxinol, e uma vez em linha 5 de Pssaro. (O constructor de nenhumargumento do superclass sempre caled de implicitly no comeo de uma
classe constructor de ', a menos que um constructor de superclass
diferente seja pedido. Isto no tem nada que ver Com o tpico deste
chapter,but coberto em Captulo 6, Objetos e Classes. ) ReferenceCount
de Sinse batido duas vezes e no s uma vez, resposta B est errado. C
diz que no podem ser anulados atatics, mas nenhum mtodo esttico
est sendo anulado em linha 4; tudo aquilo est acontecendo increment de na de na herdaram varivel esttica. D est errado, desde
protegeu justamente o modificador de acesso ns queremos Pssaro.
Voe () ter: Ns estamos chamando Pssaro. Voe () de uma subdiviso de
classe em um pacote diferente. Resposta E ridculo, mas usa
terminologia acreditvel.
Captulo 04
1. Qual das seguintes declaraes a correta?
A. So convertidos automaticamente somente tipos primitivos, para
mudar o tipo de uma referncia de objeto, voc tem que fazer um cast.
B. So convertidas automaticamente somente referncias de objeto;
mudar o tipo de um primitivo, voc tem que fazer um cast.
C. Promoo de aritmtica de referncias de objeto requer arremesso
explcito.
D. Primitivos e referncias de objeto podem ser ambos convertidos e
podem fazer cast.
E. Casting de tipos numricos podem requerer um cheque de runtime.
A alternativa D est correta. C est errado porque objetos no
levam parte em operaes de aritmtica. E est errado porque lanando
potencialmente s de referncias de objeto requer um cheque de runtime.
2. Qual das linha a seguir no ir compilar ?
1.
2.
3.
4.
5.
6.
7.
8.
9.
byte b = 5;
char c = 5;
short s = 55;
int i = 555;
float f = 55.5F;
b = s;
i = c;
if (f > b)
f = i;
Animal
Mammal
Dog
Cat
Implements
Washer
Raccoon
Implements
Washer
Swamp Thing
Cast sunflower;
Washer wawa;
SwampThing pogo;
sunflower = new Cat( );
wawa = sunflower;
GEEK BRASIL - http://www.geekbrasil.com.br
7. pogo = (SwampThing)wawa;
Qual das declaraes abaixo verdadeira ?
A. A linha 6 no ir compilar; um cast explicito necessrio para
converter o Cat para o Washer.
B. A linha 7 no ir compilar, porque voc no pode fazer um cast da
interface para a classe.
C. O cdigo ir compilar e rodar, mas o cast da linha 7 no necessrio
e pode ser eliminado.
D. O cdigo ir compilar mas ir ocorrer uma exception na linha 7,
porque a converso em tempo de execuo da interface para a
classe no permitida.
E. O cdigo ir compilar mas ir ocorrer uma exception na linha 7,
porque em tempo de execuo a classe wawa no pode ser
convertida para o tipo SwampThing.
A alternativa E est correta. O elenco na linha 7 requerido.
Resposta D uma declarao prepstera expressada em um tom de
autoridade.
10. Considere o cdigo a seguir:
1.
2.
3.
4.
5.
6.
7.
Raccon rocky;
SwampThing pogo;
Washer w;
rocky = new Raccon( );
w = rocky;
pogo = w;
Captulo 05
1.
As alternativas B, C, D, e F esto corretas. O d laada interate i de
0 a 1 e j de 0 a 2. Porm, o interno d laada executa um continua
declarao sempre que os valores de i e j so o mesmo. Desde que a
produo gerada dentro o interno d laada, depois de continuar
declarando, isto significa que nenhuma produo gerada quando os
valores so o mesmo. Ento, as produes sugeridas por respostas UM e
so saltados E.
2.
A alternativa D est correta. Os valores de i aparecem fixos para
levar os valores 0 e 1 para cada destes valores, j levam estima 0, 1 e 2.
Howevwer, sempre que i e j tm o mesmo valor, o exterior d laada
continuado antes da produo gerado. Desde o exterior d laada o
objetivo de continua declarao, o todo do interno d laada
abandonado. A nica linha para ser produo isso mostrado em D como
a condio comeando, i = 0 e j = 0 causam i imediatamente para assumir
o valor 1, e assim que sejam fixados i e j a 1 depois da primeira repetio
interna, o continua novamente serve terminar os valores restantes.
3.
A alternativa C est correta. Em UM a declarao varivel para i
ilegal. Isto tipo de declarao s permitido na primeira parte de um
porque () d laada. A ausncia de inicializao tambm deveria ser uma
pista aqui. Em B o d laada controle expresso-o i varivel neste case
is de int de tipo. Um vaia que expresso magra requerida. C vlido.
Apesar da complexidade de declarar um valor dentro o porque ()
construcion, e um fora de (junto com o uso do operador de vrgula na
parte de fim) isto completamente legitime. D teria estado correto, a no
ser que a etiqueta foi omitida de linha 2 que deveria ter lido d laada:
faa.
4.
A alternativa D est correta. O primeiro teste a linha 2 faltas que
imediatamente causas controlam para saltar para enfileirar 10 e evitam
ambos os possveis testes que poderiam resultar na produo de
mensagem um ou mensagem dois. Assim, embora o teste a linha 3 fosse
verdade, nunca feito; UM no est correto. Em linha 10, o teste est
novamente falso, assim a mensagem a linha 11 saltada, mas mensagem
quatro, a linha 14, produo.
5.
A alternativa D est correta. Um est incorreto porque o cdigo est
legal apesar da expresso em linha 5. Isto porque o prprio expresion
uma constante. B est incorreto porque declara que o interruptor () parte
pode levar um argumento longo. S byte, pequeno, chamusca e int so
aceitveis. A produo o resultado do valor 2 gosta disto: Primeiro, a
opo caso 2: selecionado, qual valor de produes dois. Porm, no
h nenhuma declarao de fratura entre linhas 4 e 5, assim a execuo
entra no prximo caso e valor de produes trs de linha 6. A falta:
parte de um interruptor () s executado quando nenhuma outra opo
foi selecionada, ou se h nenhuma fratura que precede isto. Neste caso,
retifica nenhum destes cabos de situaes, assim a produo s consiste
nas duas mensagens listadas em D.
6.
As alternativas B, E, e F esto corretas. A exceo causa um salto
fora do bloco de prova, assim o Sucesso de mensagem de linha 4 no
est impresso. A primeira captura aplicvel est em linha 6 que na
partida exata para o excepition lanado. Isto resulta na mensagem a linha
7 ser impresso, assim B um das respostas exigidas. S um bloco de
captura sempre executado, assim controla passa o finalmente bloco que
resulta na mensagem a linha 16 produo de ser; assim E parte da
resposta correta. Considerando que a exceo foi pegada, considerado
que tem sido dirigido e execuo continua depois o finalmente bloco. Isto
resulta na produo da mensagem a linha 18, assim F tambm parte da
resposta correta.
7.
As alternativas A, E, e F esto corretos. Sem excees o bloco de
prova executa a concluso, assim o Sucesso de mensagem de linha 4
est impresso e UM parte da resposta correta. Nenhuma captura
executada, assim B, C, e D esto incorretos. Controle ento passa o
finalmente bloco que resulta na mensagem a linha 16 produo de ser
assim E parte da resposta correta. Porque nenhuma exceo foi
lanada, execuo continua depois o finalmente bloco, produo de inthe
resultante da mensagem a linha 18, assim F tambm parte da resposta
correta.
8.
A alternativa E est correta. O erro lanado previne concluso do
bloco de prova, assim o Sucesso de mensagem de linha 4 no est
impresso. Nenhuma captura apropriada, assim B, C, e D esto
incorretos. Controle ento passa o finalmente bloco que resulta na
mensagem a linha 16 produo de ser; assim opo E parte da resposta
correta. Porque o erro no foi pegado, execuo encerra o mtodo e o
erro rethrown no visitante deste mtodo, assim F no parte da
resposta correta.
9.
A alternativa B est correta. Um daria informao de nmero de
linha enganosa no rastro de pilha do excepition e informa que a exceo
surgiu a linha 1 que onde o objeto de exceo foi criado. C ilegal
desde que voc tem que lanar objeto de na que uma subdiviso de
classe de java. Lang. Throwable, e voc no pode lanar uma classe, s
objeto de na. D tambm ilegal, como tenta tothrow um Fio que no
uma subdiviso de classe de java. Lang. Throwable. E completamente
legal, mas no to bom quanto B desde que E no leva o esforo para
clarificar natureza de thr do problema provendo um fio de explicao.
10.
As alternativas B e D esto corretas. Um no dirige as excees,
assim o aMethod de mtodo poderiam lanar quaisquer das excees que
astucioso () poderia lanar. Porm o excepitions no so declarados com
uma construo de lanamentos. Em B que declara lana IOException
GEEK BRASIL - http://www.geekbrasil.com.br
Captulo 06
1. Considere esta classe:
1.
2.
3.
4.
talvez, lhe lhe pediram que desse para o Gato um scio que se refere a
sua me). Finalmente, o neutered sinalizam e descries de markings, E e
F, so os artigos pedidos pela especificao; estes so artigos corretos.
4. Voc esteve a favor de um determinado documento de desenho de um
sistema de inscrio veterinrio para implementao em Java. Declara:
" Um animal tem um dono, uma data de inscrio, e uma data vacinaodevida. Um gato um animal que indica se foi neutralizado, e uma descrio
textual de seu espcie. "
Dado que a classe animal j foi definida e voc espera usar a classe de Cat
livremente ao longo da aplicao, como voc faria a declarao de abertura da
classe Cat, mas no incluindo a primeira cinta de abertura? Use somente estas
palavras e espaos: boolean, Cat, Date, extends, Object, Owner, Pet, private,
protected, public, String.
Resposta: A classe pblic cat estende animal. A classe deveria ser
pblica desde que ser usado livremente ao longo da aplicao. A
declarao Um gato um animal nos fala que a classe Cat e sua
subdiviso da classe Animal. So requeridas as outras palavras
oferecidas para o corpo das definies de Cat ou Petfor use como
variables mas de scio no parte da declarao de abertura.
5. Considere a classe a seguir, ela declarada em arquivos fontes separados.
1.
2.
3.
4.
A. Os valores so 5 e 6
B. Estes valores so 5 e 6
C. O valor 5 e este valor 6
D. Este valor 5 e o valor 6
E. O valor passado foram 5 e 6.
A alternativa C est correta. A primeira mensagem produzida pela
classe Bsica quando b1. Mtodo (5) chamado e ento Valor 5.
Apesar de varivel b2 que declarada como sendo da classe bsica, o
comportamento que resulta quando mtodo () invocado nisto o
comportamento associado com classe do objeto atual, no Com o tipo da
varivel. Desde que o objeto de classe Sub, no de classBase, a
segunda mensagem gerada por linha 3 de classe Sub: Este valor 6.
6. Considere a seguinte definio de classe.
1. public class Test extends Base {
2.
public Test(int j) { }
3.
4.
public Test(int j, int k) {
5.
super(j, k);
6. }
7. }
Qual das seguintes chamadas verdadeira ?
A. Test t = new Test( );
B. Test t = new Test(1);
C. Test t = new Test(1, 2);
D. Test t = new Test(1, 2, 3);
E. Test t = (new Base( )). new Test(1);
As alternativas B e C esto corretas. Considerando que a classe
tem constructors explcito definido, o constructor de falta supressed,
assim UM no possvel. B e C tm listas de argumento que maych o
constructors definiram respectivamente a linhas 2 e 4., e assim
construes corretas. D tem trs argumentos de inteiro, mas trs so
nenhum constructors que levam trs argumentos de qualquer tipo na
GEEK BRASIL - http://www.geekbrasil.com.br
Captulo 07
1. Qual das declaraes no fragmento de cdigo abaixo verdadeira ?
1. class Greebo extends java.util.Vector implements Runnable {
2. public void run(String message) {
3. System.out.println(in run( ) method: + message);
4. } }
5.
6. class GreeboTest {
7. public static void main(String args[ ]) {
8.
Greebo g = new Greebo( );
9.
Thread t = new Thread(g);
10.
t.start( );
11. } }
A. Haver um erro de compilao, porque a classe Greebo no implementa a
interface Runnable.
B. Haver um erro de compilao na linha 11, porque voc no pode passar
um parmetro para o construtor de uma Linha.
C. O cdigo compilar corretamente mas haver uma exceo na linha 11.
D. O cdigo compilar corretamente mas haver uma exceo na linha 12.
E. O cdigo compilar corretamente e executar sem qualquer exceo.
A alternativa A est correta. A interface de Runnable define uma
corrida do mtodo com tipo de retorno nulo e nenhum parmetro. O
mtodo cedido ao problema tem um parmetro de String, assim o
compilador reclamar que aquela classe que Greebo no define corrida
nula () de interface Runable. B est errado, porque voc definitivamente
pode passar um parmetro para o constructor de uma linha; o parmetro
se torna o objetivo da linha. C, D, e E so tolice.
2. Qual das declaraes a seguir a maneira correta para a seguinte
aplicao ?
1.
2.
3.
4.
5.
6.
7.
8. While (true) { }
9. }
10.
11. public static void main(String args [ ]) {
12. HiPri hp1 = new HiPri( );
13. HiPri hp2 = new HiPri( );
14. HiPri hp3 = new HiPri( );
15. hp1.start( );
16. hp2.start( );
17. hp3.start( );
18. } }
A. Quando a aplicao executada, o thread hp1 executar; os threads
hp2 e hp3 nunca adquiriro a CPU.
B. Quando a aplicao executada, todas os trs threads (hp1, hp2, e
hp3) conseguiro executar e haver particionamento do tempo na CPU.
C. Uma das alternativas, A ou B ser a verdadeira e depender da
plataforma subjacente.
A alternativa C est correta. A alternativa A verdadeira em uma
plataforma de preemptive, B verdade em uma plataforma tempo-fatiado.
O moral que tal cdigo deve ser evitado, desde que tais resultados so
diferentes em plataformas diferentes.
3. Verdade ou Falso. Um thread quer um segundo thread inelegvel para
execuo. Para fazer isto, o primeiro thread pode chamar o mtodo yield() no
segundo thread.
Falso. O mtodo yield( ) esttico e sempre provoca a suspenso
do thread atual. Neste caso, ironicamente, o primeiro thread que se
render.
4. Verdade ou Falso. Um thread quer um segundo thread inelegvel para
execuo. Para fazer isto, o primeiro thread pode chamar o mtodo suspend()
no segundo thread.
Verdade. O segundo thread permanecer no estado Suspendido at
que receba uma chamada do mtodo resume( ).
5. Um thread esta executando o mtodo run( ) incluindo as seguintes linhas:
1. try {
GEEK BRASIL - http://www.geekbrasil.com.br
2.
3. }
sleep(100);
catch (InterruptedException e) { }
Captulo 08
1. Dado uma String construda e chamada s = new String ("xyzzy "), qual das
chamadas listadas abaixo modificam a String?
A. s.append(aaa);
B. s.trim( );
C. s.substring(3);
D. s.replace(z, a);
E. s.concat(s);
Nenhuma das respostas est correta. Strings so imutveis.
2. Qual das declaraes do cdigo abaixo verdadeira ?
1.
2.
3.
4.
5.
6.
5. if (s1.equals(s))
6.
s = null;
Captulo 09
1. Um campo de texto construdo e ento determinado uma cor de primeiro
plano de branco e uma 64-point fontel bold serif . O campo de texto somado
ento a um applet que tem uma cor de primeiro plano de vermelho, cor de
fundo de azul, e 7-point fonte de sansserif claro. Qual declarao abaixo
verdadeira para o campo texto?
A. Cor de primeiro plano preta, cor de fundo branca, fonte 64-point serif
bold corajoso.
B. Cor de primeiro plano vermelha, cor de fundo azul, fonte 64-point serif
bold corajoso.
C. Cor de primeiro plano vermelha, cor de fundo azul, fonte 7-point serif
bold corajoso.
D. Cor de primeiro plano branca, cor de fundo azul, fonte 7-point serif bold
corajoso.
E. Cor de primeiro plano branca, cor de fundo azul, fonte 64-point bold
serif .
A alternativa E est correta. Considerando que o boto no
especifica um fundo, adquire o mesmo fundo como o applet: azul. So
fixados a cor de primeiro plano do boto e manancial explicitamente a
branco e 64-point serifa corajoso, assim estas colocaes entram em
vigor em lugar de os valores do applet.
2. Voc tem uma caixa de cheque em um painel; o painel est em um applet. O
applet no contm nenhum outro componente. Usando o SetFont( ), voc
permite que ao applet uma fonte 100-point, e voc d para o painel uma fonte
6-point. Qual declarao ou declaraes abaixo est correta?
A. A caixa de cheque usa uma fonte 12-point.
B. A caixa de cheque usa uma fonte 6-point.
C. A caixa de cheque usa uma fonte 100-point.
D. A caixa de cheque usa a fonte do applet, porque voc no pode fixar uma
fonte em um painel.
E. A caixa de cheque usa a fonte do painel, porque voc no fixou uma fonte
explicitamente para a caixa de cheque.
8. O qual dos seguintes itens pode conter uma barra menu? (Escolha uma ou
mais.)
A. Um painel
B. Um frame
C. Um applet
D. Uma barra de menu
E. Um menu
menu.
Captulo 10
1. Um programa em Java cria uma check box que usa o cdigo listada abaixo.
O programa corrido em duas plataformas diferentes. O qual das
declaraes do cdigo a seguir so verdadeiras?
1. Checkbox cb = new Checkbox(Autosave);
2. Font f = new Font(Courier, Font.PLAIN, 14);
3. Cb.setFont(14);
Resposta.
A alternativa E est correta, pois no h nenhum modo de garantir que
os botes sero do mesmo tamanho em ambas as plataformas
2. Qual o resultado que o compilador tentar executar na seguinte aplicao
?
1. import java.awt.*;
2.
3. public class Q2 extends Frame {
4. Q2( ) {
5.
SetSize(300,300);
6.
Button b = new Button(Apply);
7.
add(b);
8. }
9. public static void main(String args[ ]) {
10. Q2 that = new Q2( );
11. that.setVisible(true);
12. }
13. }
E est correto. A alternativa A est errado porque o constructor
chamado sua prpria classe de dentro; a aplicao compilaria at mesmo
se o constructor eram privados. B est errado porque a armao tem uma
gerente de plano de falta que uma instncia de BorderLayout. Se voc
soma () um componente para um recipiente que usa um gerente de plano
de Borda, e voc no especifica uma regio como um segundo parmetro,
ento o componente somado a Centro, da mesma maneira que se voc
tivesse especificado BorderLayout. CENTRE como um segundo
parmetro. (Nota, porm, que provendo o parmetro explicitamente est
programando muito melhor thanrelying de estilo em comportamento de
falta.) C est errado porque o boto aparece; leva a armao inteira, como
descreveu em E. Resposta D seria verdade se armaes usaram as
gerentes de plano de Fluxo atravs de falta.
3. Qual o resultado que o compilador tentar executar na seguinte aplicao
?
GEEK BRASIL - http://www.geekbrasil.com.br
1. import java.awt.*;
2. public class Q3 extends Frame {
3. Q3 {
4.
setSize(300,300);
5.
setLayout(new GridLayout(1,2));
6.
7.
Panel p1 = new Panel( );
8.
p1.setLayout(new FlowLayout(FlowLayout.RIGHT));
9.
p1.add(new Button(Hello));
10.
add(p1);
11.
12.
Panel p2 = new Panel( );
13.
p2.setLayout(new FlowLayout(FlowLayout.LEFT));
14.
p2.add(new Button(Goodbye));
15.
add(p2);
16. }
17.
18. public static void main(String args[ ])
19. { Q3 that = new Q3( );
20. that.setVisible(true);
21. }
22. }
C a alternativa correta. A alternativa A est errado porque o falta plano
gerente canbe de qualquer recipiente substituram; isso o nico modo
para adquirir coisas feito se o gerente de falta no o que voc quer. B
prejudicam porque no h nenhuma restrio contra havinga nica fila ou
uma nica coluna. O que realmente acontece isto: A armao contm
dois panelsp1 ocupa a esquerda inteira a metade da armao e p2
ocupa o direito inteiro meio (porque a armao usa um grid com uma fila
e duas colunas). Cada painel usa um gerente de layuot de Fluxo, assim
dentro dos painis todo componente consegue ser seu tamanho
preferido. Assim os dois botes h pouco so grandes bastante para
cercar as etiquetas deles/delas. Decore com painel p1 usos um gerente de
plano de Fluxo direito-alinhando, assim seu nico componente alinhado
ao direito distante daquele painel, s partiu da linha de centro vertical.
Decore com painel p2 usos um gerente de plano de Fluxo esquerdaalinhando, assim seu nico componente alinhado o distante partiu
daquele painel, s rigkt da linha de centro vertical. O dois fim de botes
para cima como descreveu em resposta C. D e E esto incorretos porque
os botes conseguem ser os tamanhos preferidos deles/delas.
4. Qual o resultado que o compilador tentar executar na seguinte aplicao
?
1. import java.awt.*;
2. public class Q4 extends Frame {
GEEK BRASIL - http://www.geekbrasil.com.br
3. Q4 ( ) {
4. setSize(300,300);
5. setLayout(new GridLayout(3,1));
6.
7. Panel p1 = new Panel( );
8. p1.setLayout(new BorderLayout( ) );
9. p1.add(new Button(Alpha), BorderLayout.NORTH);
10. add(p1);
11.
12. Panel p2 = new Panel( );
13. p2.setLayout(new BorderLayout( ) );
14. p2.add(new Button(Beta), BorderLayout.CENTER);
15. add(p2);
16.
17. Panel p3 = new Panel( );
18. p1.setLayout(new BorderLayout( ) );
19. p1.add(new Button(Gamma), BorderLayout.SOUTH);
20. add(p3);
21.
22. public static void main(String args[ ] ) {
23. Q4 that = new Q4( );
24. that.setVisible(true);}
25. }
B est correto. A armao disposta em um grid com threerows e uma
coluna. Assim cada do trs painel p1, p2, e p3 so to largos quanto a
armao e 1/3 como alto. O Alfa boto vai a Norte do painel de topo,
assim to largo quanto o prprio painel (assim to largo quanto a
armao), e consegue ser sua altura preferida. O Beta boto vai a
Centro do painel mediano, assim ocupa o painel inteiro (desde que l
nada mais no painel). O Gama boto vai em Sul do painel de fundo,
assim isto to largo quanto o prprio painel (assim to largo quanto a
armao), e consegue ser sua altura preferida.
5. Voc gostaria de compilar e executar o cdigo seguinte. Depois que o frame
aparece na tela, voc gostaria que o resize do frame fosse
aproximadamente duas vezes sua largura original e aproximadamente duas
vezes sua altura original. Qual das declaraes do cdigo seguinte est
correta?
1. import java.awt.*;
2.
3. public class Q5 extends Frame {
4. Q5( ) {
5.
setSize(300,300);
6.
setFont(new Font(Helvetica, Font.BOLD, 36));
7.
Button b = new Button(Abracadabra);
8.
add(b, BorderLayout.SOUTH);
GEEK BRASIL - http://www.geekbrasil.com.br
9. }
10.
11. public static void main(String args[ ]) {
12. Q5 that = new Q5( );
13. that.setVisible(true);
14. }
15. }
D est correto. A alternativa A est errado porque toda armao adquire
uma falta Borda plano gerente. Desde que o boto colocado em Sul,
itnis sempre to largo quanto a armao, e adquire resized quando a
armao adquire resized. Sua altura sempre sua altura preferida. Nota o
do thrree respostas plausveis (C,D, e E), a resposta correta o mais
simples. O ponto desta pergunta que quando um recipiente adquire
resize, seu gerente de plano dispe todos os componentes novamente.
6. O cdigo a seguir constri um GUI com um nico boto. Qual declarao
verdadeira a respeito do tamanho do boto?
1. import java.awt.*;
2. public class Q6 extends Frame {
3. Q6( ) {
4. setSize(500,500);
5. setLayout(new FlowLayout( ) );
6. Button b = new Button( Where am I ?);
7. Panel p1 = new Panel( );
8. p1.setLayout(new FlowLayout(FlowLayout.LEFT));
9. Panel p2 = new Panel( );
10. p2.setLayout(new FlowLayout( ));
11. Panel p3 = new Panel( );
12. p3.setLayout(new FlowLayout( ));
13.
14. p1.add(b);
15. p2.add(p1, BorderLayout.NORTH);
16. p3.add(p2);
17. add(p3);
18. }
19. public static void main(String args[ ]) {
20. Q6.that = new Q6( );
21. That.setVisible(true);
22. } }
A alternativa A est correto. As nicas linhas de cdigo que assunto 9,
10, e 16. O boto somado a um painel que usa um gerente de plano de
Fluxo. Ento o boto consegue ser seu tamanho preferido.
7. Em uma aplicao que tem um frame que usa um Border layout manager.
Por que provavelmente no ser uma boa idia pr uma barra de rolagem
vertical ao Norte do frame?
Com um gerente de plano de borda, qualquer componente a Norte (ou
Sul) to largo quanto o recipiente e to alto quanto sua prpria altura
preferida. Barra de rolagem de Avertical precisa de bastante playin o
verticaldirection, mas no precisa ser muito largo. O problema produz
uma barra de rolagem que ambos muito largo e muito pequeno para ser
til, assim a resposta correta C. Com um gerente de plano de Borda,
barras de rolagem verticais esto muito teis em Leste e Oeste; barras de
rolagem horizontais esto muito teis em Norte e Sul.
8. Qual o Layout Manager default para um applet ? Para um frame ? Para
um Panel ?
O gerente de plano de falta para painis e applets Fluxo. A falta para
armaes Borda.
9. Verdadeiro ou Falso: Se um frame usa uma Grid Layout Manager e no
contm nenhum painel, ento todos os componentes dentro do frame so a
mesma largura e altura.
Verdadeiro. O Grid plano gerente ignora o tamanho preferido de
componentes e faz para todos os componentes o mesmo tamanho. Se a
armao contivesse qualquer painel, ento seria provvel que os
componentes dentro desses painis sejam menor que esses diretamente
contidos pelo painel. Porm, a pergunta explicitamente estados que a
armao no contm nenhum painel.
10. Verdadeiro ou Falso: Se um Frame usa seu Layout Manager default e no
contm nenhum painel, ento todos os componentes dentro do frame so
da mesma largura e altura.
Falso. O gerente de plano de falta Borda. Componentes em Norte e Sul
sero a mesma largura; componentes em Leste e Oeste sero a mesma
altura. Nenhuma outra generalizao possvel.
11. Verdadeiro ou Falso: Com um Border Layout Manager, o componente do
Centro adquire todo o espao em cima do que permanece, depois de
componentes em Norte e Sul sido considerado.
Falso. Quase, mas no totalmente. O componente a Centro adquire todo o
espao em cima do que permanece, depois dos componentes a norte, que
foram considerados Sul, Leste e Oeste.
Captulo 11
1. Verdadeiro ou Falso: O modelo de evento de delegao, introduzido na
verso 1.1 do JDK, completamente compatvel com o modelo de evento
da verso 1.0.
Falso. Os dois modelos de evento so incompatveis, e eles no
deveriam aparecer no mesmo programa.
2. Qual declarao ou declaraes so verdades sobre o cdigo listado abaixo
?
1.
2.
3.
4.
5.
6.
7.
8.
9.
Captulo 12
1. Como voc fixaria a cor de um contexto de grficos chamado g a cyan?
A alternativa A est correto. As 13 cores pre-definidas so varibles
esttico em Cor de classe, assim voc os tem acesso pelo nome de
classe como voc os tem acesso nome de classe como voc iria qualquer
outra varivel esttica. O nome do mtodo de cor-colocao setColor (),
no setCurrentColor ().
2. O cdigo das linhas abaixo faz um desenho. Que cor a linha?
1. g.setColor(Color.red.green.yellow.red.cyan);
2. g.drawLine(0,0,100,100);
A alternativa D (cyan) est correta. Esta pergunta testa seu
conhecimento de variveis estticas como wellas a classe de Cor. A
classe de Cor tem 13 variveis estticas finais, nomeado vermelho,
verde, amarele, e assim por diante. Este varibles acontecem para
ser de Cor de tipo. Assim Cor. Vermelho o nome de instncia de
na de Cor. Recorde de Captulo 3 (modificadores) que h dois
modos para ter acesso uma varivel esttica: pelo nome de classe
que o modo preferido ou por uma referncia para qualquer
instncia da classe. Assim um (non-preferiu) modo para ter acesso
a varivel esttica verde est por Cor. Vermelho, porque Cor.
vermelho uma referncia a instncia de na. Assim Cor. Vermelho.
verde um modo legal para se referir varivel esttica verde.
Semelhantemente, o modo preferido para se referir varivel
esttica amarela Cor. Amarele, mas legal (embora muito
estranho) para referncia isto como cor. Vermelho. Verde. Amarele,
porque Cor. Vermelho. Verde uma referncia a instncia de na. E
assim por diante. A resposta ainda seria cyan se a cor fosse fixada
para Colorir seja fixado para Colorir. Vermelho. Bocado. Vermelho.
Negro. Cyan. Magenta. Azul. Rosa. Laranja. Cyan.
3. Que desenho o cdigo seguinte faz?
1.
2.
3.
4.
g.setColor(Color.black);
g.drawLine(10,10,10,50);
g.setColor(Color.red);
g.drawRect(100,100,150,150);
g.fillArc(10,10,100,100,0,90);
A alternativa A est correta. O fillArc () mtodo puxa pedaos de
torta, no cordas.
5. Qual das declaraes abaixo verdade? (Escolher um ou mais)
As alternativas B, D, e E esto corretas. Um polyline nunca est
cheio ou fechado; s openrun de na de segmentos de linha. Um
polgono pode ser enchido (o fillPolygon () method)or no encheram (o
drawPolygon () mtodo).
6. Verdadeiro ou Falso: Quando o thread GUI chama o mtodo paint() para
consertar dano de exposio, o mtodo paint() tem que determinar o que foi
danificado e foi fixado na sua regio de clipe adequadamente.
Falso. Quando h dano para ser consertado, o GUI enfiam passa
para pintar () um contexto de grficos cuja regio de clipe j fixada
regio danificada. Java foi construdo para ter certeza deste modo aquele
programmersnever tm que determinar regies de clipe danificadas. De
fato, os programadores nunca tm que fazer qualquer coisa a em toda
parte dano de exposio, contanto todo o desenho acabado em pintura
() ou em mtodos chamados por pintura ().
7. O seu manipulador de evento mouseDragged () e seu mtodo paint () fazem
assim:
GEEK BRASIL - http://www.geekbrasil.com.br
1.
2.
3.
4.
5.
6.
7.
8.
9.
Voc quer modificar seu cdigo de forma que as linhas de cyan acumule
na tela, em lugar de ter sido apagado toda vez repaint () chame o mtodo
update(). Qual o modo mais simples para proceder?
A alternativa D est correta, e uma tcnica standard sempre que
voc no quer atualize () enxugar a tela antes de chamar pintura (). Todas
as linhas de cyan diagonais permanecero na tela; o efeito estar como
desenho com uma caneta de caligraphy. Respostas UM e B (em linha 4,
substitua repinte () com pintura () ou repinta ()) no compilar, porque
ambos pintura () e repinta () requeira uns Grficos como na introduza.
Resposta C dificuldade sria: super. Atualize (g) clarear a tela e
chamar pintura (g) que chamar super. Atualize (g), e assim por diante
sempre.
8. Que cdigo voc usaria para construir uma font de 24-point do tipo serif ?
A alternativa D est correta. A assinatura para o constructor de
Manancial Manancial (fontname de fio, int nomeiam, int classificam
segundo o tamanho). O nome de manancial pode ser um de Serifa,
SansSerif, ou Monospaced. O estilo deveria ser um de Manancial.
PLANCIE, manancial. TIPO NEGRITO, ou Manancial. ITLICO.
9. O que faz o mtodo de desenho paint( ) ?
1. public void paint(Graphics g) {
2. g.drawString(question #9, 10,0);
3. }
A alternativa B est correta. O parmetro de y-coordenada passou
em drawString () a posio vertical do baseline do texto. Desde
que o baseline est nas 0 (quer dizer, o topo do componente) s
descenders sero visveis. O fio pergunta #9 contm um
descender, to s uma nica curva pequena descendente do q ser
vista.
10. O que faz o mtodo de desenho paint( ) ?
GEEK BRASIL - http://www.geekbrasil.com.br
Captulo 13
1. Qual linha ou linhas do cdigo HTML seguinte so errneas?
1. <APPLET WIDTH=50 HEIGHT=95 CODE=Thermostat.Class>
2. <PARAM NAME=scale VALUE=Celsius>
3. </APPLET>
H um problema na linha 1. O valor de CDIGO caso-sensvel e
capitaliza a primeira carta assim do. Extenso de classe no vlida. O
browser ignoraro a etiqueta de applet inteira.
2. Verdadeiro de Falso: O valor de CDIGO em uma etiqueta <APPLET> tem
que nomear um arquivo de classe que est no mesmo diretrio como a
chamada pgina de HTML.
Falso. Se o valor um URL, ento o arquivo de classe poderia residir
at mesmo em uma mquina diferente.
3. Verdadeiro ou Falso: Se o returns nulo do getParameter (), assinalando o
valor de retorno de uma varivel do tipo String podem causar uma exceo a
ser lanada.
Falso. Uma varivel do tipo String pode ser nomeada com um valor
de nulo.
4. Verdadeiro ou Falso: Toda etiqueta de ARQUIVO especifica um arquivo de
JARRO exatamente.
Falso. Na ARCHIVE etiqueta pode especificar uma lista vrgulaseparada de arquivos de Jarro.
5. Considere o seguinte mtodo init() de um applet:
1.
2.
3.
4.
5.
Captulo 14
1. Qual das declaraes abaixo verdadeira?
S D est correto. Carter de UTF so to grande quanto eles
precisam ser. Carter de Unicode so todos os 16 pedaos. No h
nenhuma tal coisa como um carter de Bytecode; bytecode o formato
gerado pelo Java compile.
2. Qual das declaraes abaixo verdadeira?
Todas as trs declaraes so falsas. Construo e coleo de lixo
de um arquivo no tm nenhum efeito no sistema de arquivo local.
3. Verdadeiro ou Falso: A classe de Arquivo contm um mtodo que muda o
diretrio de funcionamento atual:
Falso A classe de Arquivo no prov um modo para mudar o
diretrio de funcionamento atual
4. Verdadeiro de Falso: possvel usar a classe de Arquivo para listar os
contedos do diretrio de funcionamento atual.
Verdadeiro. O cdigo abaixo de espetculos como isto acabado:
Arquive f = Arquivo novo (.)
String contedos [] = f. lista ();
5. Quantos bytes escreve o cdigo seguinte para arquivar destfile?
1.
2.
3.
4.
5.
6.
7.
8.
9.
try {
FileOutputStream fos = new FileOutputStream(destfile);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(3);
dos.writeDouble(0.0001);
dos.close( );
fos.close( );
}
catch (IOException e ) { }
2.
3.
4.
5.
6.
7.
8.
9.
1.
2.
3.
4.
5.
6.
7.
8.
9.
try {
RandomAccessFile raf = new RandomAccessFile(datafile), rw;
BufferedOutputStream bos = new BufferedOutputStream(raf);
DataOutputStream dos = new DataOutputStream(bos);
dos.writeDouble(Math.PI);
dos.close( );
bos.close( );
raf.close( );
} catch (IOException e) { }
\!!!!!/
()
------------oOOO--(_)-------------------------
| http://www.geekbrasil.com.br
| webmaster@geekbrasil.com.br
--------------------------oOOO---------------|__| |__|
||
ooO
||
Ooo