Você está na página 1de 15

Paratodasasperguntas,consideraraverso6.0doJava.

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?

public class Test {


static int age;
public static void main (String args []) {
age = age + 1;
System.out.println("The age is " + age);
}
}

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?

public class Phr{


public static void main(String argv[]){
System.out.print(Integer.parseInt("10",10));
System.out.print(Integer.parseInt("10"));
System.out.print(Short.parseShort("10"));
System.out.print(new Boolean(true));
}
}

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?

public class Anova{


public static void main(String argv[]){
Anova an = new Anova();
an.go();
}
public void go(){
int z=0;
for(int i=0;i<10; i++,z++){
System.out.println(z);
}
for(;;){
System.out.println("go");
}

}
}

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.

public class Inkberrow{


// aqui

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?

public class Dsr{


public static void maim(String argv[]){
Dsr d = new Dsr();
int _out = 19;
d.scdig(_out);
System.out.println(_out);
}
public void scdig(int _out){
_out= _out +10;
_out=_out++;
}
}

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()

No caso a implementao do mtodo um return Age (retorna o valor do atributo) e,


portanto,umget.PorconvenoonomeserpublicintgetAge(),ouseja,letra(c).Ainda,vale
ressaltarqueseoatributofosseage(enoAge)onomedomtodotambmseriagetAge().
14.Oqueacontecesevoctentarcompilareexecutaroseguintecdigo?

class MyWrapper {
private Integer iw;
MyWrapper(int i){
iw = new Integer(i);
}
public int getInt(){
return iw.intValue();
}
public double getDouble(){
return iw.doubleValue();
}
}

public class Scd{


public static void main(String argv[]){
Scd sc = new Scd();
sc.uphampton("11");
}
public void uphampton(String s){
int i = Integer.parseInt(s);
MyWrapper mw = new MyWrapper(i);
System.out.println(mw.getDouble());

}
}

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?

public class Test {


static int total = 10;
public static void main (String args []) {
new Test();
}
public Test () {
System.out.println("In test");
System.out.println(this);
int temp = this.total;
if (temp > 5) {
System.out.println(temp);
}
}
}

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)

Você também pode gostar