You are on page 1of 48

Workshop – Certificação Oracle Associate, Java SE 5/6.

Rodrigo C. de Azevedo

Certified ScrumMaster Project Management Professional CompTIA Project+ OMG Certified UML Professional Fundamental OMG Certified UML Professional Intermediate Sun Certified Associate for Java Platform Sun Certified Programmer – Java 1.4, 5.0 e 6.0 Sun Certified Web Component Developer – 1.4 e 5.0 Sun Certified Business Component Developer – J2EE 1.3 Sun Certified Enterprise Architect [SCEA, Part I]

Rodrigo Cabral de Azevedo :: www.rodrigocabral.com.br

2 / 96

1

Roteiro
Assuntos O que é a certificação? Porque se certificar? Mapa da certificação Certificações Oracle Novas Certificações Oracle Como marcar uma prova Visualizando as conquistas Oracle Certified Associate, Java SE 5/SE Oracle Certified Associate, Java SE 5/SE - Conteúdo Questões Agradecimento
Rodrigo Cabral de Azevedo :: www.rodrigocabral.com.br 3 / 96

O que é certificação?
É projetado para que um profissional demonstre sua competência, dedicação e seja considerado confiável no campo altamente competitivo da tecnologia.

Rodrigo Cabral de Azevedo :: www.rodrigocabral.com.br

4 / 96

2

Porque se certificar?
Aumentar o conhecimento Aumentar a produtividade Diferencial no currículo Reconhecimento do mercado Salário

Rodrigo Cabral de Azevedo :: www.rodrigocabral.com.br

5 / 96

Mapa da certificação

Rodrigo Cabral de Azevedo :: www.rodrigocabral.com.br

6 / 96

3

Certificações Oracle
Titulação na certificação SUN
Sun Certified Java Associate (SCJA) Sun Certified Java Programmer 5.0 (SCJP) Sun Certified Java Programmer 6.0 (SCJP) Sun Certified Java Developer (SCJD) Sun Certified Web Component Developer (SCWCD) EE5 Sun Certified Business Component Developer (SCBCD) EE5

Titulação na certificação Oracle
Oracle Certified Associate, Java SE 5/SE 6 Oracle Certified Professional, Java SE 5 Programmer Oracle Certified Professional, Java SE 6 Programmer Oracle Certified Master, Java SE6 Developer Oracle Certified Professional, Java EE 5 Web Component Developer Oracle Certified Professional, Java EE 5 Business Component Developer

Rodrigo Cabral de Azevedo :: www.rodrigocabral.com.br

7 / 96

Certificações Oracle
Titulação na certificação SUN
Sun Certified Developer for Java Web Services 5 (SCDJWS) Sun Certified Enterprise Architect (SCEA) EE5 Sun Certified Mobile Application Developer (SCMAD)

Titulação na certificação Oracle
Oracle Certified Professional, Java EE 5 Web Services Developer Oracle Certified Master, Java EE 5 Enterprise Architect Oracle Certified Professional, Java ME 1 Mobile Application Developer

Rodrigo Cabral de Azevedo :: www.rodrigocabral.com.br

8 / 96

4

Java Platform.br 10 / 96 5 .br 9 / 96 Como marcar uma prova Fazer o cadastro no site da Prometric. Enterprise Edition 6 Enterprise JavaBeans Developer Oracle Certified Professional.htm Rodrigo Cabral de Azevedo :: www. Antigamente era preciso entrar em contato com a Sun Education para a aquisição do voucher.com. No momento do agendamento deve-se escolher o local e data para realização da prova.rodrigocabral. Enterprise Edition 6 JavaServer Faces Developer Rodrigo Cabral de Azevedo :: www. Enterprise Edition 6 JavaServer Pages and Servlet Developer Oracle Certified Professional. Java Platform. http://www. Java Platform. Enterprise Edition 6 Java Persistence API Developer Oracle Certified Professional.com/Oracle/default. Java Platform. Java Platform.prometric.rodrigocabral.com. basta realizar o pagamento através de cartão de crédito no site Prometric.Novas Certificações Oracle Titulação na certificação SUN Sun Certified JSP and Servlet Developer for the Java EE6 Platform Sun Certified EJB Developer for the Java EE6 Platform Sun Certified JPA Developer for the Java EE6 Platform Sun Certified Developer for the Java Web Services for the Java EE6 Sun Certified Developer for the JSF for the Java EE6 Platform Titulação na certificação Oracle Oracle Certified Professional. atualmente com a Oracle. Enterprise Edition 6 Web Services Developer Oracle Certified Professional.

rodrigocabral.integral7.com/durango/do/login?ownername=sun&ch annel=sun&basechannel=sun&usertype=candidate Rodrigo Cabral de Azevedo :: www.Como marcar uma prova Rodrigo Cabral de Azevedo :: www.br 12 / 96 6 . é possível visualizar sua certificação através do site “Oracle Certification Database”.com.com.rodrigocabral. https://i7lp.br 11 / 96 Conquistas Alguns dias após a aprovação na prova escolhida.

