You are on page 1of 80

JAVA

Professor Marcelo Pacote – @professorpacote
W W W. D O M I N A N D OT I .CO M . B R
W W W. D O M I N A N D OT I .CO M . B R

O que é Java ?  Linguagem de Programação Orientada a Objetos desenvolvida pela Sun Microsystems [Oracle].  É totalmente orientada a objetos?  Linguagem interpretada  bytecodes executados por uma VM

 É lenta? Que é um JIT?
 WORE (Write Once Run Everywhere)

Professor Marcelo Pacote - @professorpacote

2

W W W. D O M I N A N D OT I .CO M . B R

Abrangência  Java SE  JRE: provê a API Java, a Java Virtual Machine e outros componentes necessários para rodar aplicações escritas na Linguagem Java.  JDK: contém tudo o que há na JRE além de ferramentas como compiladores e debugadores necessários para desenvolver as aplicações.  Java EE  Java ME  JavaCard

Professor Marcelo Pacote - @professorpacote

3

W W W. D O M I N A N D OT I .CO M . B R

Indepêndencia de plataforma  Processos de compilação e interpretação

 Pode-se escrever o código em uma plataforma e executá-lo em outra.
Professor Marcelo Pacote - @professorpacote
4
W W W. D O M I N A N D OT I .CO M . B R

Exercício [1] (CODESP-SP/2010/FGV) (1/2)
A figura ao lado mostra as cinco fases para execução de programa Java. O processo de execução ocorre da seguinte forma: - Na edição, o programa é criado no editor e armazenado em disco. - Na compilação, o compilador gera um PRODUTO e o armazena em disco. - Na carga, o carregador de classe coloca o PRODUTO na memória.

Professor Marcelo Pacote - @professorpacote

5

W W W. D O M I N A N D OT I .CO M . B R

Exercício [1] (CODESP-SP/2010/FGV) (2/2)
 Na verificação, o verificador que o PRODUTO é válido e não viola as restrições de segurança do Java.  Na interpretação, o interpretador lê o PRODUTO e faz a tradução para uma linguagem que o computador pode entender, possivelmente armazenando valores de dados enquanto executa o programa. Nesse processo, PRODUTO representa o seguinte componente:

a) bytecode. b) framework. c) firmware.

d)framecode. e)bytework.

Professor Marcelo Pacote - @professorpacote

6

W W W. D O M I N A N D OT I .CO M . B R

Exercício [2] (TRT/2009/FCC) (1/2)
No âmbito da linguagem Java, considere:

I.
II.

Edição é a criação do programa, que também é chamado de código Bytecode.
Compilação é a geração de um código intermediário chamado fonte, que é um código independente de plataforma.

III. Na interpretação, a máquina virtual Java ou JVM analisa e executa cada instrução do código Bytecode.

IV. Na linguagem Java a interpretação ocorre apenas uma vez e a compilação ocorre a cada vez que o programa é executado.

Professor Marcelo Pacote - @professorpacote

7

W W W. D O M I N A N D OT I .CO M . B R

Exercício [2] (TRT/2009/FCC) (2/2) Está correto o que consta em

a) I, II, III e IV.
b) II e IV, somente.

c) III e IV, somente.
d) IV, somente. e) III, somente.

Professor Marcelo Pacote - @professorpacote

8

W W W. D O M I N A N D OT I .CO M . B R

Características da Linguagem Java (1/4)
 Simplicidade

 Sintaxe parecida com a C e C++, porém com menor complexidade
 Orientada a objetos  Tipos primitivos não são objetos. Não há herança múltipla.  Compilada e independente de plataforma

 Geração de bytecodes
 Multiplataforma  JIT
Professor Marcelo Pacote - @professorpacote
9
W W W. D O M I N A N D OT I .CO M . B R

Características da Linguagem Java (2/4)  Suporte a programação concorrente

 Threads
 Menos complexo (não há chamadas ao SO)

 Coletor de lixo.
 Ocorre de forma automágica  simplicidade X controle

