You are on page 1of 26

Elogios ao Guia de estudos para programador e desenvolvedor em Java 2 certificado pela Sun

Kathy Sierra uma das poucas pessoas no mundo que consegue fazer coisas complicadas parecerem muito simples. E
como se isso no fosse suficiente, ela consegue fazer com que assuntos montonos paream interessantes. Sempre fico
ansioso para ler o que Kathy escreve ela uma de minhas autoras favoritas.
- Paul Wheaton, Chefe de Acompanhamento da JavaRanch.com
Quem melhor para escrever um guia de estudos sobre Java do que Kathy Sierra, que reina soberana quando se trata de
treinamento em Java? Kathy Sierra conseguiu novamente aqui est um guia de estudos que j poder lhe garantir a
certificao!
- James Cubeta, Engenheiro de Sistemas, SGI
O que mais aprecio em Kathy seu esforo para fazer com que todos nos lembremos de que estamos ensinando pessoas
e no apenas fazendo uma palestra sobre Java. Seu entusiasmo e vontade em oferecer um treinamento da mais alta
qualidade que atenda as necessidades do aluno, com certeza no encontra paralelo na SunEd. Sem dvida, h centenas de
alunos que se beneficiaram de terem assistido a suas aulas.
- Victor Peters, fundador da Next Step Education e Instrutor Certificado Java pela Sun
Quero agradecer a Kathy pelo EXCELENTE guia de estudos. O livro bem escrito, informa especificamente o que voc
ter que saber no exame e cada conceito explicado de maneira clara com a utilizao de um exemplo da vida real. Da
maneira que foi escrito, voc se sentir em uma sala de aula como se algum estivesse realmente lhe ensinando os conceitos
difceis, mas no de maneira formal e fria. As perguntas no final dos captulos tambm so MUITO boas e estou certo de
que ajudaro os candidatos a passarem no teste. Fique alerta para esse livro incrivelmente astuto.
- Alfred Raouf, Desenvolvedor de Solues na Web
O exame de certificao da Sun certamente no foi como um passeio no parque, mas o material de Kathy permitiu no s
que eu passasse no exame, mas que passasse bem!
- Mary Whetsel, Especialista Snior em Tecnologia, Integrao e Estratgia de Aplicaes, The St. Paul Companies
Bert demonstra uma aptido comprovada e fantstica de transformar complexidade em simplicidade ao oferecer um
percurso dirigido no aprendizado do que necessrio para o exame da certificao.
- Thomas Bender, Presidente, Gold Hill Software Desing, Inc.
Por sua habilidade em expressar claramente conceitos complexos aos que assistem a seus treinamentos, todos os alunos
conseguem se tornar especialistas no que Bert tem a ensinar.
- David Ridge, Diretor Geral, Ridge Associates
Achei este livro extremamente til para ajudar o candidato a passar no exame. Ele foi muito bem escrito, com a quantidade
ideal de comentrios bem-humorados para fazer com que voc se esquea de que est estudando para um teste to difcil.
ALTAMENTE RECOMENDADO!
-Nicole Y. McCullough
Nunca me diverti tanto lendo um livro tcnico quanto no caso deste aqui... Hoje de manh, fiz o exame SCJP e consegui
acertar 98% (60 de 61). Esse sucesso no teria sido possvel sem este livro!
-Yurie Nagorny
Eu fiz o SCJP 1.4 em Julho de 2004 e consegui 95% (58/61). Kathy e Bert tm um estilo incrvel de escrever, e
literalmente gravaram os conceitos principais na minha cabea.
-Bhushan P. Madan (Kansas, Estados Unidos)

Eu fiz meu teste de certificao semana passada e fui aprovado com 95% de acertos. Se no tivesse estudado por este livro,
teria poucas chances de obter um resultado to bom. Obrigado, Kathy e Bert, pelo maravilhoso livro!
-Jon W. Kinsting (Saratoga, California, Estados Unidos)
No hesite em fazer deste livro o seu principal guia para preparar-se para o SCJP 1.4. Os autores fizeram um trabalho
magnfico ao apresentar os fatos importantes que voc precisar saber para o exame, ao mesmo tempo deixaram de lado
toneladas de outras informaes que, em outro contexto, seriam importantes, mas que vo alm do escopo deste livro.
Ambos os autores participaram da criao das questes reais do exame, fornecendo dessa forma um valiosssimo insight
sobre a verdadeira natureza do que voc encontrar no exame. Ao contrrio de muitos outros guias de certificao. Este aqui
uma leitura prazerosa. Neste livro, at os mais enfadonhos objetivos da Sun so combinados com um revigorante bomhumor.
-Vad Fogel (Ontario, Canad)

Certificao Sun para


Programador JAVA 5
Guia de Estudo
(Exame 310-055)

Kathy Sierra
Bert Bates

JAVA 5 V

Para a Comunidade Java

JAVA 5 V

Para a Comunidade Java

VI

Sumrio
CAPTULO 1 - DECLARAES E CONTROLE DE ACESSO ................................... 1
Reviso de Java ......................................................................................................................................... 2
Identificadores e Palavras-chave ................................................................................................................. 2
Herana .................................................................................................................................................. 2
Interfaces ................................................................................................................................................. 2
Encontrando Outras Classes ...................................................................................................................... 2

Objetivo para a Certificao .......................................................................................................... 3


Identificadores e JavaBeans (Objetivos 1.3 e 1.4) .................................................................................... 3
Identificadores Legais ............................................................................................................................... 3
Convenes de Cdigo Java da Sun ...................................................................................................................................... 4
Padres JavaBeans ................................................................................................................................................................ 5
Regras de nomeao de listeners JavaBeans........................................................................................................................................6

Objetivo para a Certificao .......................................................................................................... 6


Declarar Classes (Objetivo l.1 do Exame) ............................................................................................... 6
Regras de Declarao para Arquivos-Fontes ........................................................................................................................ 6
Declaraes e Modificadores de Classes ............................................................................................................................. 7
Acesso a Classes ...................................................................................................................................... 7
Outros Modificadores de Classes (No-referentes a Acesso) ........................................................................... 8
Exerccio 1-1 Criando uma Superclasse Abstrata e uma Subclasse Concreta ..................................................................... 10

Objetivo para a Certificao ........................................................................................................ 11


Declarar Interfaces (Objetivos 1.1 e 1.2 do Exame) ............................................................................. 11
Declarando uma interface ................................................................................................................................................... 11
Declarando constantes de interface .................................................................................................................................... 13

Objetivo para a Certificao ........................................................................................................ 14


Declarar Membros de Classes (Objetivos 1.3 e 1.4) ............................................................................. 14
Modificadores de Acesso ................................................................................................................................................... 14
Membros Public ..................................................................................................................................... 15
Membros Private .................................................................................................................................... 17
Membros Protect e Default ....................................................................................................................... 19
Detalhes de Protect ................................................................................................................................. 20
Detalhes de Default ................................................................................................................................ 22
Variveis Locais e Modificadores de Acesso ................................................................................................ 23
Modificadores No-Referentes a Acesso ............................................................................................................................ 23
Mtodos Final ........................................................................................................................................ 24
Argumentos Final ................................................................................................................................... 24
Mtodos Abstract .................................................................................................................................... 24
Mtodos Synchronized ............................................................................................................................. 27
Mtodos Nativos .................................................................................................................................... 27
Mtodos Strictfp ...................................................................................................................................... 27
Mtodos com Listas de Argumentos Variveis (var-args) ............................................................................... 27
Declaraes de Construtores ............................................................................................................................................. 28
Declaraes de Variveis ................................................................................................................................................... 29
Declarando Primitivos e Intervalos de Primitivos .......................................................................................... 29
Declarando Variveis de Referncia .......................................................................................................... 30
Variveis de Instncias ............................................................................................................................ 30
Variveis Locais (Automatic/Stack/Method) ................................................................................................ 31
Declaraes de Arrays ............................................................................................................................. 33
Variveis Final ....................................................................................................................................... 34
Variveis Transient .................................................................................................................................. 35
Variveis Volatile ..................................................................................................................................... 35

JAVA 5 VII
Variveis e Mtodos Static ........................................................................................................................ 35
Declarando Enums ............................................................................................................................................................. 35
Declarando Construtores, Mtodos e Variveis em um enum ........................................................................ 37
Resumo para a Certificao .......................................................................................................................................... 39
Exerccio Rpido ............................................................................................................................................................................ 40

Teste Individual ....................................................................................................................................... 44


Respostas do Teste Individual ................................................................................................................................................... 46

CAPTULO 2 - ORIENTAO A OBJETOS ............................................................. 49


Objetivo para a certificao ......................................................................................................... 50
Benefcios do encapsulamento (Objetivo 5.1 do exame) ...................................................................... 50
Objetivo para a Certificao ........................................................................................................ 52
Herana, -Um, Tem-Um (Objetivo 5.5 do Exame) ............................................................................. 52
Relacionamentos -UM e TEM-UM ...................................................................................................... 55
-UM ................................................................................................................................................... 55
TEM-UM ............................................................................................................................................... 56

Na sala de aula ........................................................................................................................................ 57


Objetivo para a Certificao ........................................................................................................ 58
Polimorfismo (Objetivo 5.2 do Exame) ................................................................................................. 58
Objetivo para a Certificao ........................................................................................................ 60
Subscrevendo / Sobrecarregando (Objetivos 1.5 e 5.4 do Exame) ....................................................... 60
Mtodos Subscritos ............................................................................................................................................................ 60
Chamando a verso da superclasse de um mtodo subscrito ....................................................................... 63
Exemplos de subscritas de mtodo vlidas e no-vlidas ............................................................................. 64
Mtodos sobrecarregados ................................................................................................................................................. 64
Sobrecargas vlidas ................................................................................................................................ 64
Chamando mtodos sobrecarregados ....................................................................................................... 65
Polimorfismo em mtodos sobrecarregado e subscrito .................................................................................. 66

Objetivo para a Certificao ........................................................................................................ 68


