Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Escolhaaalternativacomumadeclaraoerrada:
a) inti=32;
b) longj=32000;
c) floatf=45.0;
d) doubled=45.0;
Arespostacorretaaletra(c).Issoporqueaoutilizar45.0oJavaporpadroirdeduzir
queonmeroumdouble(enoumfloat).Comoodoubletemumarepresentaode64bitseo
floatde32bits,colocarfloatf=45.0umatentativadearmazenarumvalorde64bits(onmero
45.0)emumavarivelde32bits(float).
Paracorrigiroproblemautilizamosfloatf=45.0F;(essaletraFdizqueo45.0umfloate
noumdouble).
2. Oqueacontecequandotentamoscompilareexecutarocdigoabaixo?
a) Compila,rodaenoapresentanadanasadapadro
b) Compila,rodaeapresentanasadapadroTheageis
c) Compila,rodaeapresentanasadapadroTheageis1
d) Compilaederrodeexecuoquandotentamosexecutar.
Arespostacorretaaletra(c).AquiimportantesaberalgumascoisasdoJava:
a)quandovocrodaessaclasseovalorinicialdeage0(ageumatributo)
b)mtodosestticos(nonossocasoomtodomain)somentepodemacessaroutrosatributosou
mtodosestticos.Assim,dedentrodomainpodemosacessaroatributoageporqueageesttico
(static).
3. Qualalternativaseguinteacorreta?
a) 128>>1d64
b) 128>>>1d32
c) 128>>>1d32
d) 128>>1d64
O operador de >> faz o deslocamento para direita em uma posio. Como o 128
representadopor0000000010000000(utilizeisomente16bitsnoJava,intrepresentadocom32
bits).Umdeslocamentoparadireitode1bitfariaoseguinte
0000000010000000>>10000000001000000
Ouseja,64.Umamaneirafcildefazerissoqueodeslocamentode1bitparaadireitaem
binriodivideonmeropor2.Umdeslocamentode1bitparaaesquerdamultiplicapor2.Somente
cuidadocomobitmenossignificativo(maisaesquerda)eomaissignificativo(maisaesquerda).
4. Qualdasseguintesalternativasretornaverdadeiro(true)?
a) John==john
b) john.equals(john)
c) john=john
d) john.equals(newjohn)
Aprimeiraalternativanoretornatruepoissorealmentevaloresdistintos. Asegunda
alternativautilizaomtodoequalsparacompararStrings.Omtodoequalssemprecomparaovalor
daString.Portantoa(b)retornatrue.
Aalternativa(c)realizaatributio(=)enocomparao(==).Altimaalternativaest
sintaticamenteincorreta.
Nomais,emJava,asseguintesopestambmretornariamtrue:
john==john,"john".equals(newString("john"))e"john"==(newString("john"))
5. Qualdasseguintesalternativascorreta?
a) Objecto=newButton(A);
b) Framef=newPanel();
c) Booleanflag=true;
d) Booleanflag=false;
AquideveseconhecerumpoucodalinguagemJava.Arespostacorretaa(a).Masvamos
inicialmentedescartarasoutras.EmJava,quandoprogramamosinterfacesgrficasutilizamosum
classeFrame(ouaJFramenoSwing).MasaclassePanelnoumaFrame,portantealetrabest
incorreta.EmJavaexisteotipoprimitivobooleaneaclasse(Wrapper)Boolean.Noentanto,aletra
(c)esterradapoisovalortruenodeveriaestarentreaspas.Ocorretoseria:
Booleanflag=true;//autobox
Amesmaidiavaleparaaletra(d).Aletra(a)estcorretaporqueemJavaTODASas
classessofilhas(ounetas,oubisnetas)deObject.Portanto,podemosfazer:
Objecto=newButton(A);
AindaqueButtonsejaumaclasseutilizadaparacriarinterfacesgrficas(GUI).
6. Oqueiracontecerquandocompilareexecutaroseguintecdigo?
class Whitney{
private Whitney(){
System.out.println("zero param Whitney");
}
protected Whitney(int i){
System.out.println("int param Whitney");
}
public Whitney(String s){
System.out.println("String param Whitney");
}
}
public class Andhilary{
public static void main(String argv[]){
new Andhilary().go();
}
public static void go(){
hoe(new String("beans"));
}
protected void hoe(String s){
System.out.println(s);
}
}
a) Errodecompilaooconstrutornopodeserprivado.
b) Errodecompilaoomtodomainestdeclaradodeformaincorreta.
c) Errodecompilaoporproblemasencontradosnomtodogo().
d) Compila,executaeapresentanasadapadrobeans
Bom,apesardetermosmtodoschamandomtodosessanoumaquestocomplicada.
Bem,inicialmente,podemosSIMterumconstrutordeumaclassecomvisibilidadeprivate.Esse
casodaclasseWhitney.
Quanto a classe Andhilary o mtodo main cria um objeto da classe Andhilary (new
Andhilary)echamaomtodogo(().Esseobjetosemnome(newAndhilary())chamadodeobjeto
annimo(porquenofizemosalgocomoAndhilaryQ=newAndHilary())
Assim,outraformadeprogramaromtodomain()seria:
public class Andhilary{
public static void main(String argv[]){
Andhilary Q = new Andhilary();
Q.go();
}
Oproblemaestomtodogo().Eleummtodoestdo(static)Eleatpodeserchamado
pormeiodeinstnciasdaclasse(nonossocasopormeiodainstnciaannimanewAndhilary())
masomtodogo()chamaomtodohoeinternamente.Omtodohoenoestticoenopodeser
chamadopelomtodogo().
Portanto,aalternativacorretaa(c).
7. Oqueiracontecerquandocompilareexecutaroseguintecdigo?
a) ErrodecompilaoporterchamadoomtodoparseIntdemaneiraincorreta.
b) Errodecompilao,poisoconstrutorBooleanrequeraspasenvoltadetrue.
c) Compila,executaeapresentanasada1000000000001010true
d) Compila,executaeapresentanasada101010true
Arespostaaletra(d).Primeiroimportanteobservarqueocdigousaprintenoprintln.
Ocomando
System.out.print(Integer.parseInt("10",10));
ConverteaString10dabase10(decimal)parainteirooqueresultaem10.Aquicabe
umaobservao:
Porexemplo:
System.out.print(Integer.parseInt("11",2));
ResultanaconversodaString11nabase2(binrio)parainteiro.Assim,(11)23,
portantooresultadodaconverso3.
Jocomando:
System.out.print(Integer.parseInt("10"));
ConverteaString10parainteiro.Opadroutilizarabase10.Portantoresultaem10
novamente.
Oterceirocomando:
System.out.print(Short.parseShort("10"));
ConverteaString10parashort(umtipoprimitivoemJavauminteirocomum16bits).
Portanto,o resultado10(obviamente,podemosrepresentaro10com16bitscasocontrrio,
teramosumerro).
Finalmente,ocomando:
System.out.print(newBoolean(true));
imprimenatelaoobjetoBooleancomvalortrue.Oresultadotrue.
Concatenandoasrespostas(lembrandoqueusamosoprintenoprintln)teremos
101010true.
8. Oqueaconteceuquandotentamoscompilareexecutaroseguintecdigo?
}
}
a) Errodecompilaoporqueoprimeirolaoforestincorreto.
b) Errodecompilaoporqueosegundolaoforestincorreto.
c) Compila,executaeapresentanasadapadroosnmerosde0a9seguidopelapalavra
go.
d) Compila,executaeapresentanasadapadroosnmerosde0a9seguidoporum
nmeroinfinitodepalavrasgo.
Nohnadadeerradonessecdigo.Portanto,elecompilaeexecuta.Portanto,descartamos
asalternativas(a)e(b).Agoradevemosentenderasintaxedolao
for(;;)
IssofazumlaoINFINITO,poisacondioparadarcontinuidadenolao(aquese
encontranomeiodofor)noexistee,portanto,consideradaTRUE!
Portantoaalternativacorretaaletra(d).
9. Oqueiraconteceraotentarmoscompilareexecutaroseguintecdigo?
import java.util.*;
public class VecOrder{
public static void main(String argv[]){
new VecOrder();
}
VecOrder(){
Vector<String> child = new Vector<String>();
child.add("harry");
child.add("molly");
child.add("steven");
child.add("helen");
Collections.sort(child);
for(String element : child){
System.out.print(element);
}
}
}
a) ErrodecompilaoporproblemasnacriaodeumobjetodaclasseVector.
b) Compilamasderrodeexecuo,poisomtodoCollections.sortpodeapenasordernar
objetosdaclasseList.
c) Compila,executaaapresentanatela:HarryMollyStevenHelen
d) Nenhumadasanteriores.
Ocdigoprincipal(main)criaumobjetodaclasseatual(VecOrder).Portanto,oconstrutor
daclassechamado.Nessecaso,oconstrutorcriaumVectordeobjetosString(Vector<String>)e,
emseguida,adiciona4elementosnomesmo.Finalmente,aochamarCollections.sort(child);o
Vectorchildordenado.AordenaodeStringsfeitanaordemaltabticae,portanto,oresultado
serharryhelenmollysteven.
Observarqueaalternativa(c)esterradapoisasprimeirasletrasdosnomesestoem
caixaalta.Assim,arespostacorretaaletra(d).
10.Considereoseguintecdigo.
Quaisdasalternativasseguintespoderiamsercolocadasdeformacorretanolugardo
comentrio//aqui?
IpublicclassAmbridge{}
IIprivateclassAmbridge{}
IIIstaticclassAmbridge{}
IVpublicvoidclassAmbridge{}
a) somenteaI
b) somenteaIeII
c) somenteI,IIeIII
d) somenteI,IIIeIV
possvelcriarclassesdentrodasprpriasclasses.essasclassesinternassochamadasde
inner class. Voc pode criar classes internas normalmente com public, protected, private
normalmente.Comoaclasseinterna,elaaindapodeteromodificadorstatic.Todasassintaxesda
I,IIeIIIestocorretas.AIVesterradaporusarvoid(queumtipoderetornoutilizadosomente
paramtodos).
Portanto,aalternativacorretaaletra(c).
11. QualalternativaaseguirmelhordescreveoqueumJavaMap?
a) Umvetorpararepresentaogeogrficasem2D
b) Umaclassequecontmelementosdevetornicos
c) Umaclassequecontmparesdenmerosnicos
d) Umainterfacequegarantequeasclassesqueaimplementamnopodemcontem
duplicatas.
UmMapemJavaumaINTERFACEquegarantequeoselementosqueaimplementamno
tenhamelementorepetidos.Ouseja,letra(d).
Verrefernciahttp://download.oracle.com/javase/1.4.2/docs/api/java/util/Map.html
12.Oqueacontecesetentarmosexecutarecompilaroseguintecdigo?
a) Errodecompilaoporqueavriavel_outcomeacom_
b) Compila,executaeapresentanasadapadro19
c) Compila,executaeapresentanasadapadro29
d) Nenhumadasanteriores.
AquidevemosterumaatenoENORME.Omtododaclasseomaimenomain.
Portanto,essaclassecompilasemproblemasMASNOEXECUTA!!Portanto,alternativa(d).
SEEXECUTASSE,oresultadoapresentadoseria19.Issoporqueomtodoscdigrecebeum
tipoprimitivoetiposprimitivosemJavasopassadoscomovalor.Issoquerdizerquesehouver
qualquermodificaonovalordavariveldentrodomtodonomodificaovalororiginal(forado
mtodo).
OsobjetosemJavasopassadosporreferncia.
13.Considereoseguintecdigo.Qualalternativaapresentaumnomedemtododeacordocom
asconvenesdoJavaBeans?Onomenomtodosercolocadonolugardocomentrio/*
mtodoaqui*/.
class Person{
private int Age;
/* mtodo aqui */
{
return Age;
}
}
a) privateintthisAge()
b) publicintthisage()
c) publicintgetAge()
d) publicintsetAge()
class MyWrapper {
private Integer iw;
MyWrapper(int i){
iw = new Integer(i);
}
public int getInt(){
return iw.intValue();
}
public double getDouble(){
return iw.doubleValue();
}
}
}
}
a) Compila,executaeapresentanatelao11.0
b) Compila,executaeapresentanatelao11
c) Errodecompilao,aclasseMyWrapperestcomproblemas.
d) Errodeexecuo
Apesardaquantidadedecdigo,noherrosaqui.AclasseIntegerumaclasseWrapper,
ouseja,elaservepararepresentarotipoprimitivointnaformadeObjetosJava.Comisso,ela
fornecealgunsrecursosinteressantescomoporexemplo,retornarovalorinteiroarmazenadono
ObjetonaformadedoublepormeiodomtododoubleValue.Observeocdigo
publicdoublegetDouble(){
returniw.doubleValue();
}
AclasseMyWrappercriadaapenasutilizaosserviosdaInteger.
ObservandoomtodomaindaclasseScd,elechamaomtodouphamptonpassandocomo
parmetroaString11.DentrodomtodouphamptonconvertemosaStringparainteiro
(Integer.parseInt(s))e,emseguida,criamosumobjetoMyWrapperechamaomtodogetDouble().
EssemtodochamaodoubleValuedaclasseInteger.Assim,oresultadoseronmero11no
formatodouble,ouseja,11.0.Arespostacorretaaletra(a).
15.Qualoresultadoaosecompilarerodaroseguintecdigo?
a) Aconteceumerrodecompilao
b) Aconteceumerrodeexecuo
c) Ovalor10umdosvaloresapresentadosnasadapadro
d) Ovalor9umdosvaloresapresentadosnasadapadro
Ocdigoprincipal(main)apenascriaumobjetoannimodaclasseatual(Test).Portantoo
construtordaclasseTestchamado.OcdigodoconstrutorinicialmenteapresentanatelaaString
Intest.Emseguida,aoimprimirthis,elairapresentarnatelaoobjetoTestcriado.Aofazerisso
oJavairchamaromtodotoString()daclasseTest,ouseja,
System.out.println(this);
amesmacoisaque
System.out.println(this.toString());
ComoaclasseTestnopossuiomtodotoString(),omtododaclassepaichamado,neste
caso,omtodotoString()daclasseObject(queaclassepaideTest)apresentanatelaonomeda
classeseguidode@seguidodoendereodememriadoobjeto.
Finalmente,comotemprecebeovalordethis.total,ovalordetempser10eomesmoser
impressonatela.UmaPOSSVELsadadessecdigoseria:
Intest
Test@19f953d
10
Assim,arespostacorretaaletra(c)