Professor Marcelo Pacote - @professorpacote

10

W W W. D O M I N A N D OT I .CO M . B R

Características da Linguagem Java (3/4)  Robustez

 Fortemente “tipada” (tipos definidos em tempo de compilação)
 Não há acessos diretos à memória (como em C)  Segura  SecurityManager (applets)

 Modificadores de acesso
 Verificador de bytecodes

 Código aberto
Professor Marcelo Pacote - @professorpacote
11
W W W. D O M I N A N D OT I .CO M . B R

Características da Linguagem Java (4/4)  Extensível

 Integração com código nativo
 Carregamento dinâmico de classes

 Distribuída

Professor Marcelo Pacote - @professorpacote

12

W W W. D O M I N A N D OT I .CO M . B R

Sintaxe
Professor Marcelo Pacote – @professorpacote
W W W. D O M I N A N D OT I .CO M . B R
W W W. D O M I N A N D OT I .CO M . B R

1

Palavras-chave
abstract byte char continue double final for implements int native package public static synchronized throws void stricfp boolean case class default else finally goto import interface new private return super this transient volatile assert break catch const do extends float if instanceof long null protected short switch throw try while enum

true, false

Professor Marcelo Pacote - @professorpacote

14

W W W. D O M I N A N D OT I .CO M . B R

Exercício [3] (INMETRO/2009/CESPE) ( ) São algumas palavras reservadas da linguagem Java: public,

private, protected, class, interface, abstract, extends, implements, super, byte, short, char, int, long, float, double, boolean, void, try, catch, finally, throws, throw, import, package, if, else, false, true, continue, default, break, return, while, switch, transient, final, synchronized, null, new.

Professor Marcelo Pacote - @professorpacote

15

W W W. D O M I N A N D OT I .CO M . B R

Exercício [4] (AL-TO/2005/CESGRANRIO) Relacione a palavra-chave do Java à sua respectiva descrição.

A relação correta é: a) I - P, II - Q b) I - P, III - Q c) I - Q, II - P
Professor Marcelo Pacote - @professorpacote

d) II - P, III - Q e) II - Q, III - P
16
W W W. D O M I N A N D OT I .CO M . B R

Tipos primitivos
Tipo Tamanho (bits) Mínimo Máximo Default

Lógico Caracter Inteiro

boolean char byte short

--16 8 16

false 0 -27 -215

true 216-1 27-1 215-1

false 0 0 0

int
long
Decimal

32
64 32 64

-231
-263

231-1
263-1

0
0 0.0 0.0

float double

7 casas decimais 15 casas decimais

Professor Marcelo Pacote - @professorpacote

17

W W W. D O M I N A N D OT I .CO M . B R

Exercício [5] (INFRAERO/2011/FCC)
No Java, um tipo inteiro (int) utiliza quatro bytes para armazenamento. A faixa máxima possível de valores inteiros para se armazenar em uma variável do tipo primitivo int é de: a) -8388608 a 8388607. b) -128 a 127. c) -32768 a 32767. d) -9223372036854775808 a 9223372036854775807. e) -2147483648 a 2147483647.

Professor Marcelo Pacote - @professorpacote

18

W W W. D O M I N A N D OT I .CO M . B R

Exercício [6] (BRDE/2012/AOCP - Analista) (1/2)
A linguagem Java oferece tipos básicos também chamados de tipos primitivos, esses tipos não são objetos. Sobre esses tipos, analise as assertivas e assinale a alternativa que aponta a(s) correta(s).
I. Byte inteiro com sinal em complemento de dois de 16 bits. II. Long inteiro com sinal em complemento de dois de 64 bits. III. Double número de ponto flutuante de 64 bits (IEEE 754-1985).

IV. Integer inteiro com sinal em complemento de dois de 32 bits.

Professor Marcelo Pacote - @professorpacote

19

W W W. D O M I N A N D OT I .CO M . B R

Exercício [6] (BRDE/2012/AOCP - Analista) (2/2) a) Apenas I.