Converso de Variveis de Referncia (Objetivo 5.2 do Exame) .......................................................... 68
Objetivo para a certificao ......................................................................................................... 71
Implementando uma Interface (Objetivo 1.2 do exame) ...................................................................... 71
Objetivo para a certificao ......................................................................................................... 74
Tipos de retorno vlidos (objetivo 1.5 do exame) ................................................................................ 74
Declaraes de tipos de retorno ........................................................................................................................................ 74
Tipos de retorno de mtodos sobrecarregados ............................................................................................ 74
A Subscrio e os Tipos de Retorno, e Retornos Covariantes ........................................................................ 75
Retornando um valor .......................................................................................................................................................... 75

Objetivo para a certificao ......................................................................................................... 77


Construtores e instanciao (Objetivos 1.6 e 5.4 do exame) ............................................................... 77
Aspectos bsicos do construtor ................................................................................................................. 77
Cadeia de construtores ............................................................................................................................ 77
Regras dos construtores ........................................................................................................................... 78
Identificando se um construtor padro ser criado ............................................................................................................. 79
Como voc pode ter a certeza de que um construtor padro ser criado? ..................................................... 79
O que acontecer se o construtuor da superclasse tiver argumentos?...........................................................80
Construtores sobrecarregados ........................................................................................................................................... 82

VIII

Objetivo para a Certificao ........................................................................................................ 85


Static (Objetivo 1.3 do Exame) ........................................................................................................................................... 85
Variveis e mtodos static ........................................................................................................................ 85
Acessando variveis e mtodos static ........................................................................................................ 86

Objetivo para a Certificao ........................................................................................................ 88


Acoplamento e Coeso (Objetivo 5.1 do Exame) ................................................................................ 88
Acoplamento ......................................................................................................................................... 89
Coeso ................................................................................................................................................. 89
Resumo para a certificao ........................................................................................................................................... 90
Exerccios rpidos ......................................................................................................................................................................... 91
Teste individual .............................................................................................................................................................................. 94
Respostas ....................................................................................................................................................................................... 99

CAPTULO 3 - ATRIBUIES ................................................................................ 101


Pilha e Heap Uma Reviso ................................................................................................................ 102
Objetivo para a certificao ....................................................................................................... 103
Literais, Atribuies e Variveis (Objetivos 1.3 e 7.6 do Exame) ......................................................... 103
Valores literais de todos os tipos primitivos ..................................................................................................................... 103
Literais inteiros ...................................................................................................................................... 103
Literais de ponto flutuante ....................................................................................................................... 104
Literais booleanos .................................................................................................................................. 105
Literais de caracteres .............................................................................................................................. 105
Valores literais para strings ...................................................................................................................... 105
Operadores de atribuio ................................................................................................................................................ 105
Atribuies primitivas ............................................................................................................................. 106
Converso de tipos primitivos ................................................................................................................. 107
Exerccio 3-1 Convertendo tipos primitivos ..................................................................................................................... 108
Atribuies de variveis de referncia ....................................................................................................... 110
Escopo Varivel ..................................................................................................................................... 111
Usando uma varivel ou elemento de array que no tenha sido
inicializado e atribudo ..................................................................................................................................................... 112
Variveis de instncia de tipo primitivo e de objeto ..................................................................................... 113
Variveis de instncia primitivas .............................................................................................................. 113
Variveis de instncia de referncia a objetos ............................................................................................ 113
Variveis de instncia de array ................................................................................................................ 114
Tipos primitivos e objetos locais (de pilha, automticos) ............................................................................. 115
Tipos primitivos locais ............................................................................................................................ 115
Referncias de Objetos locais .................................................................................................................. 116
Arrays locais ......................................................................................................................................... 117
Atribuindo uma varivel de referncia a outra ........................................................................................... 117

Objetivo para a Certificao ...................................................................................................... 118


Passando variveis para mtodos (Objetivo 7.3 do exame) ................................................................ 118
Passando variveis de referncia de objeto ...................................................................................................................... 118
A linguagem Java usa a semntica de passagem por valor? ................................................................................................ 119
Passando variveis primitivas ........................................................................................................................................... 120
Na sala de aula ................................................................................................................................................................. 120

Objetivo para a certificao ....................................................................................................... 122


Declarao, construo e inicializao de arrays (objetivo 1.3 do exame) ......................................... 122
Declarando um array ....................................................................................................................................................... 122
Declarando um array de tipos primitivos ................................................................................................... 122
Construindo um array ....................................................................................................................................................... 123
Construindo arrays unidimensionais ......................................................................................................... 123
Construindo arrays multidimensionais ...................................................................................................... 124
Inicializando um array ....................................................................................................................................................... 125

JAVA 5 IX
Inicializando elementos em um loop ........................................................................................................ 126
Declarando, construindo e incializando em uma linha ............................................................................... 126
Construindo e inicializando um array annimo ......................................................................................... 127
Atribuies vlidas para os elementos do array ......................................................................................... 128
Arrays de tipos primitivos ........................................................................................................................ 128
Arrays de referncia a objetos ................................................................................................................. 129
Atribuies de variveis de referncia de arrays unidimensionais .................................................................. 130
Atribuies de variveis de referncia de arrays multidimensionais ............................................................... 130
Blocos de Inicializao ........................................................................................................................... 131

Objetivo para a certificao ....................................................................................................... 133


Usando classes wrapper (Objetivo 3.1 do exame) .............................................................................. 133
Uma viso geral das classes wrapper ............................................................................................................................... 133
Criando objetos wrapper ................................................................................................................................................. 133
Os construtores wrapper ......................................................................................................................... 133
Os mtodos valueOf( ) ........................................................................................................................... 134
Usando os utilitrios de converso das classes wrapper .................................................................................................. 134
xxxValue( ) ............................................................................................................................................ 134
parseXxx( ) e valueOf( ) .......................................................................................................................... 135
toString( ) ............................................................................................................................................. 136
toXxxString( ) (base binria, hexadecimal e octal) ....................................................................................... 136
Autoboxing ....................................................................................................................................................................... 136
Boxing, ==, e equals() .......................................................................................................................... 137
Onde Pode ser Usado o Boxing ............................................................................................................... 138

Objetivo para a Certificao ...................................................................................................... 139


Sobrecarregando (Objetivos 1.5 e 5.4 do Exame) .............................................................................. 139
Sobrecarregando da Maneira Difcil Correspondncia de Mtodos ............................................................ 139
Sobrecarga com Boxing e Var-args .......................................................................................................... 140
Ampliando Variveis de Referncia .......................................................................................................... 141
Sobrecarga na Combinao de Ampliao com Boxing ............................................................................. 141
Sobrecarga em Combinao com Var-args ............................................................................................... 142

Objetivo para a certificao ....................................................................................................... 143


Coleta de lixo (Objetivo 7.4 do exame) .............................................................................................. 143
Viso total do gerenciamento da memria e da coleta de lixo .......................................................................................... 143
Viso geral do coletor de lixo em Java .............................................................................................................................. 143
Quando o coletor de lixo executado? .................................................................................................... 144
Como o coletor de lixo funciona? ............................................................................................................ 144
Escrevendo um cdigo que torne os objetos explicitamente qualificados
para a coleta ..................................................................................................................................................................... 144
Anulando uma referncia ....................................................................................................................... 144
Reatribuindo uma varivel de referncia ................................................................................................... 145
Isolando uma referncia ......................................................................................................................... 146
Forando a coleta de lixo ....................................................................................................................... 146
Fazendo uma limpeza antes da coleta do lixo o mtodo finalize( ) ............................................................ 148
Cuidados relacionados com finalize( ) ...................................................................................................... 148
Resumo para a certificao .......................................................................................................................................... 148
Exerccio Rpido .......................................................................................................................................................... 149
Teste Individual ...................................................................................................................................... 152
Respostas ........................................................................................................................................................................ 158

CAPTULO 4 - ATRIBUIES ................................................................................ 161


Objetivo para a certificao ....................................................................................................... 162
Operadores Java (Objetivo 7.6 do exame) .......................................................................................... 162
Operadores de Atribuio ...................................................................................................................... 162
Operadores de Atribuio Compostos ...................................................................................................... 162
Operadores de comparao ............................................................................................................................................ 163

X
Operadores de igualdade ................................................................................................................................................. 164
Igualdade de tipos primitivos ................................................................................................................... 164
Igualdade de variveis de referncia ........................................................................................................ 165
Igualdade para Enums ........................................................................................................................... 165
Operador de comparao instanceof ....................................................................................................... 166
Erro de Compilao de instanceof ........................................................................................................... 167
Operadores aritmticos ................................................................................................................................................... 168
O Operador Resto (%) ........................................................................................................................... 168
Operador de concatenao de strings ...................................................................................................... 169
Acrscimo e decrscimo ......................................................................................................................... 170
Operador condicional........................................................................................................................171
Operadores Lgicos ............................................................................................................................... 172
Operadores Bitwise (No Caem no Exame!) .............................................................................................. 172
Operadores Lgicos de Abreviao ......................................................................................................... 172
Operadores lgicos (que no so de abreviao) ...................................................................................... 174
Operadores Lgicos ^ e ! ...................................................................................................................... 174
Resumo para a certificao .......................................................................................................................................... 174
Exerccios rpidos ..................................................................................................................................................... 175
Teste individual .......................................................................................................................................................... 176
Respostas .................................................................................................................................................................. 180

CAPTULO 5 - CONTROLE DE FLUXO, EXCEES E ASSERTIVAS ................ 183


Objetivo para a certificao ....................................................................................................... 184
Escrevendo o cdigo usando instrues if e switch
(Objetivo 2.1 do exame) ...................................................................................................................... 184
Ramificao if-else ............................................................................................................................................................ 184
Expresses vlidas para instrues if ........................................................................................................ 186
Instrues switch .............................................................................................................................................................. 188
Expresses vlidas para switch e case .............................................................................................................................. 188
Break e a passagem completa em blocos switch ........................................................................................ 190
A instruo case default ......................................................................................................................... 192
Exerccio 5-1 Criando uma instruo switch-case ............................................................................................................ 193

Objetivo para a certificao ....................................................................................................... 193


