Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
O que Java ? Linguagem de Programao Orientada a Objetos desenvolvida pela Sun Microsystems [Oracle]. totalmente orientada a objetos? Linguagem interpretada bytecodes executados por uma VM
W W W. D O M I N A N D OT I .CO M . B R
Abrangncia Java SE JRE: prov a API Java, a Java Virtual Machine e outros componentes necessrios para rodar aplicaes escritas na Linguagem Java. JDK: contm tudo o que h na JRE alm de ferramentas como compiladores e debugadores necessrios para desenvolver as aplicaes. Java EE Java ME JavaCard
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
d)framecode. e)bytework.
W W W. D O M I N A N D OT I .CO M . B R
I.
II.
III. Na interpretao, a mquina virtual Java ou JVM analisa e executa cada instruo do cdigo Bytecode.
IV. Na linguagem Java a interpretao ocorre apenas uma vez e a compilao ocorre a cada vez que o programa executado.
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
Gerao 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
Threads
Menos complexo (no h chamadas ao SO)
Coletor de lixo.
Ocorre de forma automgica simplicidade X controle
10
W W W. D O M I N A N D OT I .CO M . B R
Modificadores de acesso
Verificador de bytecodes
Cdigo aberto
Professor Marcelo Pacote - @professorpacote
11
W W W. D O M I N A N D OT I .CO M . B R
Distribuda
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
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
14
W W W. D O M I N A N D OT I .CO M . B R
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.
15
W W W. D O M I N A N D OT I .CO M . B R
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) Mnimo Mximo Default
--16 8 16
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
17
W W W. D O M I N A N D OT I .CO M . B R
18
W W W. D O M I N A N D OT I .CO M . B R
19
W W W. D O M I N A N D OT I .CO M . B R
b) Apenas I e II.
c) Apenas I e III.
20
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [7] (DETRAN-DF/2009/CESPE) ( ) Por meio do tipo de dados float, possvel representar nmeros em notao de ponto flutuante normalizada em preciso simples de 32 bits.
21
W W W. D O M I N A N D OT I .CO M . B R
a) Long
b) Short
c) Float
d) Byte
e) Double
22
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [9] (ANAC/2009/CESPE) ( ) Entre os tipos de dados primitivos suportados pela linguagem Java, est o tipo char, o qual ocupa um espao de memria de 8 bits.
23
W W W. D O M I N A N D OT I .CO M . B R
Operadores
Aritmticos Relacionais
Lgicos
Bit a bit
+ += ++ -= -* *= / /= % %= (resto da diviso)
24
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [10] (MPU/2007/FCC) Analise os seguintes valores, variveis e operaes usando expresses Java: byte j = 30; short k = 54; int m = 40; long n = 12L; long resultado = 0L; resultado += j; resultado +=k; resultado /= n; resultado -= m;
Exerccio [11] (PETRO/2010/CESGRANRIO) Abaixo so exibidas expresses na linguagem Java, nas quais a, b e c so variveis do tipo boolean. Qual, dentre as expresses que, ao ser avaliada, resulta em um valor diferente das demais? a) (!c | b ) & ! (a & !b)
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?
27
W W W. D O M I N A N D OT I .CO M . B R
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
Exerccio [12] (BADESC-SC/2010/FGV) (2/2) Aps a execuo do cdigo, as variveis m e n exibiro,respectivamente, os valores: a) 42 e 41. b) 42 e 42. c) 42 e 43.
d) 43 e 42.
e) 43 e 43.
29
W W W. D O M I N A N D OT I .CO M . B R
Operadores lgicos (1/2) &&, || e ! Que ser impresso aps a execuo? int saida=10; boolean b1 = false; if( (b1==true) && ((saida+=10)==20)) { System.out.println(Eba! "+ saida); } else { System.out.println(Ops! Diferente"+saida); }
30
W W W. D O M I N A N D OT I .CO M . B R
int i=0;
boolean t=true;
boolean f=false,b;
b=(t || ((i++) ==0)); b=(f || ((i+=2)>0)); System.out.println(i + + b);
31
W W W. D O M I N A N D OT I .CO M . B R
34
W W W. D O M I N A N D OT I .CO M . B R
Controle de fluxo
FOR
{ ... }
DO - WHILE do
Exerccio [14] (TCU/2005/CESPE) Acerca das estruturas de dados, linguagens e ambientes de programao e das tcnicas da orientao a objetos para a construo de aplicaes e bancos de dados, julgue o item seguinte:
36
W W W. D O M I N A N D OT I .CO M . B R
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
ambiguidades
Passar o objeto corrente como parmetro
38
W W W. D O M I N A N D OT I .CO M . B R
39
W W W. D O M I N A N D OT I .CO M . B R
a) o operador instanceof utilizado para chamar o mtodo construtor de uma classe e criar um novo objeto.
b) so tipos primitivos de dados: boolean, byte, short, char, int, long, string, float e double. c) o tipo de dado int suporta apenas nmeros de -32.768 a 32.767. d) a instruo do-while no faz parte das instrues de controle de fluxo da linguagem. e) os valores booleanos no podem ser usados em uma operao de casting.
40
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [18] (PETRO/2010/CESGRANRIO) [1/3] Em linguagens de programao, palavras-chaves so aquelas palavras ou identificadores que tm um significado implcito e relevante para a linguagem de programao. Em muitas linguagens, estas palavras-chaves so tambm palavras reservadas, isto , no podem ser usadas em outros contextos, pois so reservadas para usos especficos da gramtica da linguagem de programao. A linguagem Java possui um pequeno ncleo de palavras reservadas, incluindo os comandos de controle de fluxo (for, while, etc), identificadores de nvel de acesso classe (public, private, etc).
41
W W W. D O M I N A N D OT I .CO M . B R
42
W W W. D O M I N A N D OT I .CO M . B R
43
W W W. D O M I N A N D OT I .CO M . B R
44
W W W. D O M I N A N D OT I .CO M . B R
a) 10
b) 125
c) 138
d) 139 e) 141
45
W W W. D O M I N A N D OT I .CO M . B R
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 sada do programa Java mostrado acima?
a) 3.
b) 5.
c) 19.
d) 21. e) 23.
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
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
Exerccio [1] (CIVIL-RJ/2008/FGV/Perito) (1/2) Em Java, programas no so traduzidos para linguagem de mquina, como outras linguagens estaticamente compiladas, mas sim para um formato intermedirio de cdigo, interpretado pelas Mquinas Virtuais Java (JVMs). essa caracterstica 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 nmero de diferentes cdigos de operao est limitado a 256.
50
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [1] (CIVIL-RJ/2008/FGV/Perito) (2/2) Esse formato intermedirio de cdigo e a extenso utilizada na formao de seus nomes so, respectivamente: a) Framework / .applet. b) Framework / .class. c) Bytecode / .applet. d) Bytecode / .class.
e) Bytecode / .java.
51
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [2] (DETRAN-RN/2010/FGV) (1/2) - adaptada Assinale a afirmativa INCORRETA sobre o cdigo-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
53
W W W. D O M I N A N D OT I .CO M . B R
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
b) 90
c) 130 d) 100 e) 110
55
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [4] (MEC/2009/FGV/Desenvolvedor) (1/4) Analise o cdigo da classe Manipula a seguir: public class Manipula {
56
W W W. D O M I N A N D OT I .CO M . B R
v1 = 5;
m.v3 = 6; int v5 = m.trocavalor(v2,m.v4); System.out.println(v1 + "," +v2 + "," + m.v3 + "," + v5); }
57
W W W. D O M I N A N D OT I .CO M . B R
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
Exerccio [4] (MEC/2009/FGV/Desenvolvedor) (4/4) Aps a execuo do mtodo main() o resultado obtido na sada padro 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
59
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [5] (CODESP-SP/2010/FGV) (1/3) Assinale a sintaxe correta para a estrutura CASE em Java.
a)
b)
60
W W W. D O M I N A N D OT I .CO M . B R
c)
d)
61
W W W. D O M I N A N D OT I .CO M . B R
e)
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
63
W W W. D O M I N A N D OT I .CO M . B R
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
}
}
Professor Marcelo Pacote - @professorpacote
65
W W W. D O M I N A N D OT I .CO M . B R
65
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
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
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
Exerccio [04] (BASA/2010/CESPE) ( ) Ao final da execuo do trecho de cdigo abaixo, escrito na linguagem Java, ser exibido o valor 21.
70
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [5] (PETR/2011/CESGRANRIO) (1/3) Considere o seguinte cdigo Java, contido no arquivo R.java:
1. class P {
2. private int id;
71
W W W. D O M I N A N D OT I .CO M . B R
11. }}
No momento imediatamente anterior execuo da linha 10, quantos objetos do tipo P, que foram criados na linha 9, tornaram-se elegveis para ser apanhados para a garbage collection?
72
W W W. D O M I N A N D OT I .CO M . B R
d) 5
e) 9
73
W W W. D O M I N A N D OT I .CO M . B R
( ) A linguagem Java, orientada a objetos, tem como caracterstica ser compilada em um cdigo executado em mquina virtual.
74
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [7] (EBC/2011/CESPE) (1/2) ( ) A estrutura de seleo de mltipla escolha permite a execuo de determinadas instrues, de acordo com a opo escolhida. Na linguagem Java, a palavra reservada break utilizada para garantir que apenas a instruo selecionada seja executada. ( ) Nas estruturas de repetio, que so utilizadas quando se deseja repetir certo trecho de instrues, o nmero de repeties deve ser conhecido ou determinado previamente e precisa ser finito.
75
W W W. D O M I N A N D OT I .CO M . B R
Exerccio [7] (EBC/2011/CESPE) (2/2) ( ) Na linguagem Java, a expresso contador = contador + 1 representada, usando-se o operador de incremento ++, por contador ++. ( ) A estrutura de repetio para utiliza variveis de controle que definem exatamente o nmero mximo de vezes que a sequncia de instrues ser executada.
76
W W W. D O M I N A N D OT I .CO M . B R
Com relao ao cdigo acima, escrito em Java. ( ) Na linguagem Java, um objeto do tipo Integer pode receber valor nulo, porm uma varivel primitiva int no pode.
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
78
W W W. D O M I N A N D OT I .CO M . B R
Prximos 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
Primeiros passos.
Aprendendo a linguagem
Classes essenciais
Colees Apostilas Java e orientao a objetos Algoritmos e estruturas de dados em Java
80
W W W. D O M I N A N D OT I .CO M . B R