b) Apenas I e II.
c) Apenas I e III.

d) Apenas II, III e IV.
e) I, II, III e IV.

Professor Marcelo Pacote - @professorpacote

20

W W W. D O M I N A N D OT I .CO M . B R

Exercício [7] (DETRAN-DF/2009/CESPE) ( ) Por meio do tipo de dados float, é possível representar números em notação de ponto flutuante normalizada em precisão simples de 32 bits.

Professor Marcelo Pacote - @professorpacote

21

W W W. D O M I N A N D OT I .CO M . B R

Exercício [8] (MPU/2007/FCC)
Quanto às variáveis Java, um inteiro de 64 bits em notação de complemento de dois que pode assumir valores entre -2^63 e 2^63 – 1 é:

a) Long

b) Short
c) Float

d) Byte
e) Double

Professor Marcelo Pacote - @professorpacote

22

W W W. D O M I N A N D OT I .CO M . B R

Exercício [9] (ANAC/2009/CESPE) ( ) Entre os tipos de dados primitivos suportados pela linguagem Java, está o tipo char, o qual ocupa um espaço de memória de 8 bits.

Professor Marcelo Pacote - @professorpacote

23

W W W. D O M I N A N D OT I .CO M . B R

Operadores
Aritméticos Relacionais
Lógicos

Bit a bit

+ += ++ -= -* *= / /= % %= (resto da divisão)

> >= < <= != ==

! (negação) && (e) || (ou) & (e) | (ou)

& (e) | (ou) ^ (xor) ~ (negação lógica)

Professor Marcelo Pacote - @professorpacote

24

W W W. D O M I N A N D OT I .CO M . B R

Exercício [10] (MPU/2007/FCC) Analise os seguintes valores, variáveis e operações usando expressões Java: byte j = 30; short k = 54; int m = 40; long n = 12L; long resultado = 0L; resultado += j; resultado +=k; resultado /= n; resultado -= m;

Após a última operação, o resultado será: a) -7 b) d) 60 -32 c) e) 84 33
Professor Marcelo Pacote - @professorpacote
25
W W W. D O M I N A N D OT I .CO M . B R

Exercício [11] (PETRO/2010/CESGRANRIO) Abaixo são exibidas expressões na linguagem Java, nas quais a, b e c são variáveis do tipo boolean. Qual, dentre as expressões que, ao ser avaliada, resulta em um valor diferente das demais? a) (!c | b ) & ! (a & !b)

b) ((!c & !(a & b )) | b )
c) ((a & b) |(!a & !b & !c ) | (!a & b ))

d) (!c | b ) & ! (a & !b)
e) ((!a ^ c) | (b & (a ^c))) & !(a & !b & c)

Professor Marcelo Pacote - @professorpacote

26

W W W. D O M I N A N D OT I .CO M . B R

Operadores de incremento/decremento int m = 7; int n = 7; int a = 2 * ++m; // Qual o valor de a e m? int b = 2 * n++; // Qual o valor de b e n?

Professor Marcelo Pacote - @professorpacote

27

W W W. D O M I N A N D OT I .CO M . B R

Exercício [12] (BADESC-SC/2010/FGV) (1/2)
Observe o código em Java a seguir, em que se pode verificar a aplicação dos operadores de pré-decremento e pós-decremento. public class Decrementa { public static void main ( String args {} ) { int m, n = 44; m = --n; m = n--; system.out.println ( m );

system.out.println ( n );
} }
Professor Marcelo Pacote - @professorpacote
28
W W W. D O M I N A N D OT I .CO M . B R

Exercício [12] (BADESC-SC/2010/FGV) (2/2) Após a execução do código, as variáveis m e n exibirão,respectivamente, os valores: a) 42 e 41. b) 42 e 42. c) 42 e 43.

d) 43 e 42.
e) 43 e 43.

Professor Marcelo Pacote - @professorpacote

29

W W W. D O M I N A N D OT I .CO M . B R