Loops e Iteradores (Objetivo 2.2 do exame) ...................................................................................... 193
Usando loops while .......................................................................................................................................................... 193
Usando loops do .............................................................................................................................................................. 194
Usando loops for .............................................................................................................................................................. 194
O Loop for Bsico ................................................................................................................................. 195
Loop for Bsico: Declarao e inicializao .............................................................................................. 195
Loop for Bsico: Expresso condicional (booleana) .................................................................................... 195
Loop for Bsico: Expresso de iterao ..................................................................................................... 196
Loop for Bsico: Caractersticas do loop for .............................................................................................. 196
O Loop for Aprimorado (para Arrays) ....................................................................................................... 197
Usando break e continue .................................................................................................................................................. 198
Instrues no rotuladas ................................................................................................................................................... 199
Instrues rotuladas .......................................................................................................................................................... 200
Exerccio 5-1 Criando um loop while rotulado ................................................................................................................ 201

Objetivo para a certificao ....................................................................................................... 201


Manipulando excees (objetivos 2.4 e 2.5 do exame) ....................................................................... 201
Capturando uma exceo usando try e catch ................................................................................................................... 202
Usando finally ................................................................................................................................................................... 203
Propagando excees no capturadas .............................................................................................................................. 204
Propagando e capturando uma exceo ........................................................................................................................... 206
Definindo excees .......................................................................................................................................................... 206
Hierarquia de excees .................................................................................................................................................... 207
Manipulando uma hierarquia inteira de classes de excees ............................................................................................. 208

JAVA 5 XI
Correspondncia de excees .......................................................................................................................................... 208
Declarao de excees e a interface pblica ................................................................................................................... 210
Relanando a mesma exceo ........................................................................................................................................... 213
Exerccio 5-4 Criando uma exceo ................................................................................................................................. 213

Objetivo para a Certificao ...................................................................................................... 214


Erros e Excees Comuns (Objetivo 2.6 do Exame) ......................................................................... 214
De Onde Vm as Excees ..................................................................................................................... 214
Excees Lanadas pelo JVM .................................................................................................................. 214
Excees Lanadas Programaticamente .................................................................................................... 215
Um Resumo das Excees e Erros para o Exame ....................................................................................... 215

Objetivo para a certificao ....................................................................................................... 216


Trabalhando com o mecanismo de assertivas
(Objetivo 2.3 do exame) ...................................................................................................................... 216
Viso geral das assertivas ................................................................................................................................................. 217
Regras das expresses de assertivas ......................................................................................................... 218
Ativando assertivas ........................................................................................................................................................... 219
Identificador x Palavra-Chave ................................................................................................................. 219
Usando a Verso 5 de java e javac ......................................................................................................... 219
Compilando um Cdigo Atento s Assertivas ............................................................................................ 219
Execuo com assertivas ........................................................................................................................ 220
Ativando assertivas no tempo de execuo ............................................................................................... 220
Desativando assertivas no tempo de execuo .......................................................................................... 220
Ativao e desativao seletiva ............................................................................................................... 220
Usando as assertivas apropriadamente ............................................................................................................................ 221
No use assertivas para validar argumentos de um mtodo pblico. ........................................................... 222
Use as assertivas para validar argumentos de um mtodo privado. .............................................................. 222
No use assertivas para validar argumentos de linha de comando. ............................................................. 222
No use assertivas, mesmo em mtodos pblicos, para procurar instrues case que sabe que nunca ocorrero .. 222
No use expresses assertivas que possam causar efeitos colaterais! ............................................................ 223
Resumo para a certificao ............................................................................................................................................. 223
Teste individual ................................................................................................................................................................. 226
Respostas ........................................................................................................................................................................ 234

CAPTULO 6 - STRINGS, E/S, FORMATAO E PARSING ................................ 237


Objetivo para a certificao ....................................................................................................... 238
String, StringBuilder e StringBuffer (Objetivo 3.1 do exame) ............................................................... 238
A Classe String .................................................................................................................................................................. 238
Strings so objetos inalterveis ................................................................................................................ 238
Fatos importantes relacionados aos objetos String e a memria ...................................................................................... 241
Criando novas strings ............................................................................................................................ 242
Mtodos importantes da classe String ...................................................................................................242
As classes StringBuffer e StringBuilder .............................................................................................................................. 244
StringBuffer x StringBuilder ...................................................................................................................... 244
Usando StringBuffer e StringBuilder .......................................................................................................... 245
Mtodos importantes das classes StringBuffer e StringBuilder .......................................................................................... 245

Objetivo para a Certificao ...................................................................................................... 246


Navegao de Arquivos e E/S (Objetivo 3.2 do Exame) ..................................................................... 246
Criando Arquivos com a Classe File ........................................................................................................ 247
Usando FileWriter e FileReader ............................................................................................................... 249
Combinando Classes de E/S ................................................................................................................... 250
Trabalhando com Arquivos e Diretrios .................................................................................................... 252

Objetivo para a Certificao ...................................................................................................... 254


Serializao (Objetivo 3.3 do Exame) .................................................................................................. 254

XII
Trabalhando com ObjectOutputStream e ObjectInputStream ....................................................................... 255
Grficos de Objetos .............................................................................................................................. 256
Usando writeObject e readObject ............................................................................................................ 258
Como a Herana Afeta a Serializao ...................................................................................................... 260
A Serializao no para Estticos ......................................................................................................... 262

Objetivo para a Certificao ...................................................................................................... 263


Datas, Nmeros e Moeda (Objetivo 3.4 do Exame) ........................................................................... 263
Trabalhando com Datas, Nmeros e Moedas ................................................................................................................... 263
Orquestrando Classes Relacionadas a Datas e Nmeros ............................................................................ 263
A Classe Date ....................................................................................................................................... 264
A Classe Calendar ................................................................................................................................ 265
A Classe DateFormat ............................................................................................................................. 266
A Classe Locale ..................................................................................................................................... 268
A Classe NumberFormat ........................................................................................................................ 270

Objetivo para a Certificao ...................................................................................................... 271


Parsing, Tokeniza e Formatao (Objective 3.5 do Exame) ............................................................. 271
Um Tutorial de Busca ....................................................................................................................................................... 272
Buscas Simples ...................................................................................................................................... 272
Buscas Usando Metacaracteres ............................................................................................................... 273
Buscas Usando Quantificadores .............................................................................................................. 274
O Ponto Pr-definido ............................................................................................................................. 275
Quantificadores Gananciosos ................................................................................................................. 275
Quando Metacaracteres e Strings Colidem ............................................................................................... 276
Localizando Dados atravs da Correspondncia de Padres ........................................................................................... 277
Tokenizao ...................................................................................................................................................................... 278
Tokens e Delimitadores ........................................................................................................................... 279
Tokenizando com String.split() ................................................................................................................. 279
Tokenizando com Scanner ...................................................................................................................... 280
Formatando com printf() e format() .................................................................................................................................. 281
Resumo para a certificao ............................................................................................................................................... 282
Exerccios rpidos ............................................................................................................................................................ 283
Teste individual ................................................................................................................................................................. 286
Respostas: ........................................................................................................................................................................ 293

CAPTULO 7 - GENRICOS E CONJUNTOS ........................................................ 295


Objetivo para a certificao ....................................................................................................... 296
Subscrevendo hashCode( ) e equals( ) (objetivo 6.2 do exame) ......................................................... 296
Subscrevendo equals( ) ..................................................................................................................................................... 297
O que significar a no subscrio de equals( ) ........................................................................................ 297
Implementando um mtodo equals( ) ....................................................................................................... 298
O contrato de equals( ) .......................................................................................................................... 300
Subscrevendo hashCode( ) ............................................................................................................................................... 300
Entendendo os cdigos de hashing ......................................................................................................... 300
Implementando hashCode( ) ................................................................................................................... 301
O contrato de hashCode( ) ..................................................................................................................... 302

Objetivo para a certificao ....................................................................................................... 304


Conjuntos (Objetivo 6.1 do exame) .................................................................................................... 304
Mas o que fazer com um conjunto? ................................................................................................................................... 304
Interfaces e classes chave da estrutura de conjuntos ................................................................................... 304
A Interface List ....................................................................................................................................... 307
A Interface Set...................................................................................................................................307
A Interface Map .................................................................................................................................... 307
A Interface Queue..............................................................................................................................308

JAVA 5 XIII

Objetivo para a Certificao ...................................................................................................... 309


Usando a Estrutura dos Conjuntos (Objetivo 6.5 do Exame) ............................................................. 309
Fundamentos de ArrayList ................................................................................................................................................ 309
Autoboxing com Conjuntos .............................................................................................................................................. 310
Classificando Conjuntos e Arrays ..................................................................................................................................... 310
Classificando Colees .......................................................................................................................... 310
A Interface Comparable ......................................................................................................................... 312
Classificando com Comparator ............................................................................................................... 313
Classificando com a Classe Arrays .......................................................................................................... 315
Fazendo Buscas em Arrays e em Conjuntos .............................................................................................. 315
Convertendo Arrays em Listas e de Volta em Arrays .................................................................................... 317
Usando Lists ......................................................................................................................................... 317
Usando Sets .......................................................................................................................................... 319
Usando Maps ....................................................................................................................................... 320
Usando a Classe PriorityQueue ............................................................................................................... 322
Viso Geral dos Mtodos para Arrays e Conjuntos..................................................................................323
Viso Geral dos Mtodos para List, Set, Map e Queue.............................................................................324

Objetivo para a Certificao.................................................................................................................325


Tipos Genricos (Objetivos 6.3 e 6.4 do Exame).................................................................................325
A forma antiga de usar conjuntos .....................................................................................................................................................326
Genricos e cdigos antigos .............................................................................................................................................................328
Misturando conjuntos genricos e no-genricos ..........................................................................................................................328
Polimorfismo e os Genricos ............................................................................................................................................ 332
Mtodos Genricos .......................................................................................................................................................... 333
Declaraes Genricas ..................................................................................................................................................... 342
Criando a sua Prpria Classe Genrica ................................................................................................... 342
Criando Mtodos Genricos ................................................................................................................... 345
Resumo para a certificao ............................................................................................................................................. 347
Exerccios rpidos ............................................................................................................................................................ 347
Teste individual ..................................................................................................................................... 350
Respostas do teste individual ............................................................................................................................................ 350