Java SE 5/SE 6 Provê um ponto de entrada no desenvolvimento de aplicações ou gerenciamento de projeto de software utilizando tecnologia JAVA. Rodrigo Cabral de Azevedo :: www. Valida o conhecimento básico dos conceitos OO.br 14 / 96 7 . da linguagem de programação JAVA e conhecimentos gerais da plataforma JAVA.com.com.rodrigocabral.Conquistas Rodrigo Cabral de Azevedo :: www.br 13 / 96 Oracle Certified Associate. de representação UML.rodrigocabral.

rodrigocabral. Percentual de acerto para aprovação: 68% (35 questões). Número de questões: 51. Possui opção de Português (Brasil). Java SE 5/SE 6 Exame CX-310-019 Duração: 115 minutos.com.rodrigocabral.br 16 / 96 8 . Java SE 5/SE 6 – Conteúdo Seção 1: Conceitos fundamentais de Orientação a Objeto Seção 2: Representação UML dos conceitos de orientação a objeto Seção 3: Conceitos de Orientação a Objeto implementados em Java Seção 4: Projeto e Implementação de Algoritmo Seção 5: Fundamentos do desenvolvimento Java Seção 6: Plataforma Java e tecnologias de integração Seção 7: Tecnologias Cliente Seção 8: Tecnologias Servidor Rodrigo Cabral de Azevedo :: www. Questões de múltipla-escolha e do tipo “drag and drop”.com. Custo: USD 125 (cerca de 215 reais) Rodrigo Cabral de Azevedo :: www.br 15 / 96 Oracle Certified Associate.Oracle Certified Associate.