Operadores lógicos (1/2) &&, || e !  Que será impresso após a execução? int saida=10; boolean b1 = false; if( (b1==true) && ((saida+=10)==20)) { System.out.println(“Eba! "+ saida); } else { System.out.println(“Ops! Diferente"+saida); }

Professor Marcelo Pacote - @professorpacote

30

W W W. D O M I N A N D OT I .CO M . B R

Operadores lógicos (2/2)  Que será impresso após a execução?

int i=0;
boolean t=true;

boolean f=false,b;
b=(t || ((i++) ==0)); b=(f || ((i+=2)>0)); System.out.println(i + “” + b);

Professor Marcelo Pacote - @professorpacote

31

W W W. D O M I N A N D OT I .CO M . B R

Estruturas de decisão  IF  SWITCH
int k=10; switch(k){ default: System.out.println(“Saída padrão"); break; case 10: System.out.println(“dez"); case 20: System.out.println(“vintão"); break; }
Professor Marcelo Pacote - @professorpacote
32
W W W. D O M I N A N D OT I .CO M . B R

Exercício [13] (TRE-CE/2012/FCC) (1/2)
Considere a variável idade declarada no método main de uma classe Java, com a seguinte instrução: int idade=12; Analise: I. System.out.println (idade<18?"Menor de idade":"Maior de idade"); II. if(idade<18) {System.out.println("Menor de idade");} else {System.out.println("Maior de idade”);} III. if(idade<18) {System.out.println("Menor de idade");} else if (idade>=18) {System.out.println("Maior de idade");}
Professor Marcelo Pacote - @professorpacote
33
W W W. D O M I N A N D OT I .CO M . B R

Exercício [13] (TRE-CE/2012/FCC) (2/2)
IV. switch(idade) {case<18: System.out.println("Menor de idade"); break; case>=18: System.out.println("Maior de idade");} Contém uma instrução correta que exibirá na tela a frase "Menor de idade":

a) I, II, III e IV.
b) I, II e III, apenas. c) II e III, apenas. d) II, apenas. e) I e III, apenas.

Professor Marcelo Pacote - @professorpacote

34

W W W. D O M I N A N D OT I .CO M . B R

Controle de fluxo
FOR

for (inicialização ; teste ; incremento ) {...}
ou for ( nomeObjeto: nomeColecao/nomeArray ) {...} (foreach) WHILE while (condição )

{ ... }
DO - WHILE do

{ ... } while (condição );
Professor Marcelo Pacote - @professorpacote
35
W W W. D O M I N A N D OT I .CO M . B R

Exercício [14] (TCU/2005/CESPE) Acerca das estruturas de dados, linguagens e ambientes de programação e das técnicas da orientação a objetos para a construção de aplicações e bancos de dados, julgue o item seguinte:

( ) A linguagem Java possui três instruções de iteração: while, do-while e for.

Professor Marcelo Pacote - @professorpacote

36

W W W. D O M I N A N D OT I .CO M . B R

Exercício [15] (TRE-CE/2012/FCC) Considere a estrutura de repetição seguinte:

A saída na tela será

a) 15 e 6.

b) 1 e 5.

c) 0 e 1.

d) 6 e 9. e) 9 e 7.
37
W W W. D O M I N A N D OT I .CO M . B R

Professor Marcelo Pacote - @professorpacote

Comportamentos Fundamentais  Passagem de parâmetros

 Sempre por valor
 O operador this

 ambiguidades
 Passar o objeto corrente como parâmetro

Professor Marcelo Pacote - @professorpacote

38

W W W. D O M I N A N D OT I .CO M . B R

Exercício [16] (ANA/2009/ESAF) Os argumentos são passados para métodos, em Java, por

a) valor, sejam valores primitivos ou referências a objetos.
b) referência, sejam valores primitivos ou referências a objetos.

c) valor, apenas para valores primitivos.
d) referência, apenas para referências a objetos. e) valor ou referência, de acordo com o sistema operacional.

Professor Marcelo Pacote - @professorpacote