CAPTULO 8 - CLASSES INTERNAS ..................................................................... 361


Objetivo para a certificao ....................................................................................................... 362
Classes internas .................................................................................................................................... 362
Codificando uma classe interna comum ........................................................................................................................ 363
Instanciando uma classe interna .............................................................................................................. 364
Referenciando a instncia interna ou externa de dentro da classe interna .......................................................................... 365

Objetivo para a certificao ....................................................................................................... 366


Classes internas locais de mtodo ....................................................................................................... 366
O que um objeto interno local de mtodo pode ou no fazer ........................................................................................... 367

Objetivo para a certificao ....................................................................................................... 368


Classes internas annimas .................................................................................................................... 368
Classes internas annimas simples, verso um .................................................................................................................. 368
Classes internas annimas simples, verso dois ................................................................................................................ 371
Classe interna annima definida no argumento ................................................................................................................. 371

Objetivo para a certificao ....................................................................................................... 373


Classes estticas aninhadas ................................................................................................................... 373
Instanciando uma classe aninhada esttica ........................................................................................................................ 373
Resumo para a certificao .......................................................................................................................................................... 374
Exerccios rpidos ....................................................................................................................................................................... 374
Teste individual .................................................................................................................................................... 375
Respostas do teste individual ....................................................................................................................................................... 380

XIV

CAPTULO 9 - THREADS ....................................................................................... 383


Objetivo para a certificao ....................................................................................................... 384
Definindo, instanciando e iniciando threads
(Objetivo 4.1 do exame) ...................................................................................................................... 384
Criando um thread ........................................................................................................................... 385
Definindo um thread ......................................................................................................................................................... 385
Estendendo java.lang.Thread ............................................................................................................................................ 385
Implementando java.lang.Runnable ................................................................................................................................... 386
Instanciando um thread .................................................................................................................................................... 386
Iniciando um thread .......................................................................................................................................................... 387
Iniciando e executando mais de um thread ....................................................................................................................... 389
O agendador de threads ................................................................................................................................................... 392

Objetivo para a Certificao ...................................................................................................... 393


Estados e Transies de Threads (Objetivo 4.2 do Exame) ................................................................ 393
Estados dos threads ......................................................................................................................................................... 393
Impedindo a execuo do thread ..................................................................................................................................... 394
Suspenso ......................................................................................................................................................................... 394
Criando um thread e colocando-o em suspenso ............................................................................................................. 396
Prioridade dos threads e o mtodo yield ......................................................................................................................... 396
O mtodo join( ) ............................................................................................................................................................... 397

Objetivo para a certificao ....................................................................................................... 398


Sincronizando o cdigo (Objetivo 4.3 do exame) ............................................................................... 398
Sincronizao e bloqueios ................................................................................................................................................ 403
Exerccio 9-2 Sincronizando um bloco de cdigo ............................................................................................................. 405
O que acontecer se um thread no puder obter o bloqueio? ..................................................................405
Ento, Quando Eu Preciso Sincronizar? ................................................................................................... 405
Classes Seguras em Relao a Threads .................................................................................................... 407
Impasse em threads .......................................................................................................................................................... 408

Objetivo para a certificao ....................................................................................................... 409


Interao entre os threads (Objetivo 4.4 do exame) .......................................................................... 409
Usando notifyAll( ) quando houver a possibilidade de muitos threads estarem esperando ............................................... 413
Usando wait( ) em um Loop .................................................................................................................... 414
Resumo para a certificao .......................................................................................................................................... 416
Exerccios rpidos ....................................................................................................................................................................... 416
Teste individual ................................................................................................................................................................. 418
Respostas do teste individual ........................................................................................................................................... 427
Respostas dos exerccios ................................................................................................................................................. 428
Exerccio 9-1: Criando um thread e colocando-o em suspenso .................................................................. 428
Exerccio 9-2: Sincronizando um bloco de cdigo ...................................................................................... 429

CAPTULO 10 - DESENVOLVIMENTO ................................................................. 431


Objetivos para a Certificao ..................................................................................................... 432
Usando os comandos javac e java (Objetivo 7.2 do Exame) ............................................................... 432
Compilando com javac ..................................................................................................................................................... 432
Compilando com -d .............................................................................................................................. 432
Iniciando Aplicativos com java .......................................................................................................................................... 434
Usando as Propriedades de Sistema ......................................................................................................... 434
Lidando com Argumentos de Linha de Comando ....................................................................................... 435
Procurando por Outras Classes ........................................................................................................................................ 435
Declarando e Usando Classpaths ............................................................................................................ 436
Pacotes e a Procura ............................................................................................................................... 436

JAVA 5 XV
Caminhos Relativos e Absolutos .............................................................................................................. 438

Objetivo para a Certificao ...................................................................................................... 439


Arquivos JAR (Objetivo 7.5) ................................................................................................................. 439
Arquivos JAR e a Procura .................................................................................................................................................. 439
Usando .../jre/lib/ext com Arquivos JAR .................................................................................................. 440

Objetivo para a Certificao ...................................................................................................... 441


Usando Importaes Estticas (Objetivo 7.1 do Exame) .................................................................... 441
Importaes Estticas ....................................................................................................................................................... 441
Resumo para a Certificao ......................................................................................................................................... 442
Exerccios Rpidos ........................................................................................................................................................... 442
Teste Individual .................................................................................................................................... 443
Respostas do Teste Individual .......................................................................................................................................... 448

APNDICE A ........................................................................................................... 451


Requisitos do sistema ........................................................................................................................... 452
Instalando e executando o MasterExam .............................................................................................. 452
MasterExam ..................................................................................................................................................................... 452

Ajuda ..................................................................................................................................................... 452

Removendo instalaes .................................................................................................................................................... 452

Suporte tcnico .................................................................................................................................... 452


Suporte tcnico da LearnKey ............................................................................................................................................ 452

XVI

Sobre os Colaboradores
Sobre os Autores
Kathy Sierra foi desenvolvedora-lder do exame SCJP para Java 5. Sierra trabalhou como instrutora snior da Sun e, em
1997, fundou o Javaranch.com, a maior comunidade sobre Java na Internet. Os seus livros recordistas de vendas sobre Java
j receberam vrios prmios da revista Software Development Magazine, e ela tambm membro-fundador do programa
Java Champions da Sun.
Bert Bates tem sido desenvolvedor-lder de vrios exames de certificao da Sun, incluindo o SCJP para Java 5. Ele tambm
moderador de um frum em Javaranch.com, e tem desenvolvido softwares por mais de 20 anos. Bert co-autor de
diversos livros recordistas de vendas sobre Java, e membro-fundador do programa Java Champions da Sun.

Sobre a Equipe de Reviso Tcnica


Johannes de Jong tem sido o lder das nossas equipes de reviso tcnica por muito, muito tempo. (Ele tem mais pacincia
do que qualquer pessoa que conhecemos.) Neste livro, ele liderou a maior equipe que j formamos. Nossos sinceros
agradecimentos aos seguintes voluntrios, que foram inteligentes, trabalhadores, pacientes e muito, muito detalhistas!
Rob Ross, Nicholas Cheung, Jane Griscti, Ilja Preuss, Vincent Brabant, Kudret Serin, Bill Seipel, Jing Yi, Ginu Jacob
George, Radiya, LuAnn Mazza, Anshu Mishra, Anandhi Navaneethakrishnan, Didier Varon, Mary McCartney, Harsha
Pherwani, Abhishek Misra e Suman Das.

Sobre o LearnKey
O LearnKey fornece contedo de aprendizado que respeita o ritmo do aluno, e apresenta solues de distribuio de
multimdia para aprimorar habilidades pessoais e produtividade empresarial. O LearnKey apresenta a maior biblioteca de
contedo de treinamento multimdia existente, a qual fornece aos alunos um dinmico aprendizado, rico em diversas
mdias, como videoclips, udio, grficos totalmente animados e ilustraes animadas. O site do LearnKey na web
www.LearnKey.com.

Os Astros da Reviso Tcnica


No sabemos quem trabalhou mais, mas podemos contar as edies feitas por cada revisor (e o fizemos!) - ento, na ordem
de mais edies feitas, ns orgulhosamente apresentamos os nossos superastros.
Em primeiro lugar, as honras vo para Kristin Stromberg - toda vez que voc vir um ponto-e-vrgula sendo usado
corretamente, agradea a Kristin. Em seguida vem Burk Hufnagel, que consertou mais cdigos do que estamos dispostos a
admitir. Bill Mietelski e Gian Franco Casula corrigiram todos os tipos de erros que jogamos para eles - timo trabalho,
pessoal! Devender Thareja certificou-se de que no estvamos usando gria demais, e Mark Spritzler manteve o bom humor.
Mikalai Zaikin e Seema Manivannan fizeram importantes correes no livro todo, e Marilyn de Queiroz e Valentin Crettaz
novamente fizeram um trabalho espetacular (novamente salvando os nossos pescoos).
Marcelo Ortega, Jef Cumps (outro veterano), Andrew Monkhouse e Jeroen Sterken completam o nosso time de
superastros - obrigado a todos vocs. Jim Yingst participou da equipe de criao do exame da Sun, e nos ajudou a escrever
algumas das questes mais difceis do livro (muahahaha).
Como sempre, toda vez que voc vir uma pgina bem escrita, agradea aos nossos revisores e, se encontrar um erro, com
toda certeza por culpa dos autores. Ah sim, e um agradecimento final ao Johannes. Voc demais, cara!

JAVA 5 XVII