um-paramuitos e muitos-para-muitos).br 18 / 96 9 . associações (incluindo multiplicidade: um-para-um. e navegação da associação. Descrever ocultação da informação (usando atributos e métodos privados). boleanos e caracter).rodrigocabral. Descrever. descrever as convenções do JavaBean para métodos acessadores (getter e setter). encapsulamento. pontos-flutuantes.com. e exposição de funcionalidade de objeto utilizando métodos públicos. comparar e diferenciar composições de classe. comparar e diferenciar classes concretas. comparar e diferenciar os tipos primitivos (inteiros. tipo enumeration e objetos. Rodrigo Cabral de Azevedo :: www.Seção 1: Conceitos fundamentais de Orientação a Objeto 14 questões Conceitos de Orientação a Objeto Descrever. Descrever. classes abstratas e interfaces e como aplicar herança.

Conceitos de Orientação a Objeto Descrever polimorfismo e como se aplica a classes e interfaces.com. e descrever e aplicar o princípio de "programar para uma interface" (programar orientado a interface). Char.rodrigocabral.br 19 / 96 Conceitos de Orientação a Objeto Qual das opções abaixo não representa uma classe Wrapper? A.br 20 / 96 10 . Short. B. Boolean.rodrigocabral.com. Byte. D. C. Rodrigo Cabral de Azevedo :: www. Rodrigo Cabral de Azevedo :: www.

B. Diferentes comportamentos para a mesma definição de variável.com. Estender de uma classe concreta.br 22 / 96 11 . Permite o reuso de um tipo existente e a extensibilidade. D. Permite modificar a implementação dos métodos sem alterar seu contrato. D.com. Estender de várias classes abstratas. Rodrigo Cabral de Azevedo :: www.rodrigocabral.rodrigocabral. C. Permite dar um estado inicial ao objeto criado. B. Estender de várias interfaces. Rodrigo Cabral de Azevedo :: www. A. Definir métodos concretos.br 21 / 96 Conceitos de Orientação a Objeto Um classe abstrata pode: Marque duas. dependendo do tipo do objeto. C.Conceitos de Orientação a Objeto Encapsulamento A.

br 23 / 96 Conceitos de Orientação a Objeto “Uma classe abstrata tem que conter pelo menos um método abstrato”.rodrigocabral.com.br 24 / 96 12 .rodrigocabral. Classes abstratas B. Verdadeiro B.Conceitos de Orientação a Objeto O que pode conter métodos abstratos? Marque duas. Classes concretas Rodrigo Cabral de Azevedo :: www. Enumerations D. Interfaces C.com. A. A. Falso Rodrigo Cabral de Azevedo :: www.

final B.br 25 / 96 Conceitos de Orientação a Objeto Qual das opções abaixo representa o relacionamento entre Pessoa e Professor.br 26 / 96 13 . A.com. synchronized Rodrigo Cabral de Azevedo :: www. A. Associação B. private C.rodrigocabral.Conceitos de Orientação a Objeto Métodos abstratos NÃO podem ser: Marque 4.com. Composição D. Rodrigo Cabral de Azevedo :: www. Herança C. protected E. static D. Nenhuma das anteriores.rodrigocabral.

com.rodrigocabral. Rodrigo Cabral de Azevedo :: www. C. Seus métodos precisam ser definidos por todas as classes que a implementam. Herança B. Suas variáveis não podem ser modificadas pelas classes que a implementam.br 27 / 96 Conceitos de Orientação a Objeto O que é verdade sobre interfaces? Marque duas. A. Seus métodos precisam ser explicitamente declarados como públicos. Composição C. Abstração Rodrigo Cabral de Azevedo :: www. B.com. D.rodrigocabral.br 28 / 96 14 . Seus métodos são implicitamente abstratos.Conceitos de Orientação a Objeto Qual é o relacionamento entre Locador e Locatário? A. Associação D.

Rodrigo Cabral de Azevedo :: www. Não podem ter construtores. Em propriedades boleanas. Método getter precisa ter o tipo da propriedade como tipo do argumento.rodrigocabral. Não podem ser estendidas por classes concretas.Conceitos de Orientação a Objeto Quais opções abaixo definem corretamente o padrão JavaBean para métodos acessadores? Marque duas.com. Método setter precisa ter o tipo da propriedade como retorno. Seus métodos precisam ser marcados como final.br 30 / 96 15 . o método setter sempre começa com “is”.rodrigocabral. C. Não podem ser declaradas como final. Método getter e setter precisam ser públicos. C. Rodrigo Cabral de Azevedo :: www. E.br 29 / 96 Conceitos de Orientação a Objeto Qual afirmação é correta sobre classes abstratas? A. A. D. Método setter precisa ter o tipo da propriedade como tipo do argumento. B. D.com. B.

double d = f. A.rodrigocabral. D. long l = d. Falso Rodrigo Cabral de Azevedo :: www. B.com.br 32 / 96 16 . char c = ‘A’.br 31 / 96 Conceitos de Orientação a Objeto “Uma classe abstrata pode ter todos os métodos concretos”. Rodrigo Cabral de Azevedo :: www.5.rodrigocabral. C. double d = 10. A.00.com. float f = (float) 100.Conceitos de Orientação a Objeto Quais trechos abaixo NÃO apresentam problemas? Marque duas. float f=5. Verdadeiro B.0. int i = c.

br 33 / 96 Seção 2: Representação UML dos conceitos de orientação a objeto 9 Questões 17 . É-COMPOSTO-POR D. TEM C.rodrigocabral. É-UM B.Conceitos de Orientação a Objeto Qual é classificação do relacionamento entre interface e a classe que a implementa? A. Nenhuma das anteriores.com. Rodrigo Cabral de Azevedo :: www.

B. composições. representação UML para modificadores de visibilidade de membros de classe. Rodrigo Cabral de Azevedo :: www.rodrigocabral.rodrigocabral. D. A é composto por 1 ou * objetos do tipo B. classes abstratas e interfaces).com. multiplicidade e navegação da associação.br 35 / 96 Representação UML O que é verdade sobre o diagrama de classes apresentado abaixo? A. A é associado com B.com.br 36 / 96 18 . representação UML de herança. C. B é composto por 1 ou * objetos do tipo A. Reconhecer a representação UML para associações de classe.Representação UML Reconhecer a representação UML de classes (incluindo atributos e operações. Rodrigo Cabral de Azevedo :: www. B é associado com A.

rodrigocabral. C. Interfaces são representadas usando o texto <<inter>>.Representação UML Quais das afirmações são verdadeiras? Marque duas.rodrigocabral. No diagrama de classe. Rodrigo Cabral de Azevedo :: www. Métodos abstratos são representados em itálico. A. o nome da classe é em negrito. D. D E. B.com. A B.com.br 38 / 96 19 . B C. E F. F Rodrigo Cabral de Azevedo :: www. C D.br 37 / 96 Representação UML Qual é o relacionamento que representa corretamente a relação entre A e B? A. Classes abstratas são representadas usando o texto <<abstract>>.

com. X implementa C.com. D. privado.rodrigocabral. público. protegido B. privado.br 40 / 96 20 . público. pacote. público. público. protegido. B e C são interfaces.br 39 / 96 Representação UML Quais afirmações são verdadeiras sobre o diagrama de classes apresentado abaixo? Marque quatro. pacote C. E. A. pacote D. pacote. protegido.rodrigocabral. Rodrigo Cabral de Azevedo :: www. protegido Rodrigo Cabral de Azevedo :: www. A herda de B. privado. B herda de A. A. X e Y são classes.Representação UML Identifique a ordem correta abaixo de acordo com as visibilidades possíveis em UML: + –#~ A. B. privado. X é composto de B e C. C. F.

D.rodrigocabral.br 41 / 96 Representação UML O que representa na notação UML 0. Rodrigo Cabral de Azevedo :: www.1? A. Multiplicidade 2 é ambas as pontas.com. Uma linha contínua.rodrigocabral. Navegabilidade C.. A. Uma linha contínua com setas em ambas as pontas. Multiplicidade B.br 42 / 96 21 .com. Atributos Rodrigo Cabral de Azevedo :: www. Papéis D. C. A linha tem um losango em ambas as pontas. B.Representação UML Navegabilidade na associação é bidirecional ocorre quando há: Marque duas.

E.br 44 / 96 22 . B é um subtipo de C.com. B e A herda de C B. Rodrigo Cabral de Azevedo :: www. B.br 43 / 96 Representação UML Quais afirmações são verdade sobre o diagrama de classes apresentado abaixo? Marque duas.rodrigocabral. D. B e A é composto por C. B está associado a C. B e A implementam C. B implementa C. D. B é subclasse A.com. C é um subtipo de B. A. C. C.rodrigocabral. B e A é associado com C. Rodrigo Cabral de Azevedo :: www.Representação UML O que é verdade sobre o diagrama de classes apresentado abaixo? A.

Rodrigo Cabral de Azevedo :: www. e reconhecer código que usa o princípio "programar para interface" (programar orientado a interface). tipos enumeration e referências de objeto. classes abstratas e interfaces. Desenvolver código que implementa associações de classes. código que implementa multiplicidade usando arrays. e reconhecer códigos que implementam composições e códigos que implementar corretamente a navegação na associação. códigos que fornecem implementação e herança de interface. Desenvolver código que declara classes concretas. código que declara atributos e métodos de instância e códigos que usam modificadores de acesso Java: privado e público.com. reconhecer literais desses tipos. Desenvolver código que usa polimorfismo para classes e interfaces.rodrigocabral.br 46 / 96 23 .Seção 3: Conceitos de Orientação a Objeto implementados em Java 9 questões Orientação Objeto e Java Desenvolver código que usa primitivos.

Não compila. C. Compila sem problemas. } public abstract class XPTO implements W {} A. A interface W deveria ter usado “implements” e não “extends”. A classe XPTO não implementou o método fazAlgo().rodrigocabral. class Cliente { void fazAlgo(Mamifero m) { m. Y { void fazAlgo(). } class Felino implements Mamifero { public void beberLeite() {} } class Gato extends Felino { public void beberLeite() {} } Qual das opções abaixo está de acordo com o princípio “programar orientado a interface”? A.rodrigocabral. class Cliente { void fazAlgo(Felino f) { f. D.beberLeite().com. }} D.beberLeite(). }} B. }} Rodrigo Cabral de Azevedo :: www.com. class Cliente { void fazAlgo(Cliente c) { c. Rodrigo Cabral de Azevedo :: www. A interface X e Y precisam ter pelo menos 1 método. Não compila. class Cliente { void fazAlgo(Gato g) { g. A interface não pode herdar de mais de 1 interface. }} C. Não compila. B.br 47 / 96 Orientação Objeto e Java De acordo com o código abaixo: interface Mamifero { void beberLeite(). E.beberLeite().beberLeite(). F.br 48 / 96 24 .Orientação Objeto e Java interface X {} interface Y {} interface W extends X. Não compila. pois a classe XPTO não tem métodos abstratos. Não compila.

Não compila. Não compila.Orientação Objeto e Java Qual dos códigos abaixo pode ser inserido na classe? abstract class XPTO { // Inserir código } A. E. Não compila. protected abstract void fazAlgo() {} Rodrigo Cabral de Azevedo :: www.println(sub.com. Rodrigo Cabral de Azevedo :: www. C. } class SuperClasse extends SubClasse { public static void main (String args[]) { SubClasse sub = new SuperClasse(). } } A.br 50 / 96 25 . B. B. Compila corretamente e não imprime nada. System.br 49 / 96 Orientação Objeto e Java class SubClasse { static int x.rodrigocabral. A variável d é privada. Compila corretamente e imprime 0 0. public void fazAlgo().0 false.d + “ “ + sub. C. abstract protected void fazAlgo(). D. private double d.com.b). protected boolean b.rodrigocabral. abstract void fazAlgo() {} D.x + “ “ + sub.out. As variáveis não foram iniciadas. Há uma variável “static”.

} D.br 51 / 96 Orientação Objeto e Java Se Mamifero é uma interface e Gato é uma classe concreta que implementa Mamifero. } class Carro { Pessoa[] p. Mamifero m = new Mamifero().br 52 / 96 26 .rodrigocabral. class Pessoa { Carro c. Mamifero m = new Gato(). Gato g = new Gato().rodrigocabral. class Pessoa { } class Carro { Pessoa p. class Pessoa { Carro c. A. C. } class Carro{ Pessoa[] p. Gato g = new Mamifero(). } C. Rodrigo Cabral de Azevedo :: www.com. Quais dos trechos de códigos abaixo compilam sem problema? Marque duas. } class Carro{} B.com.Orientação Objeto e Java Uma pessoa pode ter zero ou um carro. Um carro pertence a uma única Pessoa. B. } Rodrigo Cabral de Azevedo :: www. Que código abaixo retrata este relacionamento? (Pessoa conhece Carro) A. D. class Pessoa { List<Carro> c.

boolean diaUtil. QUARTA. C. Um funcionário é uma pessoa e tem matrícula e salário. String nome.} D. D. E.rodrigocabral.com. segunda. o que é preciso ser colocado na classe Funcionário? Marque duas. enum DiaSemana { domingo. TERCA. Assumindo que a classe Pessoa já foi construída.br 54 / 96 27 . sexta. QUINTA. TERCA. SEGUNDA. QUINTA. enum DiaSemana extends Enum { DOMINGO. B. Funcionario f. Rodrigo Cabral de Azevedo :: www.rodrigocabral.com. QUARTA. terca. void fazAlgo() {} } Rodrigo Cabral de Azevedo :: www. F.br 53 / 96 Orientação Objeto e Java Quais dos trechos abaixo contendo declaração de enum são válidos? A. B. QUINTA. TERCA. double salario. SEXTA.Orientação Objeto e Java Uma pessoa tem nome e data de nascimento. SABADO. SABADO}. Pessoa p. SEGUNDA. SEGUNDA. enum DiaSemana { DOMINGO. DOMINGO. int matricula. sabado} C. enum DiaSemana { boolean diaUtil. SABADO. SEXTA. quarta. SEXTA. QUARTA. quinta. Date dataNascimento. A.

fazAlgo().Orientação Objeto e Java abstract class A { abstract void fazAlgo().br 55 / 96 Seção 4: Projeto e Implementação de Algoritmo 7 Questões 28 . B. Não compila. /* linha 2 */ } } A. D. Imprime “B ”.out. Há um erro na linha 2.com. Não compila.rodrigocabral. } class B extends A { void fazAlgo() { System. // linha 1 b. E. Nenhuma das anteriores Rodrigo Cabral de Azevedo :: www. } } class C { public static void main (String[] args) { B b = new A(). Não imprime nada. Há um erro na linha 1. C.println(“B ”).

desenvolver código que implementa o algoritmo usando os parâmetros do método. trim. operadores aritméticos (somente: +. Desenvolver código que usa o operador de concatenação (+). o tipo de retorno.br 58 / 96 29 . Rodrigo Cabral de Azevedo :: www. +=. ||) para produzir os resultados desejados). e reconhecer o efeito quando uma referência de objeto ou primitivo são passados para métodos que os modificam. procedimentos de iteração (for. Dado um algoritmo em pseudo-código. <=.Projeto e Implementação de Algoritmo Descrever. operadores relacionais (somente: <. ++. indexOf.com. condicional e iteração. *. -. >. --+. /. desenvolver o código que corretamente aplica os operadores incluindo operadores de atribuição (somente: =. Adicionalmente. !=). e comandos break e continue para controlar o fluxo de um switch ou de um comando de iteração. e os seguintes métodos da classe String: charAt. e o comando return.rodrigocabral. escrever códigos que determinam a igualdade entre dois objetos ou dois primitivos. -=). for-each. procedimentos de atribuição.br 57 / 96 Projeto e Implementação de Algoritmo Dado um algoritmo com múltiplas entradas e saídas. e dado uma descrição de um algoritmo selecionar o tipo apropriado de procedimento. ==. &&. while e do-while). substring. >=. Rodrigo Cabral de Azevedo :: www. operadores lógicos (somente: !. length. Dado um algoritmo em pseudo-código. comparar e diferenciar os três tipos fundamentais de procedimentos: atribuição. replace.com. desenvolver o código do método que implementa tal algoritmo usando procedimentos condicionais (if e switch). %. startsWith e endsWith.rodrigocabral.

String s3 = “oi”. boolean b = ((i++ == ++j && i-.println(s1. true 0 C. true 1 Rodrigo Cabral de Azevedo :: www.equals(s2)).true false false F.false false false G.rodrigocabral.out. System. System. System.out.out.Projeto e Implementação de Algoritmo Ao executar o trecho abaixo.true true false Rodrigo Cabral de Azevedo :: www.true true true B.com.br 60 / 96 30 . false 0 B.== --j)).com. System.rodrigocabral. o que será impresso ao final? int i = 0.out. A.println(b + “ “ + i). String s2 = “oi”.br 59 / 96 Projeto e Implementação de Algoritmo Qual é a saída gerada pelo código abaixo? String s1 = new String(“oi”).false true true C.println(s1 == s3).false true false E. A.false false true D. j = 0.println(s2 == s3). false 1 D.

do {} while (true) D. System.br 61 / 96 Projeto e Implementação de Algoritmo Qual das declarações de loop executam sem problemas? Marque duas.) {} C. for (int i=0.Projeto e Implementação de Algoritmo Qual é o resultado ao compilar e executar o código abaixo? class XPTO { public static void main (String args[]) throws Exception { String s = “abc”. j=0. “C”). while(1) {} B.substring(1).rodrigocabral.out. Imprime “abC” D. i<10.com. for (.replace(“c”. A. i++) {} Rodrigo Cabral de Azevedo :: www.br 62 / 96 31 .com. Imprime “abc” E. } } A. Imprime “bc” F. Exceção ao executar C. Imprime “bC” Rodrigo Cabral de Azevedo :: www.rodrigocabral. Erro de compilação B..println(s). s. s = s.

System. fazAlgo(b).com. System. b+= “ab”. D.br 63 / 96 Projeto e Implementação de Algoritmo public class XPTO { public static void main (String[] args) { String a = new String(“mno”). s = s. } } A. Imprime “mno mnoab” Imprime “mnoab mnoab” Imprime “mnocdab mnocdab” Imprime “mnoab mnocdab” Erro de compilação Rodrigo Cabral de Azevedo :: www. E.out. B. } public static void fazAlgo(String b) { b+= “cd”.Projeto e Implementação de Algoritmo O que acontecerá quando o trecho de código abaixo for compilado e executado? String s = new String (“ABCD”).rodrigocabral. Não compila Imprime “AB” Imprime “ABC” Imprime “ABCD” Rodrigo Cabral de Azevedo :: www.br 64 / 96 32 .com.println(s).println(a + “ “ + b).substring(0. C. B. String b = a.rodrigocabral. D.2). A. C.out.

class XPTO { int quantidade. class XPTO {static int quantidade. static double preco. Qual das opções abaixo projeta corretamente? A.} B. double preco. O quantidade é comum a todos os objetos XPTO.com. Nenhuma das anteriores Rodrigo Cabral de Azevedo :: www.Projeto e Implementação de Algoritmo Deve-se projetar uma classe XPTO com 2 atributos (quantidade e preço). double preco. enquanto o preço é único para cada objeto XPTO.} C. class XPTO {static int quantidade.rodrigocabral.br 65 / 96 Seção 5: Fundamentos do desenvolvimento Java 8 Questões 33 .} D.

util.Fundamentos do desenvolvimento Java Descrever o propósito de pacotes na linguagem Java.rodrigocabral. e reconhecer o uso correto dos comandos import e package. javax. Rodrigo Cabral de Azevedo :: www. java. java. C. Pode ser utilizado no comando javac.rodrigocabral. Nenhuma das anteriores. D. B.swing. Pode ser utilizado tanto com o comando java e javac. java.net. Rodrigo Cabral de Azevedo :: www.io. Pode ser utilizada no comando java.com.br 68 / 96 34 . Descrever o propósito e os tipos de classes dos seguintes pacotes: java.awt.br 67 / 96 Fundamentos do desenvolvimento Java O que é verdade sobre a opção –jar? A. e demonstrar o uso correto do comando "java" (incluindo as opções de linha de comando: -classpath. Demonstrar o uso correto do comando "javac" (incluindo as opções de linha de comando: -d e -classpath).com. -D e -version).

C. Pacote javax.rodrigocabral.awt e javax. qual opção deve ser declarada primeiro.awt. D. D.com. Nenhuma das anteriores.Fundamentos do desenvolvimento Java Classes AWT estão em: A. Em java.br 70 / 96 35 . Declaração de package. Declaração de classe. B. Rodrigo Cabral de Azevedo :: www.awt. Procedimentos de import. Pacote java. Nenhuma das opções. B. se for necessária sua presença? A.rodrigocabral.br 69 / 96 Fundamentos do desenvolvimento Java Na definição de um arquivo fonte para uma classe Java.awt. C.com. Rodrigo Cabral de Azevedo :: www.

rodrigocabral. C. public class XPTO { int alterar(int i) { return . } } A.com. Mostra informações sobre a versão B. D.. D.java ---------------import pct.br 72 / 96 36 .out. Pode ser utilizado no comando javac.com.Imprime 36. class Cliente { public static void main (String… args) { pct. Rodrigo Cabral de Azevedo :: www. System. } } Rodrigo Cabral de Azevedo :: www. Pode ser utilizado no comando java. É utilizado para modificar a versão do Java utilizado.java --------------package pct.println(x.br 71 / 96 Fundamentos do desenvolvimento Java XPTO.rodrigocabral.Ocorre problemas na execução. B. C. Cliente.alterar(10)).XPTO().Nenhuma das anteriores.Fundamentos do desenvolvimento Java O que é verdadeiro sobre a opção –version? Marque três.XPTO x = new pct. E.Imprime 40.i*4.Não compila.*. A.

java -------------------package pct1.println(“A ”).println(“J ”). Não compila. class Jato extends Transporte { Jato (int vmax) { System.java --------------------package pct1. } } Focus.Não compila. B.Imprime “Automovel Focus” E. class Focus extends Automovel { Focus () { System. } public static void main (String[] args) { Focus f = new Focus(). D. import pct1. D. } public static void main (String[] args) { Jato j = new Jato(1200). } } 73 / 96 Fundamentos do desenvolvimento Java Automovel. } } C.Compila mas ocorre erro na execução. A classe Jato não tem construtor sem argumentos. Rodrigo Cabral de Azevedo :: www.Automovel.br 74 / 96 37 . A classe Transporte não possui construtor recebendo um argumento inteiro.rodrigocabral. public abstract class Automovel { public Automovel (int pneus) { System.java -----------package pct2.out. B.br Jato.println(“T ”).out.Transporte.Imprime “J”. A classe Automovel não tem construtor sem argumentos. import pct1.com.rodrigocabral.com.out.java ---------package pct2. A classe Focus não é pública. A.Não compila. } } A.Fundamentos do desenvolvimento Java Transporte.Não compila.Imprime “T J ” E.Não compila. C.Imprime “Focus”. class Transporte { Transporte () { System.println(“F ”). Rodrigo Cabral de Azevedo :: www. A classe Transporte não é pública.out.

import java.*. B. C.util. } } A.com.util.Fundamentos do desenvolvimento Java Qual dos procedimentos abaixo tem que ser inseridos no código para que a classe compile sem problemas? class XPTO { public void fazAlgo() { List<String> minhaLista = new ArrayList<String>(). import java. package java. Rodrigo Cabral de Azevedo :: www.br 75 / 96 Seção 6: Plataforma Java e tecnologias de integração 4 Questões 38 . Não é preciso acrescentar nada.rodrigocabral. D.List.util.

Descrever em alto-nível os benefícios e as características básicas do JNDI. O pacote javax.com. Descrever em alto-nível os benefícios e as características básicas do JDBC. Cada driver de banco de dados precisa fornecer uma classe que implementa a java. Com a utilização de JPA.br 78 / 96 39 . Para escrever uma aplicação com JDBC é necessário conhecer a API proprietária do BD.sql.rodrigocabral. C.rodrigocabral. e J2EE.sql provê a capacidade de utilizar pool de conexões. JDBC não é mais necessário e toda a API poderia ser removida da plataforma Java. B. Rodrigo Cabral de Azevedo :: www. SQL e das tecnologias RDBMS.br 77 / 96 Plataforma Java e tecnologias de integração Quais afirmações são verdadeiras? Marque duas. e dado o objetivo em alto-nível da arquitetura. A. Rodrigo Cabral de Azevedo :: www. J2ME. selecionar a plataforma Java ou plataformas mais apropriadas. Descrever em alto-nível os benefícios e as características básicas do RMI.Driver. D.Plataforma Java e tecnologias de integração Distinguir as características básicas das 3 plataformas Java: J2SE. messaging e tecnologias JMS.com.

com. CDC :: Connected Device Configuration CLDC :: Connected Limited Device Configuration Rodrigo Cabral de Azevedo :: www.br 79 / 96 Plataforma Java e tecnologias de integração Quais afirmações são verdadeiras sobre JDBC? Marque duas. JDBC não é independente de plataforma de RDBMS. D.rodrigocabral. que configuração é utilizada para dispositivos com altas capacidades de memória e processamento? A. Rodrigo Cabral de Azevedo :: www. (*relational database management system).rodrigocabral. É necessário utilizar JDBC para conectar aplicações JAVA com RDBMS * B.sql. A API JDBC pode ser encontrada nos pacotes java.sql e javax.br 80 / 96 40 . A. C. Nenhuma das opções.Plataforma Java e tecnologias de integração Em J2ME. As implementações dos drivers JDBC são incluídas na API JDBC.com. CDC C. CLDC B. CLDC e CDC D.

com.br 81 / 96 Seção 7: Tecnologias Cliente 2 questões 41 .rodrigocabral. SQL E. Nenhuma das anteriores Rodrigo Cabral de Azevedo :: www. RMI D.Plataforma Java e tecnologias de integração Qual das tecnologias abaixo permite que um objeto cliente chame os métodos de um objeto em um servidor residindo em outra JVM? A. RDBMS F. JavaMail C. JDBC B.

Swing tem mais componentes que AWT B. Componentes Swing são parte do pacote java.swing D. Componentes Swing podem ser encontrados no pacote java.com.rodrigocabral. Componentes Swing são considerados lightweigth.Tecnologias Cliente Descrever em alto-nível as características básicas. benefícios e desvantagens no deployment relacionados com a criação de fatclients usando Applets. Descrever em alto-nível as características básicas. C. benefícios e desvantagens no deployment relacionados com a criação de fatclients usando Swing. Rodrigo Cabral de Azevedo :: www. benefícios e desvantagens no deployment relacionados com a criação de clientes usando J2ME midlets.awt.br 83 / 96 Tecnologias Cliente O que é verdade sobre Swing? Marque duas. Descrever em alto-nível as características básicas. Descrever em alto-nível as características básicas.rodrigocabral. benefícios e desvantagens na criação de thin-clients usando HTML e Javascript e relacionar questões e soluções de deployment. Rodrigo Cabral de Azevedo :: www. A.com.br 84 / 96 42 .

com. O método “main” tem que ser definido. D. São executados utilizando o comando “java”. A. Rodrigo Cabral de Azevedo :: www.br 85 / 96 Seção 8: Tecnologias Servidor 3 Questões 43 . Define o método “start”. São compilados utilizando o comando “javac” B. C.Tecnologias Cliente Quais afirmações podem ser feitas sobre applets Java: Marque duas.rodrigocabral.

São executados no browser. São portáveis entre vários Servidores JEE distintos. B. JNDI. Descrever em alto-nível as características básicas de servlet e JSP nos thin-clients HTML. e descrever e comparar as características básicas da camada web.Tecnologias Servidor Descrever em alto-nível as características básicas de: EJB. São mais otimizados que scripts CGI D. e JavaMail. SMTP. JMS. A. Rodrigo Cabral de Azevedo :: www.rodrigocabral. servlets. UDDI.rodrigocabral. Descrever em alto-nível os benefícios e desvantagens de usar tecnologias J2EE server-side. JSP. Não podem receber dados de páginas web.br 88 / 96 44 . Rodrigo Cabral de Azevedo :: www. camada de negócio e camada EIS (Enterprise Integration Services). entity e message-driven beans. Descrever em alto-nível o uso e as características básicas de session bean. C.br 87 / 96 Tecnologias Servidor Quais das afirmações abaixo são verdadeiras sobre Servlets? Marque duas. JAX-RPC. WSDL e XML).com.com. Web Services (incluindo SOAP.

applet Rodrigo Cabral de Azevedo :: www.rodrigocabral. Nenhuma das anteriores. JMX D. JavaScript C.rodrigocabral. JMS E. JavaMail B.com. HTML B.Tecnologias Servidor Qual das tecnologias abaixo pode ser utilizada para enviar um email usando SMTP? A. servlet D.br 89 / 96 Tecnologias Servidor Qual tecnologia abaixo pode ser utilizada para acessar objetos de sessão no lado servidor? A. JMail C. Rodrigo Cabral de Azevedo :: www.com.br 90 / 96 45 .

} String fazerBarulho() { return "[barulho]". static String beberLeite() { return "[Mamifero]".[1][Cao][barulho] C. } } class Cao extends Mamifero { int x = 1.fazerBarulho()).br 92 / 96 46 .System. out.x + "]" + m. args) { Mamifero m = new Cao().rodrigocabral.out.[-1][Mamifero][latindo] D.Nenhuma das anteriores Rodrigo Cabral de Azevedo :: www.[-1][Mamifero][barulho] E. static String beberLeite() { return "[Cao]".println("[" + m.[1][Cao][latindo] B.Desafio JAVA Desafio JAVA – Nível SCJP import static java. } } A. class Mamifero { int x = -1...beberLeite() + m.com. } String fazerBarulho() { return "[latindo]".lang. } } public class Cliente { public static void main(String.

rodrigocabral. McGraw-Hill/Osborne.rodrigocabral. Bates. SCJA Sun Certified Java Associate Study Guide (Exam CX-310-019). Finegan. Robert. McGrawHill/Osborne. Bert.Desafio – Programa de desempate Rodrigo Cabral de Azevedo :: www.com. Kathy.br 94 / 96 47 . 2009 Sierra.com. 2008 Rodrigo Cabral de Azevedo :: www.br 93 / 96 Referências Liguori. SCJP Sun Certified Programmer for Java 6 Exam 310-065. Edward.

rodrigocabral.oracle.com.br 95 / 96 Agradecimentos Obrigado contato@rodrigocabral.getpage?page_id=140#13 Certificações Oracle na Prometric http://www.Referências Certificações Oracle Java http://education.com/pls/web_prod-plqdad/db_pages.integral7.rodrigocabral.com/Oracle/default.com/durango/do/login?ownername=sun&channe l=sun&basechannel=sun&usertype=candidate Rodrigo Cabral de Azevedo :: www.com.htm Site do Oracle Certification Database https://i7lp.br http://www.br 48 .prometric.com.