39

W W W. D O M I N A N D OT I .CO M . B R

Exercício [17] (CGU/2008/ESAF)
Com relação à linguagem de programação Java, é correto afirmar que:

a) o operador instanceof é utilizado para chamar o método construtor de uma classe e criar um novo objeto.
b) são tipos primitivos de dados: boolean, byte, short, char, int, long, string, float e double. c) o tipo de dado int suporta apenas números de -32.768 a 32.767. d) a instrução do-while não faz parte das instruções de controle de fluxo da linguagem. e) os valores booleanos não podem ser usados em uma operação de casting.

Professor Marcelo Pacote - @professorpacote

40

W W W. D O M I N A N D OT I .CO M . B R

Exercício [18] (PETRO/2010/CESGRANRIO) [1/3] Em linguagens de programação, palavras-chaves são aquelas palavras ou identificadores que têm um significado implícito e relevante para a linguagem de programação. Em muitas linguagens, estas palavras-chaves são também palavras reservadas, isto é, não podem ser usadas em outros contextos, pois são reservadas para usos específicos da gramática da linguagem de programação. A linguagem Java possui um pequeno núcleo de palavras reservadas, incluindo os comandos de controle de fluxo (for, while, etc), identificadores de nível de acesso à classe (public, private, etc).

Professor Marcelo Pacote - @professorpacote

41

W W W. D O M I N A N D OT I .CO M . B R

Exercício [18] (PETRO/2010/CESGRANRIO) [2/3]
Qual das seguintes descrições representa a correta aplicação do conceito de palavras reservadas em Java? a) Não é possível definir um método println dentro de uma classe, pois ele é reservado para uso nas classes que implementam buffers de saída textual em tela e em arquivo. b) O comando package while; não causa erro nenhum, pois apesar de while ser uma palavra reservada, o compilador identifica o contexto onde a palavra está sendo usada e reconhece-a como o nome do pacote corrente.

Professor Marcelo Pacote - @professorpacote

42

W W W. D O M I N A N D OT I .CO M . B R

Exercício [18] (PETRO/2010/CESGRANRIO) [3/3]
c) A definição de uma palavra-chave como palavra reservada impede o uso desta até mesmo como parte de um identificador (como while2), pois os ambientes de desenvolvimento passam a identificar a palavra-chave e causam um erro de compilação. d) Os nomes das classes de Java não são palavras reservadas, podendo ser utilizados à vontade em outros pacotes, mesmo nos casos de classes de uso comum como a classe File ou a classe Array. e) Apesar de possuir palavras reservadas, Java, por ser uma linguagem orientada a objetos, permite que se use uma palavra reservada em outro contexto, desde que ela seja qualificada, como no comando package meupacote.while;

Professor Marcelo Pacote - @professorpacote

43

W W W. D O M I N A N D OT I .CO M . B R

Exercício [19] (BACEN/2010/CESGRANRIO) [1/2]

Professor Marcelo Pacote - @professorpacote

44

W W W. D O M I N A N D OT I .CO M . B R

Exercício [19] (BACEN/2010/CESGRANRIO) [2/2] Qual a saída da execução desse código?

a) 10
b) 125

c) 138
d) 139 e) 141

Professor Marcelo Pacote - @professorpacote

45

W W W. D O M I N A N D OT I .CO M . B R

[20] (CASA DA MOEDA/2009/CESGRANRIO) [1/2]

Professor Marcelo Pacote - @professorpacote

46

W W W. D O M I N A N D OT I .CO M . B R

[20] (CASA DA MOEDA/2009/CESGRANRIO) [2/2] Qual será a saída do programa Java mostrado acima?

a) 3.
b) 5.

c) 19.
d) 21. e) 23.

Professor Marcelo Pacote - @professorpacote

47

W W W. D O M I N A N D OT I .CO M . B R

Gabarito
[01] a [11] b [12] d

[02] e
[03] certo [04] e [05] e [06] d

[13] b
[14] certo [15] d [16] a [17] e