Agradecimentos
Kathy e Bert gostariam de agradecer as pessoas a seguir:
Todas as pessoas incrivelmente esforadas da Osborne: Tim Green, Jim Kussow, Jody McKenzie e Jennifer Housh por
toda a ajuda e por serem to compreensivas e pacientes bem, certo, nem to pacientes assim mas muito
profissionais e o grupo mais agradvel de pessoas com quem se poderia esperar trabalhar.
Os nossos anjos Solveig Haugland e Midori Batten, por virem nos salvar quando realmente estvamos em apuros!
Alguns dos profissionais de software e amigos que nos ajudaram nos dias iniciais: Tom Bender, Peter Loerincs, Craig
Matthews, Dave Gustafson, Leonard Coyne, Morgan Porter e Mike Kavenaugh.
Acima de tudo, a maravilhosa e talentosa equipe de certificao da Sun Educational Services, principalmente o Gerente
do Programa de Certificao, Steve (Goose) Moore e a pessoa mais persistente que j conhecemos quando se trata de
concluso, Evelyn Cartagena (parabns pelo recm-nascido, Evelyn).
Nossos melhores amigos e especialistas em Java, Bryan Basham, Kathy Collina e Simon Roberts.
As crianas, Eden e Skyler, por ficarem horrorizadas que os adultos fora da escola estivessem estudando tanto para
um exame.
O chefe do Javaranch Trail, Paul Wheaton, por manter a melhor comunidade Java da Internet.
Todos os outros instrutores antigos e atuais de Java da Sun Ed por ajudarem a tornar o aprendizado dessa linguagem
uma experincia divertida, incluindo (para nomear apenas alguns): Alan Petersen, Jean Tordella, Georgianna Meagher,
Anthony Orapallo, Jacqueline Jones, James Cubeta, Teri Cubeta, Rob Weingruber, John Nyquist, Asok Perumainar,
Steve Stelting, Dave Zaffery, Kimberly Bobrow, Keith Ratliff e o conhecedor de Java mais dedicado e inspirador do
planeta, Jari Paukku.
Darren e Mary, obrigado por nos manter sos e por nos ajudar com os nossos novos amigos peludos, Andi e Kara.
Finalmente, Eric e Beth Freeman pelo incentivo contnuo.

XVIII

Prefcio
O principal objetivo deste livro ajud-lo a se preparar e passar no exame de certificao SCJP da Sun Microsystems referente
a Java 5. A boa notcia que o exame tende a abordar tpicos que a maioria dos desenvolvedores Java encontraro nos seus
trabalhos. A notcia desafiadora que o exame Java 5 tem escopo bem mais amplo do que o seu antecessor, o exame Java
1.4. Os novos objetivos passam por muitas das APIs mais utilizadas em Java. A palavra-chave aqui passam por. A
inteno dos criadores do exame foi que a aprovao representasse a certeza de que o candidato entende os fundamentos de
APIs, tais como aquelas usadas para E/S de arquivos e expresses regulares. Este livro segue o mximo possvel tanto o
escopo quanto a profundidade do exame real. Por exemplo, aps ler este livro voc provavelmente no vai acordar no outro
dia como um guru de regex, mas, se estudar o material, e sair-se bem nos testes individuais, voc ter um entendimento
bsico de regex e se sair bem no exame. Depois de terminar este livro, voc ter certeza de que estudou todos os objetivos
estabelecidos pela Sun para o exame.

Neste

livro
Este livro foi organizado de maneira a otimizar o seu aprendizado dos tpicos abodados pelo exame SCJP Java 5. Sempre
que possvel, ns organizamos os captulos seguindo os objetivos da Sun, mas em alguns casos misturamos objetivos ou
os repetimos parcialmente para apresentar os tpicos em uma ordem mais adequada para o estudo do material.

Em cada captulo
Ns criamos um conjunto de blocos constituintes dos captulos que chamaro sua ateno para itens importantes,
reforaro pontos de destaque e fornecero dicas teis para a hora do exame. Veja o que voc encontrar em cada captulo:

Cada captulo comear com os Objetivos da Certificao o que voc precisa saber para passar na seo do exame que
tratar do tpico referente ao captulo. Os objetivos sero identificados dentro do captulo por seus cabealhos, portanto,
voc sempre saber qual o objetivo quando o vir!

A notas Observaes para o exame chamaro a ateno para informaes e possveis armadilhas relacionadas ao
exame. Uma vez que estvamos na equipe que criou o exame, sabemos pelo que voc vai passar!

As notas Ao trabalho descrevero aspectos prticos de tpicos da certificao que podem no aparecer no exame, mas
que sero teis no mundo real.

Os exerccios prticos foram includos no decorrer dos captulos. Eles o ajudaro a aprimorar as aptides que

possivelmente sero enfocadas no exame. No se limite a ler os exerccios! Eles fornecem a prtica na execuo com a
qual voc ter que estar familiarizado. Aprender fazendo uma maneira eficaz de aumentar sua capacidade.

A seo Nas salas de aula descrever as questes que surgem com mais freqncia em cenrios de treinamento em salas
de aula. Essas barras laterais lhe daro uma perspectiva valiosa sobre tpicos relativos certificao e aos produtos. Elas
ressaltaro alguns dos problemas mais comuns e confusos que os alunos encontram quando fazem um curso de Java.

P&R
O Resumo para a Certificao uma reviso sucinta do captulo e uma reiterao dos pontos importantes
relacionados ao exame.

O Exerccio Rpido no final de cada captulo uma lista de verificao com os principais pontos do captulo. Pode ser
usado para uma reviso de ltima hora.

O Teste Individual oferece perguntas que simulam os tpicos, a estrutura e a natureza das perguntas encontradas no
exame de certificao. As respostas a essas perguntas, assim como suas explicaes, podem ser encontradas no final de
cada captulo. Ao fazer o Teste Individual, depois da concluso de cada captulo, voc reforar o que aprendeu nele ao
mesmo tempo em que se familiarizar com a estrutura das perguntas do exame.

JAVA 5 XIX

Introduo
Organizao
Este livro foi organizado de maneira a servir como um estudo aprofundado sobre o exame de Programador Certificado
pela Sun na Plataforma Java 5 tanto para profissionais experientes na linguagem quanto para os que estiverem nos estgios
iniciais de vivncia com as tecnologias Java. Cada captulo aborda um dos aspectos principais do exame, com nfase em
perguntas como por que e como programar na linguagem Java. O livro tambm inclui um estudo detalhado dos itens
essenciais para obter uma avaliao positiva no projeto enviado para o exame de Desenvolvedor Java Certificado pela Sun.

O que esse livro no


Neste livro voc no encontrar um guia para iniciantes no aprendizado de Java. Todas as suas pginas so dedicadas
somente a ajud-lo a passar nos exames. Se voc for iniciante em Java, sugerimos que demore algum tempo aprendendo os
aspectos bsicos e no passe para esse livro at que saiba como escrever, compilar e executar programas Java simples. No
entanto, no pressupomos nenhum nvel de conhecimento anterior dos tpicos individuais abordados. Em outras
palavras, em todos os tpicos discutidos (direcionados exclusivamente pelos objetivos reais do exame), partimos da
suposio de que voc ainda no os conhece. Portanto, o consideramos iniciante nos tpicos individuais, mas no na
linguagem Java.
Tambm no pretendemos ao mesmo tempo em que o preparamos para o exame torn-lo um especialista completo em Java. Esse
um guia de estudos para o exame da certificao e sua misso muito clara. Isso no quer dizer que a preparao para o exame
no o ajudar a se tornar um programador Java mais avanado! Pelo contrrio, mesmo os mais experientes desenvolvedores
Java geralmente relatam que o fato de ter que se preparar para o exame de certificao os tornou programadores mais
informados e completos do que seriam sem o estudo dirigido para o exame.

No site
Para obter mais informaes sobre os arquivos para download, consulte o Apndice A.

Algumas sugestes
Quando tiver terminado de ler este livro, reserve algum tempo para fazer uma reviso completa. Seria bom se voc
retornasse ao livro vrias vezes e fizesse uso de todos os mtodos que ele oferece para revisar o material:
1. Releia todos os Exerccios Rpidos ou pea a algum para lhe fazer as perguntas. Voc tambm pode usar os exerccios como
uma maneira de fazer uma reviso rpida antes do exame. Ou criar alguns cartes pedaggicos em fichas 3x5 contendo o
material dos Exerccios Rpidos.
2. Releia todas as notas da seo Alerta no Exame. Lembre-se de que essas observaes foram escritas por autores que ajudaram
a criar o exame. Eles sabem com o que voc se deparar e com o que deve tomar cuidado.
3. Refaa os Testes Individuais. Fazer os testes logo aps ter lido o captulo uma boa idia, porque as perguntas ajudaro a
reforar o que voc acabou de aprender. No entanto, uma idia melhor ainda voltar posteriormente e responder todas
as perguntas do livro de uma s vez. Imagine que est fazendo o exame real. (Quando percorrer as perguntas pela
primeira vez, anote suas respostas em um pedao de papel separado. Dessa forma, voc poder responder as perguntas
quantas vezes precisar at que se sinta familiarizado com o material).
4. Faa os exerccios. Voc fez os exerccios quando leu cada captulo? Se no os fez, faa-os agora! Esses exerccios foram
elaborados para abordar tpicos do exame e no h maneira melhor de conhecer esse material do que praticando.
Certifique-se de compreender porque est executando cada etapa de cada exerccio. Se houver algo que no tiver
entendido, releia essa seo do captulo.

Introduo ao material do livro


O exame para Programador Java Certificado pela Sun (SCJP, Sun Certified Java Programmer) considerado um dos mais
difceis (se no for o mais difcil) do segmento de informtica e podemos dizer a partir de nossa experincia que boa parte
dos candidatos fazem o teste sem o preparo necessrio. E estamos falando de pessoas que j conhecem Java muito bem e
que j a usam em programao h anos! Como programadores, tendemos a aprender somente o que precisamos para
concluir nosso projeto atual, dados os prazos impraticveis, geralmente associados. Mas esse exame tentar avaliar seu
conhecimento total da linguagem Java e no apenas as partes com as quais voc se familiarizou em seu trabalho.
Somente a experincia no o far chegar ao final do exame com uma nota que o aprove, porque mesmo o que voc acha que
conhece pode funcionar de forma um pouco diferente do que imagina. No o bastante conseguir que seu cdigo funcione
corretamente; voc precisa compreender os fundamentos bsicos de maneira profunda e com abrangncia suficiente para

XX
abordar tudo que possa surgir durante o uso da linguagem.
O Exame de Desenvolvedor Certificado pela Sun nico no universo de certificao em informtica, porque na verdade ele
avaliar sua habilidade como desenvolvedor, em vez de simplesmente seu conhecimento da linguagem ou das ferramentas.
Se tornar um Desenvolvedor Java Certificado envolve, por definio, experincia em desenvolvimento.