[07] certo
[08] a [09] errado [10] c

[18] d
[19] c [20] d
48
W W W. D O M I N A N D OT I .CO M . B R

Professor Marcelo Pacote - @professorpacote

ANEXO I Exercícios complementares

FGV
Professor Marcelo Pacote – @professorpacote
W W W. D O M I N A N D OT I .CO M . B R
W W W. D O M I N A N D OT I .CO M . B R

Exercício [1] (CIVIL-RJ/2008/FGV/Perito) (1/2) Em Java, programas não são traduzidos para linguagem de máquina, como outras linguagens estaticamente compiladas, mas sim para um formato intermediário de código, interpretado pelas Máquinas Virtuais Java (JVMs). É essa característica que faz com que os os programas Java sejam independentes de plataforma, executando em qualquer sistema que possua uma JVM. Cada opcode tem o tamanho de um byte – daí o seu nome – e assim o número de diferentes códigos de operação está limitado a 256.

Professor Marcelo Pacote - @professorpacote

50

W W W. D O M I N A N D OT I .CO M . B R

Exercício [1] (CIVIL-RJ/2008/FGV/Perito) (2/2) Esse formato intermediário de código e a extensão utilizada na formação de seus nomes são, respectivamente: a) Framework / .applet. b) Framework / .class. c) Bytecode / .applet. d) Bytecode / .class.

e) Bytecode / .java.

Professor Marcelo Pacote - @professorpacote

51

W W W. D O M I N A N D OT I .CO M . B R

Exercício [2] (DETRAN-RN/2010/FGV) (1/2) - adaptada Assinale a afirmativa INCORRETA sobre o código-fonte apresentado em linguagem Java: linha 1 : public class welcome1 linha 2 : { linha 3 : linha 4 : public static void main( String args[] ) {

linha 5 :
linha 6 : }

System.out.println(“Bem vindo !”) ;

linha 7 : }
Professor Marcelo Pacote - @professorpacote
52
W W W. D O M I N A N D OT I .CO M . B R

Exercício [2] (DETRAN-RN/2010/FGV) (2/2) a) Na linha 1 é realizada uma declaração de classe.

b) Na linha 3 é apresentado um bloco de construção do programa chamado método.
c) Na linha 4 inicia-se o corpo da definição do método. d) Na linha 5 é realizado um envio de dados para a impressora. e) Na linha 7 é realizado o fechamento de uma classe.

Professor Marcelo Pacote - @professorpacote

53

W W W. D O M I N A N D OT I .CO M . B R

Exercício [3] (DETRAN-RN/2010/FGV) (1/2)
Assinale a alternativa que contém o resultado correto da execução do programa em linguagem Java: public class Soma { public static void main( String args[] ) {

int total = 0;
for (int conta = 2; conta <= 20; conta += 2 ) total += conta; System.out.printf( “Resultado %d\n”, total); }

}
Professor Marcelo Pacote - @professorpacote
54
W W W. D O M I N A N D OT I .CO M . B R

Exercício [3] (DETRAN-RN/2010/FGV) (2/2)
a) 108

b) 90
c) 130 d) 100 e) 110

Professor Marcelo Pacote - @professorpacote

55

W W W. D O M I N A N D OT I .CO M . B R

Exercício [4] (MEC/2009/FGV/Desenvolvedor) (1/4) Analise o código da classe Manipula a seguir: public class Manipula {

private static int v1 = 1;
public static int v2 = 2; private int v3 = 3; public int v4 = 4; (…)

Professor Marcelo Pacote - @professorpacote

56

W W W. D O M I N A N D OT I .CO M . B R

Exercício [4] (MEC/2009/FGV/Desenvolvedor) (2/4) public static void main(String[] args) {

Manipula m = new Manipula();
substitui();

v1 = 5;
m.v3 = 6; int v5 = m.trocavalor(v2,m.v4); System.out.println(v1 + "," +v2 + "," + m.v3 + "," + v5); }

Professor Marcelo Pacote - @professorpacote

57

W W W. D O M I N A N D OT I .CO M . B R

Exercício [4] (MEC/2009/FGV/Desenvolvedor) (3/4)
public static void substitui(){

v2 = v1;
} public int trocavalor(int par1, int par2){ v1 = par1; v2 = par2++ ;

v4 = v1 + v3;
return v4; } } // fim classe
Professor Marcelo Pacote - @professorpacote
58
W W W. D O M I N A N D OT I .CO M . B R

Exercício [4] (MEC/2009/FGV/Desenvolvedor) (4/4) Após a execução do método main() o resultado obtido na saída padrão foi: a) 5,4,3,7 b) 1,4,6,7 c) 5,1,6,4 d) 1,3,6,7

e) 2,3,3,4

Professor Marcelo Pacote - @professorpacote

59

W W W. D O M I N A N D OT I .CO M . B R

Exercício [5] (CODESP-SP/2010/FGV) (1/3) Assinale a sintaxe correta para a estrutura CASE em Java.
a)

b)

Professor Marcelo Pacote - @professorpacote

60

W W W. D O M I N A N D OT I .CO M . B R

Exercício [5] (CODESP-SP/2010/FGV) (2/3)

c)

d)

Professor Marcelo Pacote - @professorpacote

61

W W W. D O M I N A N D OT I .CO M . B R

Exercício [5] (CODESP-SP/2010/FGV) (3/3)

e)

Professor Marcelo Pacote - @professorpacote

62

W W W. D O M I N A N D OT I .CO M . B R

Gabarito
[1] d

[2] d
[3] e

[4] b
[5] d

Professor Marcelo Pacote - @professorpacote

63

W W W. D O M I N A N D OT I .CO M . B R

ANEXO II Exercícios complementares-

Linguagem Java
Professor Marcelo Pacote – @professorpacote
W W W. D O M I N A N D OT I .CO M . B R
W W W. D O M I N A N D OT I .CO M . B R

6

Exercício [1] (PGDF/2011/IADES) (1/2)
Analise o código fonte em Java a seguir e assinale a alternativa que apresenta o resultado da execução do programa:
import java.io.*; public class Calculadora { public static void main (String args[]) { int a,b,c; a=5; b=3; c= a++ + ++b; System.out.println(“Valores=” + a + b + c);

}
}
Professor Marcelo Pacote - @professorpacote
65
W W W. D O M I N A N D OT I .CO M . B R

65

Exercício [1] (PGDF/2011/IADES) (2/2) a) Valores=16

b) Valores=548
c) Valores=18

d) Valores=649
e) Valores=19

66
Professor Marcelo Pacote - @professorpacote
66
W W W. D O M I N A N D OT I .CO M . B R

Exercício [2] (PGDF/2011/IADES) (1/2)
Qual valor será exibido na execução da seguinte classe Java?
import java.io.*; public class Algoritmo { public static void main (String args[]) {

int a,b,r;
a=78; b=117; r=1; do {

r = a % b; a = b; b = r;
} while (r > 0); System.out.println(a);

}
}
Professor Marcelo Pacote - @professorpacote
67
W W W. D O M I N A N D OT I .CO M . B R

67

Exercício [2] (PGDF/2011/IADES) (2/2) a) 11

b) 39
c) 13

d) 9
e) 78

68
Professor Marcelo Pacote - @professorpacote
68
W W W. D O M I N A N D OT I .CO M . B R

Exercício [03] (CVM/2010/ESAF)
Na linguagem Java:

a) A função Math.round(valor) gera um número aleatório utilizando a semente valor.
b) A estrutura de repetição while requer definição de inicialização, condição e incremento. c) A estrutura de repetição for requer definição de inicialização, ponderação e desvios. d) A função Math.round(valor) retorna o comprimento de uma circunferência de raio valor. e) A estrutura de repetição for requer definição de inicialização, condição e incremento.
Professor Marcelo Pacote - @professorpacote
69
W W W. D O M I N A N D OT I .CO M . B R