Quem se importa com certificaes?


Os empregadores se importam. Os recrutadores de executivos. Os programadores. O exame de programador da Sun tem
sido considerado a certificao que mais se popularizou no universo da informtica e a quantidade de candidatos que o faz
continua a crescer a cada ano. Passar nesse exame provar trs itens importantes para um empregador atual ou futuro: que
voc sabe das coisas; que sabe como estudar e se preparar para um teste desafiador; e, acima de tudo, que conhece a
linguagem Java. Se um empregador tiver que optar entre um candidato que passou no exame e outro que no tenha
passado, ele saber que o programador certificado no precisar se demorar no aprendizado da linguagem Java.
Mas isso significa que voc realmente poder desenvolver softwares em Java? No necessariamente, mas uma boa
vantagem inicial. Para demonstrar efetivamente sua habilidade no desenvolvimento (em vez de apenas seu conhecimento da
linguagem), voc deve considerar o Exame de Desenvolvedor, do qual receber a tarefa de criar um programa, do incio ao
fim, e envi-lo para um avaliador que o examinar e lhe dar uma nota.

Programa de certificao da Sun


Atualmente, h oito exames de certificao em Java. Os exames de Associado, Programador e Desenvolvedor esto associados com
a Java Standard Edition. Os exames de Componentes Web, Componentes de Negcios, Servios Web e Projetista Empresarial esto
associados com a Java Enterprise Edition. O exame de Aplicativos Mveis est associado com a Java Micro Edition.
Os exames de Associado, Programador, Componentes Web, Componentes de Negcios, Servios Web e Aplicativos
Mveis so exclusivamente de mltipla escolha e do tipo arrastar-e-soltar, e so feitos em um centro de testes, enquanto os
exames de Desenvolvedor e de Projetista envolvem o envio de um projeto.

O exame de associado (CX-310-019)


Associado Java Certificado pela Sun (SCJA)
O exame de Associado foi elaborado para candidatos que acabaram de iniciar uma carreira em desenvolvimento de
aplicativos ou em gerncia de projetos de software usando tecnologias Java. Este exame testa conhecimento bsico de
conceitos de programao orientada a objetos, os fundamentos de UML, os fundamentos da linguagem de programao
Java e o conhecimento geral de plataformas e tecnologias Java. Este exame no tem nenhum pr-requisito.

O exame de programador (CX-310-035)


Programador Java Certificado pela Sun para Java 5 (SCJP)
O exame de Programador foi projetado para testar seu conhecimento na prpria linguagem de programao Java. Ele requer
um conhecimento aprofundado da sintaxe da linguagem, dos conceitos principais e de uma pequena quantidade de
interfaces de programao de aplicativos (APIs, Application Programming Interfaces). Este exame tambm testa o
conhecimento intermedirio de conceitos de projetos orientados a objetos. No avaliar nenhuma questo relacionada ao
projeto ou arquitetura do programa e no perguntar por que uma abordagem melhor do que a outra, mas, em vez disso,
estar preocupado se a abordagem dada funcionar em uma situao especfica. Este exame no tem nenhum pr-requisito.

O exame de desenvolvedor (CX-310-252A CX-310-027)


Desenvolvedor Java Certificado pela Sun para Java 5 (SCJD)
O exame de Desenvolvedor tem incio onde o exame de Programador termina. Ser necessrio passar no exame de
Programador antes que voc possa se dedicar ao exame de Desenvolvedor. Esse exame requer o desenvolvimento de um
programa real e, em seguida, uma justificativa para as decises tomadas no projeto. Ele foi elaborado para testar sua
compreenso do motivo pelo qual certas abordagens so melhores que outras em determinadas circunstncias e para avaliar
sua habilidade em seguir uma especificao e implementar um programa correto, funcional e amigvel.
O exame de Desenvolvedor composto de duas partes: a tarefa de criao de um projeto e um exame com questes
dissertativas como acompanhamento. Ser dado um perodo de tempo ilimitado para concluso do projeto, porm,
quando este for enviado, os candidatos tero que ir a um centro de testes e fazer um pequeno exame de acompanhamento
com questes dissertativas, elaborado, principalmente, para validar e verificar se foram eles quem o projetaram e construram.

JAVA 5 XXI

O exame de Desenvolvedor de componentes da Web (CX-310-081)


Desenvolvedor de Componentes da Web Certificado pela Sun na Plataforma Java EE (SCWCD)
O exame de desenvolvedor da Web tem como alvo as pessoas que estiverem usando o JSP (Java Server Pages) e o servlet da
tecnologia Java para criar aplicativos Web. Ele foi baseado nas especificaes do Servlet e do JSP definidas na Java Enterprise
Edition (Java EE). Para fazer este exame, necessrio que o candidato seja um Programador Java Certificado pela Sun.

O exame de Desenvolvedor de Componentes de Negcios (CX-310-090)


Desenvolvedor de Componentes de Negcios Certificado pela Sun na Plataforma Java EE (SCBCD)
O exame de desenvolvedor de componentes de negcios foi elaborado para os candidatos que estejam usando a tecnologia
Java EJB para criar aplicativos de camada de negcios. O exame se baseia na especificao EJB definida na Java Enterprise
Edition (Java EE). Para fazer este exame, necessrio que o candidato seja um Programador Java Certificado pela Sun.

O exame de Desenvolvedor de Servios Web (CX-310-220)


Desenvolvedor de Servios Web Certificado pela Sun na Plataforma Java EE (SCDJWS)
O exame de servios web tem como alvo os candidatos que estejam criando aplicativos com tecnologias Java EE e Java Web
Services Developer Pack. Para fazer este exame, necessrio que o candidato seja um Programador Java Certificado pela Sun.

O exame de Projetista (CX-310-051, CX-310-300A, CX-310-061)


Projetista Empresarial Certificadopara a Tecnologia J2EE (SCEA)
Essa certificao se destina a projetistas empresariais e, portanto, no requer que o candidato passe no exame de
Programador. O exame de Projetista tem trs partes: uma prova de mltipla escolha baseada em conhecimentos, um
projeto de arquitetura e um teste de acompanhamento com questes dissertativas. Voc precisa passar na prova de mltipla
escolha antes de se registrar e receber a tarefa do projeto.

O exame Mvel (CX-310-011)


Desenvolvedor de Aplicativos Mveis Certificado pela Sun para Java ME (SCMAD)
O exame de desenvolvedor de aplicativos mveis para candidatos que estejam criando aplicativos para telefones celulares
ou outros dispositivos habilitados para Java. O exame aborda a especificao Java Technology for Wireless Industry (JTWI),
a API Wireless Messaging e as APIs Mobile Media. Para fazer este exame, necessrio que o candidato seja um SCJP.

Fazendo o exame de Programador


Em um mundo ideal, voc seria avaliado por seu conhecimento efetivo em um assunto e no simplesmente pelas respostas
que deu a vrias perguntas de um exame. Mas a vida no perfeita e nem prtico avaliar o conhecimento de vrias pessoas
individualmente.
Na maioria de seus exames de certificao, a Sun avalia os candidatos usando um servio de teste baseado em computador e
operado pela Sylvan Prometric. Esse servio bem popular na indstria e usado por vrios programas de certificao de
outros fornecedores, incluindo o CNE da Novell e o MCSE da Microsoft. Graas a grande quantidade de filiais da Sylvan
Prometric, os exames podem ser administrados em todo o mundo, geralmente na mesma cidade do candidato.
Geralmente, os exames da Sylvan Prometric apresentam um funcionamento semelhante para todos os fornecedores. No
entanto, h um fato importante a se conhecer sobre os exames da Sun: eles usam o formato tradicional de teste da Sylvan
Prometric e no o adotado recentemente. Isso d ao candidato uma vantagem, j que o formato tradicional permite que as
repostas sejam revisadas e refeitas durante o teste.
OBSERVAES PARA O EXAME
Muitos candidatos experientes em testes no voltam s respostas para alter-las a menos que tenham uma boa razo para fazer isso. S altere
uma reposta quando achar que pode ter interpretado mal ou se enganado na primeira leitura que fez de uma pergunta. O nervosismo pode
fazer com que voc encontre uma segunda resposta para cada pergunta deixando a correta de lado.
Para desencorajar a simples memorizao, os exames da Sun apresentam um conjunto potencialmente distinto de perguntas
para candidatos diferentes. Na elaborao do exame, centenas de perguntas so compiladas e aprimoradas por testadores
beta. Desse conjunto volumoso, so extradas as perguntas referentes a cada objetivo que, posteriormente, so reunidas em
vrias verses diferentes do exame.

XXII
Cada exame da Sun tem uma quantidade especfica de perguntas (o exame de Programador contm 72 perguntas) e uma
durao para o teste (175 minutos para o exame de Programador). Normalmente, o tempo destinado ao teste generoso. O
tempo remanescente sempre exibido no canto da tela de teste, junto com a quantidade de perguntas que faltam. Se ele
expirar durante o exame, o teste ser encerrado e as respostas incompletas sero consideradas incorretas.
No final do exame, seu teste ser imediatamente avaliado e o resultado exibido na tela. As notas obtidas em cada assunto
tambm sero fornecidas, mas o sistema no indicar que perguntas especficas estavam incorretas. Um relatrio ser
impresso automaticamente na mesa do inspetor para que voc possa arquiv-lo. A nota do teste transmitida
eletronicamente para a Sun.
OBSERVAES PARA E EXAME
Quando voc se sentir confuso ao responder perguntas de mltipla escolha, use seu rascunho para anotar as duas ou trs respostas que
considera as mais provveis e, em seguida, sublinhe a reposta que acha que possivelmente a correta. Aqui est um exemplo de como ficar seu
rascunho quando voc j tiver percorrido o teste uma vez:
21. B ou C
33. A ou C
Isso ser extremamente til para voc marcar a pergunta e dar prosseguimento. Posteriormente, poder retornar e resgatar imediatamente seu
raciocnio de onde parou. Empregue essa tcnica para evitar ter que reler e reavaliar as perguntas. Voc tambm ter que usar seu rascunho em
perguntas de cenrio complexo, baseadas em texto, para criar imagens de modo a compreender melhor a questo. Essa tcnica ser
especialmente til se voc tiver mais facilidade em captar conceitos visualmente.

Formato das perguntas


Os exames da Sun sobre Java apresentam as perguntas no formato de mltipla escolha ou de arrastar-e-soltar. Em verses
anteriores, quando lhe era apresentada uma questo de mltipla escolha, voc no sabia quantas respostas estavam corretas,
porm, a cada verso do exame, as respostas se tornaram mais difceis, de modo que, atualmente, a pergunta informa
quantas respostas tm que ser selecionadas. As perguntas do Teste Individual, encontrado no final de cada captulo, tm
quase o mesmo formato, redao e nvel de dificuldade das perguntas do exame real, com duas excees:
Sempre que possvel, as nossas questes NO lhe diro quantas respostas corretas existem (diremos marque todas as
corretas). Faremos isso para lhe ajudar a dominar o material. Alguns alunos experientes com testes poderiam eliminar
as respostas erradas se soubessem o nmero de respostas corretas. Tambm possvel, quando voc sabe quantas esto
corretas, escolher as respostas mais plausveis. Mas o nosso trabalho prepar-lo para as dificuldades que encontrar no
exame real!
O exame real normalmente numera as linhas de cdigo de cada questo. Ns normalmente no as numeramos - a
principal razo para termos espao para adicionar comentrios onde necessrio. No exame real, quando uma listagem
de cdigo comear pelo 1, isso indica que se trata de um arquivo-fonte inteiro. Se a listagem comear por um nmero
maior do que 1, significa que se trata de um arquivo-fonte parcial. Quando se tratar de um arquivo-fonte parcial, assuma
sempre que a parte ausente do cdigo est correta (por exemplo, a no ser que esteja dito explicitamente o contrrio, voc
pode assumir que um arquivo-fonte parcial tem as instrues import e package corretas).

Questes de Arrastar-e-Soltar
Embora muitos outros exames de certificao Java da Sun venham usando questes de arrastar-e-soltar h vrios anos, esta
a primeira verso do exame SCJP que inclui esse tipo de questo. Como discutimos anteriormente, as questes do exame
que voc recebe so sorteadas aleatoriamente, mas voc pode esperar que cerca de 20 a 25% das questes sero do tipo
arrastar-e-soltar.
As questes arrastar-e-soltar normalmente consistem de trs componentes:
Um cenrio Uma pequena descrio da tarefa que voc dever realizar.
Uma tarefa parcialmente realizada Uma listagem de cdigo, uma tabela ou uma rvore de diretrios. A tarefa
parcialmente realizada conter espaos em branco, indicados com caixas (normalmente amarelas). Essas caixas devero
ser preenchidas para se completar a tarefa.
Um conjunto de fragmentos representando respostas possveis Voc clica nos fragmentos (normalmente caixas
azuis) e os arrasta para o espao em branco correto. O cenrio da questo lhe dir se voc pode reutilizar fragmentos.
A maioria das questes de arrastar-e-soltar ter cerca de 4 a 10 espaos em branco para serem preenchidos, e normalmente
mais fragmentos do que o necessrio (alguns fragmentos so deixados sem utilizao). As questes de arrastar-e-soltar
freqentemente so as mais complexas do exame, e o nmero de possveis combinaes de respostas as tornam quase
impossveis de chutar.

JAVA 5 XXIII
OBSERVAES PARA O EXAME
No que se refere s questes de arrastar-e-soltar, h um grande problema com o software de teste em muitos dos centros Prometric em todo o
mundo. Em geral, o software lhe permite revisar as questes que j respondeu quantas vezes quiser.
No caso das questes de arrastar-e-soltar, entretanto, muitos candidatos tm relatado que, se eles pedirem para rever a questo, o software
apaga a resposta anteriores! CUIDADO! At que esse problema seja corrigido, recomendamos que voc mantenha uma lista de quais questes
so de arrastar-e-soltar, para que no revise uma sem querer. Outra boa idia anotar as respostas desse tipo de questo, de modo que se uma
for apagada, ser fcil digitar novamente a resposta.
Isso nos remete a outro problema que os candidatos tm relatado. O centro de teste deveria lhe fornecer o material necessrio para que voc
possa trabalhar nas questes por escrito. Em alguns casos, os centros forneceram marcadores e quadros inapropriados, por serem pequenos
demais e difceis de usar efetivamente. Recomendamos que voc verifique, antes do dia do exame, se receber do centro lpis ou caneta e pelo
menos algumas folhas de papel em branco.

Dicas para a hora do exame


H 72 perguntas no exame 310-055 (Java 5). Voc ter que acertar pelo menos 43 delas para passar acima de 59 por cento.
O tempo para concluso do exame ser de quase trs horas. Essas informaes esto sujeitas a alteraes. Confirme sempre
com a Sun em www.suned.sun.com, antes de prestar o exame.
Voc pode responder as perguntas em qualquer ordem e tambm pode voltar para marcar suas respostas depois que tiver
percorrido o teste. No h penalidades para as respostas erradas, portanto, melhor marcar uma resposta do que deixar uma
pergunta em branco.
Uma estratgia adequada ao fazer o exame percorr-lo uma vez e responder todas as perguntas que souber de imediato.
Em seguida, voc poder voltar e responder as outras. Responder uma pergunta pode fazer com que se lembre como
responder a anterior.
Seja muito cuidadoso com os exemplos de cdigos. Primeiro, procure erros na sintaxe, conte as chaves, sinais de ponto e
vrgula e parnteses e certifique-se se h a mesma quantidade desses smbolos na abertura e no fechamento. Procure erros na
colocao de letras maisculas e outros problemas de sintaxe antes de tentar descobrir qual a funo do cdigo.
Muitas das perguntas do exame dependero de mincias da sintaxe. Voc precisar de um conhecimento consistente da
linguagem Java para que seja bem sucedido.

Dicas que podem ser aplicadas no estudo para o exame


Antes de tudo, reserve bastante tempo para o estudo. A Java uma linguagem de programao complexa e voc no pode
esperar apreender tudo que precisa saber em uma reviso rpida feita em uma nica sesso de estudo. Trata-se de um campo
que vai sendo melhor compreendido com o tempo, atravs do estudo de um assunto e posterior aplicao do
conhecimento. Elabore uma programao de estudo e atenha-se a ela, mas seja razovel com a carga atribuda,
principalmente se estiver estudando ao mesmo tempo em que executa suas tarefas dirias no trabalho.
Uma tcnica fcil, que pode ser usada nos estudos para os exames de certificao, a dedicao durante 15 minutos dirios.
Simplesmente, estude durante um mnimo de 15 minutos todo dia. um compromisso nfimo, porm, significativo. Se
houver um dia em que voc no consiga se concentrar, ento, pare quando chegar aos 15 minutos. Se em outro dia o estudo
fluir muito bem, estude mais. Se a quantidade de dias em que tudo fluir bem for maior, suas chances de ser bem sucedido
sero bastante altas.
altamente recomendvel que voc use cartes pedaggicos ao se preparar para o exame de Programador. O carto
pedaggico simplesmente uma ficha 3X5 ou 4X6 com uma pergunta na frente e a resposta atrs. Crie voc mesmo esses
cartes quando passar por um captulo e inclua qualquer item que considere precisar de mais memorizao ou tempo de
prtica. Com eles, voc pode se auto-avaliar fazendo a leitura da pergunta, buscando a reposta na memria e depois virando
o carto para ver se acertou. Ou pedir a outra pessoa que o ajude, segurando o carto com o lado da pergunta virado para
voc e verificando a reposta em seguida. A maioria de nossos alunos achou esses cartes extremamente teis,
principalmente porque so to pequenos que enquanto voc estiver estudando, poder lev-los para qualquer lugar. No
entanto, melhor no us-los ao dirigir, exceto quando parado no sinal vermelho. Levamos os nossos para todos os
lugares - o consultrio mdico, restaurantes, teatros, onde puder imaginar.
Os grupos de estudo para a certificao outro recurso excelente e voc no encontrar uma comunidade maior ou mais
participativa do que nos fruns Big Moose Sallon do javaranch.com. Se tiver uma pergunta relacionada a este livro, ou de
qualquer outro exame simulado com o qual se deparar, ao envi-la para um frum sobre a certificao voc obter a resposta,
em quase todos os casos, dentro de um dia, e na maioria das vezes, em algumas horas. Voc nos encontrar por l (os
autores) vrias vezes por semana, ajudando as pessoas que esto iniciando sua jornada de preparao para o exame. (Voc
no conseguir pensar em nada que soe to bem como a palavra jornada quando estiver se preparando para o exame).
Finalmente, recomendamos que voc escreva vrios pequenos programas em Java! Durante a escrita deste livro, ns
escrevemos centenas de pequenos programas, e se voc der ouvidos ao que dizem os candidatos mais bem-sucedidos (tipo
aqueles com mdia 98%), eles sempre relatam que escreveram muito cdigo como parte do estudo.

XXIV

Agendando seu exame


Os exames so contratados na prpria Sun, mas so agendados diretamente com a Sylvan Prometric. Para locais fora dos
Estados Unidos, o nmero de contato de onde voc estiver poder ser encontrado no site Web da Sylvan, que fica no
endereo http://www.2test.com. Os representantes da Sylvan podero agendar seu exame, mas no tero informaes
sobre os programas de certificao. Perguntas sobre a certificao devem ser dirigidas para o departamento de Treinamento
Internacional da Sun. Esses representantes esto suficientemente familiarizados com os exames para encontr-los por
nome, mas ser melhor se voc tiver o nmero do exame especfico mo quando falar com eles. Afinal, voc no iria gostar
se lhe agendassem e cobrassem o exame errado.
Os exames podem ser agendados at com um ano de antecedncia, embora isso no seja realmente necessrio. Geralmente,
agend-lo com uma ou duas semanas de antecedncia ser o suficiente para voc reservar o dia e a hora que preferir. No
momento do agendamento, os operadores procuraro centros de teste em sua rea. Por convenincia, eles tambm podero
informar em que centros de teste voc j esteve.
Quando voc se registrar no exame, o nmero de sua identificao ser solicitado. Esse nmero ser usado no envio dos
resultados de seu exame para a Sun. importante que voc use o mesmo nmero de identificao sempre que se registrar,
para que a Sun possa acompanhar seu progresso. As informaes de endereo fornecidas quando voc se registrar pela
primeira vez tambm sero usadas pela Sun para enviar os certificados e outros materiais relacionados. Nos Estados
Unidos, geralmente o nmero de seu seguro social usado como nmero de identificao. No entanto, a Sylvan pode lhe
fornecer um nmero exclusivo de identificao.