Exercício [04] (BASA/2010/CESPE) ( ) Ao final da execução do trecho de código abaixo, escrito na linguagem Java, será exibido o valor 21.

Professor Marcelo Pacote - @professorpacote

70

W W W. D O M I N A N D OT I .CO M . B R

Exercício [5] (PETR/2011/CESGRANRIO) (1/3) Considere o seguinte código Java, contido no arquivo R.java:

1. class P {
2. private int id;

3. protected void finalize() {System.out.print(id);}
4. public P(int i) {id = i;} 5. } 6. class R { 7. public static void main(String[] args) {

Professor Marcelo Pacote - @professorpacote

71

W W W. D O M I N A N D OT I .CO M . B R

Exercício [5] (PETR/2011/CESGRANRIO) (2/3) 8. P p1 = null;

9. for (int i = 0; i < 5; i++) {p1 = new P(i);}
10. System.gc();

11. }}
No momento imediatamente anterior à execução da linha 10, quantos objetos do tipo P, que foram criados na linha 9, tornaram-se elegíveis para ser apanhados para a garbage collection?

Professor Marcelo Pacote - @professorpacote

72

W W W. D O M I N A N D OT I .CO M . B R

Exercício [5] (PETR/2011/CESGRANRIO) (3/3) a) 0 b) 1 c) 4

d) 5
e) 9

Professor Marcelo Pacote - @professorpacote

73

W W W. D O M I N A N D OT I .CO M . B R

Exercício [6] (SERPRO/2008/CESPE) Com relação às linguagens, julgue o item a seguir.

( ) A linguagem Java, orientada a objetos, tem como característica ser compilada em um código executado em máquina virtual.

Professor Marcelo Pacote - @professorpacote

74

W W W. D O M I N A N D OT I .CO M . B R

Exercício [7] (EBC/2011/CESPE) (1/2) ( ) A estrutura de seleção de múltipla escolha permite a execução de determinadas instruções, de acordo com a opção escolhida. Na linguagem Java, a palavra reservada break é utilizada para garantir que apenas a instrução selecionada seja executada. ( ) Nas estruturas de repetição, que são utilizadas quando se deseja repetir certo trecho de instruções, o número de repetições deve ser conhecido ou determinado previamente e precisa ser finito.

Professor Marcelo Pacote - @professorpacote

75

W W W. D O M I N A N D OT I .CO M . B R

Exercício [7] (EBC/2011/CESPE) (2/2) ( ) Na linguagem Java, a expressão contador = contador + 1 é representada, usando-se o operador de incremento ++, por contador ++. ( ) A estrutura de repetição para utiliza variáveis de controle que definem exatamente o número máximo de vezes que a sequência de instruções será executada.

Professor Marcelo Pacote - @professorpacote

76

W W W. D O M I N A N D OT I .CO M . B R

Exercício [8] (MPU/2010/CESPE)

Com relação ao código acima, escrito em Java. ( ) Na linguagem Java, um objeto do tipo Integer pode receber valor nulo, porém uma variável primitiva int não pode.

Professor Marcelo Pacote - @professorpacote

77

W W W. D O M I N A N D OT I .CO M . B R

Gabarito [01] d

[02] b
[03] e

[04] errado
[05] c [06] certo [07] cecc [08] certo

Professor Marcelo Pacote - @professorpacote

78

W W W. D O M I N A N D OT I .CO M . B R

Próximos Passos
Professor Marcelo Pacote – @professorpacote
W W W. D O M I N A N D OT I .CO M . B R
W W W. D O M I N A N D OT I .CO M . B R

7

Material complementar de estudo  Tutoriais da Oracle

 Primeiros passos.
 Aprendendo a linguagem

 Classes essenciais
 Coleções  Apostilas  Java e orientação a objetos  Algoritmos e estruturas de dados em Java

Professor Marcelo Pacote - @professorpacote

80

W W W. D O M I N A N D OT I .CO M . B R