Chegando no local do exame


Como em qualquer teste, voc ficar tentado a fazer uma reviso rpida na noite anterior. Resista a essa tentao. Voc j deve
conhecer o material a essa altura e se estiver muito sonolento pela manh, no se lembrar o que estudou. Tenha uma boa
noite de sono.
Chegue cedo no exame; isso lhe dar tempo para relaxar e revisar os fatos essenciais. Aproveite a oportunidade para rever
suas notas. Se estiver cansado de estudar, talvez possa comear seu exame alguns minutos antes. Por outro lado, no
recomendo chegar tarde. Seu teste poderia ser cancelado ou voc pode no ter tempo suficiente para concluir o exame.
Quando chegar no centro de testes, voc ter que se inscrever com o inspetor do exame. Para se inscrever, ser preciso
fornecer dois tipos de identificao. Os tipos aceitos so identificaes emitidas pelo governo (por exemplo, passaporte
ou habilitao de motorista), cartes de crdito e crachs de empresas. Sua fotografia deve constar em uma das
identificaes. Eles s estaro se certificando se voc no enviou, em seu lugar, seu vizinho brilhante em Java, a quem
pagou para fazer o exame.
Alm de um crebro repleto de informaes, voc no precisar levar nada mais para o exame. Na verdade, seu crebro ser
tudo que poder levar! Todos os testes devem ser feitos com os livros fechados, o que significa que voc no precisa levar
nenhum material de consulta. Tambm no poder levar nenhuma nota ao sair da sala do exame. O inspetor do teste lhe
fornecer papel e caneta. Alguns centros de teste podem fornecer uma pequena prancheta em vez disso. Recomendamos que
voc leve uma garrafa dgua. Duas horas muito tempo para manter seu crebro em atividade e ele funcionar melhor se
estiver bem hidratado.
Deixe seu pager e telefone no carro ou desligue-os. Eles s deixaro a situao mais tensa, j que no so permitidos na sala
do exame e talvez ainda possam ser ouvidos se tocarem fora da sala. Bolsas, livros e outros materiais devem ser deixados
com o inspetor antes que voc entre na sala do exame.
Uma vez na sala de testes, o inspetor se conectar com seu exame e voc ter que verificar se seu nmero de identificao e o
nmero do exame esto corretos. Se for a primeira vez que voc estiver fazendo um teste da Sun, poder selecionar um
tutorial resumido existente no software do exame. Antes de o teste comear, sero dadas informaes sobre o exame,
incluindo a durao, a quantidade de perguntas e a nota exigida para passar. bastante provvel que seja pedido que voc
responda a uma breve pesquisa antes de o exame propriamente dito comear. Essa pesquisa lhe perguntar sobre o seu
nvel de experincia em Java. O tempo que voc gastar na pesquisa no ser retirado do tempo propriamente dito do seu
teste - nem voc ter mais tempo se responder a pesquisa rapidamente. Lembre-se tambm de que as questes no seu
exame no sero modificadas dependendo das respostas que der pesquisa. Em seguida, o relgio comear a funcionar e a
diverso ter incio.
O software do teste executado no Windows, mas voc no ter acesso a rea de trabalho principal ou a qualquer acessrio.
O exame ser apresentado em tela cheia, com somente uma pergunta por tela. Os botes de navegao permitiro que voc
se mova para baixo ou para cima entre as perguntas. No canto superior direito da tela, contadores mostraro a quantidade
de perguntas e o tempo remanescentes. O mais importante que haver uma caixa de seleo chamada Mark no canto
superior esquerdo da tela essa ser uma ferramenta importantssima, como explicaremos na seo seguinte.

JAVA 5 XXV

Tcnicas para fazer o teste


Sem um plano de ataque, os candidatos sero subjugados pelo exame ou sero deixados para trs e ficaro sem tempo.
Geralmente, quando estamos familiarizados com o material, o tempo estipulado mais do que suficiente para a concluso
do exame. O truque no perder tempo em algum problema especfico.
O objetivo bvio de um exame que as perguntas sejam respondidas de maneira eficaz, mesmo que outros aspectos
possam distra-lo. Aqui esto algumas dicas para fazer o exame mais eficientemente.

Avalie o desafio
Primeiro, d uma passada rpida por todas as perguntas do exame. Elimine as fceis, respondendo-as imediatamente. Leia
rapidamente cada pergunta, observando seu tipo e assunto. Como diretriz, tente gastar menos do que 25 por cento de seu
tempo nessa leitura.
Essa etapa permitir que voc avalie o escopo e a complexidade do exame, lhe ajudando a determinar como controlar seu
tempo. Tambm dar uma idia de onde encontrar possveis respostas para algumas das perguntas. s vezes, a redao de
uma pergunta pode dar pistas ou trazer a sua memria outra pergunta.
Se voc no estiver totalmente certo de sua reposta a uma pergunta, responda assim mesmo, mas marque a caixa Mark para
indicar que deve fazer uma reviso posterior nela. Caso voc fique sem tempo, pelo menos ter fornecido a primeira reposta
que lhe veio cabea, em vez de deix-la em branco.
Em segundo lugar, revise todo o teste, empregando a percepo que obteve na primeira leitura. Por exemplo, se o teste
inteiro parecer difcil, voc saber que no poder gastar mais de cerca de um minuto em cada pergunta. Divida o tempo em
pequenos blocos por exemplo, Preciso responder 10 perguntas a cada 20 minutos.
Nesse estgio, provavelmente ser uma boa idia saltar as perguntas que exigirem mais tempo, marcando-as para a prxima
leitura. Tente terminar essa fase antes de chegar a 50-60 por cento do tempo do teste.
Em terceiro lugar, leia todas as perguntas que voc marcou para revisar, usando o boto Review Marked da tela de reviso de
perguntas. Essa etapa inclui uma segunda leitura de todas as perguntas cujas respostas foram dadas sem certeza, assim
como responder as que exigem mais tempo e que voc postergou at agora. Responda como achar melhor esse conjunto de
perguntas at que as tenha respondido por completo.
Se voc estiver mais seguro para responder uma pergunta que marcou, desmarque-a agora. Do contrrio, deixe-a marcada.
V trabalhando nas perguntas que exigirem mais tempo, principalmente as que necessitarem de clculos manuais.
Desmarque-as quando estiver satisfeito com a resposta.
Ao final dessa etapa, voc ter respondido todas as perguntas do teste, apesar de no ter certeza em algumas das respostas.
Se ficar sem tempo na prxima etapa no perder pontos pela falta de uma pergunta. Estar bem se ainda tiver 10-20 por
cento de tempo remanescente.

Revise suas respostas


Agora voc est tranqilo! Respondeu a todas as perguntas e est pronto para fazer uma verificao apurada. Faa outra
leitura (sim, mais uma) em todo o teste (embora talvez seja uma boa idia no revisar as questes de arrastar-e-soltar!),
relendo rapidamente cada pergunta e sua resposta.
Repasse as perguntas cuidadosamente mais uma vez para procurar pegadinhas. Fique particularmente atento para as que
inclurem a opo No compilado. Esteja alerta para pistas de ltima hora. Voc j est bem familiarizado com quase
todas as perguntas a essa altura e pode encontrar algumas pistas que no tinha visto antes.

O grande final
Quando estiver confiante de todas as respostas, termine o exame enviando-o para avaliao. Depois, do que parecero os 10
segundos mais longos de sua vida, o software do teste retornar sua nota. Geralmente, ela exibida em um grfico de
barras, que mostra a nota mnima exigida, a nota obtida e um indicador PASS/FAIL.
Se voc estiver curioso, poder ver sua mdia de pontos nesse momento. No sero apresentadas as repostas a perguntas
especficas; em vez disso, as perguntas sero reunidas em categorias e sero registrados resultados para cada categoria. Esse
detalhe tambm estar em um relatrio que ter sido impresso automaticamente na mesa do inspetor do exame.
Quando voc sair do local do exame, ter que deixar seu rascunho para trs ou entreg-lo ao inspetor. (Alguns centros de
teste registram o nmero de folhas que so fornecidas, para terem certeza de que todas sero devolvidas). Em troca, voc
receber uma cpia do relatrio do teste.
Esse relatrio ter a marca do centro de testes gravada e voc deve guard-lo em um local seguro. Normalmente, os
resultados so transmitidos automaticamente para a Sun, mas pode ser que voc precise do relatrio emitido para provar
que passou no exame.

XXVI
Em algumas semanas, a Sun lhe enviar um pacote pelo correio contendo um bonito certificado, um alfinete de lapela e
uma carta. Tambm podem lhe enviar instrues de como contratar o trabalho artstico para criao de um logotipo que
voc poder usar em cartes de visita pessoais.

Fazendo novamente o teste


Se voc no passar no exame, no perca a esperana. Tente aproveitar o que ganhou com a experincia e prepare-se para tentar
novamente. Considere-se um pouco mais informado. Voc conhece o formato do teste um pouco melhor e o relatrio
mostrar que reas voc precisa fortalecer.
Se fizer o teste mais uma vez sem demora, provavelmente voc se lembrar de vrias das perguntas que pode ter errado.
Isso o ajudar a concentrar seus estudos na rea certa.
Para concluir, lembre-se que as certificaes da Sun so valiosas, pois so difceis de obter. Afinal, se qualquer pessoa
conseguisse, que valor teria? No final das contas, necessrio uma atitude adequada e muito estudo, mas voc pode faz-lo!

You might also like