Você está na página 1de 142

Universo

Java
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Galxia
JSE
Java Standard
Edition
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Constelao
Bsico da
linguagem Java
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Parte I Introduo ao Java

Parte II Variveis

Parte III Tipos primitivos e valores literais

Parte IV Operadores

Parte V Expresses, declaraes, blocos, controle de fluxos e


arrays

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Parte I Introduo ao Java

Parte II Variveis

Parte III Tipos primitivos e valores literais

Parte IV Operadores

Parte V Expresses, declaraes, blocos, controle de fluxos e


arrays

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Parte V
Expresses,
declaraes,
blocos, controle de
fluxos e arrays
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Expresses, declaraes e blocos

Hora de praticar

Questes de concursos

Controle de fluxos

if-else

Hora de praticar

Questes de concursos

switch

Hora de praticar

Questes de concursos
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

while e do-while

Hora de praticar

Questes de concursos

for

Hora de praticar

Questes de concursos

break, continue e return

Hora de praticar

Questes de concursos

Arrays
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Hora de praticar

Questes de concursos

Respostas dos desafios

Referncias

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Desafios

[RGA] O que so expresses, declaraes e blocos?

[RGA] Quais so os tipos de declaraes?

[RGA] Como podem ser classificadas as declaraes de


expresso?
[RGA] Pode-se declarar variveis com o mesmo nome em dois
blocos aninhados. [CERTO/ERRADO]
[RGA] Se houver mais de uma instruo dentro de um bloco,
obrigatrio o uso de chaves para delimitar o bloco?
[RGA] A declarao else do if-else obrigatria.
[CERTO/ERRADO]

[RGA] A declarao switch trabalha com quais tipos?

[RGA] Qual a diferena entre utilizar while e do-while?


rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

10

Desafios

[RGA] Quais so as formas das declaraes break e continue?

[RGA] O que so arrays?

[RGA] Como chamado cada elemento de um array?

[RGA] Um array pode ter seu tamanho modificado.


[CERTO/ERRADO]
[RGA] Quais so as fases de um array?
[RGA] Em qual fase o tamanho de um array definido e
fixado?

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

11

Expresses, declaraes e blocos

Expresses

So construes:

Feitas de:

Variveis

Operadores

Invocaes de mtodos

Que retornam um valor nico

Exemplos:

int x = 15; // Retorna um valor int.

System.out.println(O valor de x + x); // Retorna um valor


String.

int y = x + 10; // Retorna um valor int.

if (x < y) // Retorna um valor boolean.

System.out.println(x < y); // Retorna um valor String.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

12

Expresses, declaraes e blocos

Declaraes

So instrues

So unidades completas de execuo

Seus componentes principais so as expresses

Tipos:

De expresso

De criao de varivel

De controle de fluxo

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

13

Expresses, declaraes e blocos

Declaraes

Tipos:

Declaraes de expresso

So construdas atravs da combinao de uma ou mais expresses


So finalizadas com um ponto e vrgula ;
Podem ser classificadas em:

Declarao de atribuio

x = 15;
Declarao de incremento ou decremento

x++;
Declarao de invocao de mtodo

System.out.println(x);
Declarao de criao de objeto

Candidato derp = new Candidato();

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

14

Expresses, declaraes e blocos

Declaraes

Tipos:

Declaraes de criao de varivel

Declara uma varivel

Opcionalmente inicializa essa varivel


Exemplo:

int x = 15;

Declaraes de controle de fluxo

Controla a ordem que outras declaraes sero executadas


Exemplo:

while (i < 10) {

i++;
}

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

15

Expresses, declaraes e blocos

Blocos

So grupos de uma ou mais declaraes entre chaves

Exemplo:

boolean passei = true;

if (passei) { // Bloco 1.

System.out.println(Agora vou tirar onde de Camaro amarelo!);

} // Fim do bloco 1.

else { // Bloco 2.

System.out.println(No foi dessa vez.);

System.out.println(Vou continuar a estudar e consegui o objetivo!);

} // Fim do Bloco 2.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

16

Expresses, declaraes e blocos

Blocos

Podem ser aninhados dentro de outros blocos

Exemplo:

public static void main(String[] args)

int x = 15;

int y = 10; // y apenas visto dentro do escopo deste bloco.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

17

Expresses, declaraes e blocos

Blocos

No se pode declarar variveis com o mesmo nome em dois


blocos aninhados
Exemplo:

public static void main(String[] args)

int x = 15;

int y = 10; // y apenas visto dentro do escopo deste bloco.


int x = 20; // No possvel redefinir x em um bloco mais interno.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

18

Expresses, declaraes e blocos

Blocos

Se houver mais de uma instruo dentro de um bloco,


obrigatrio o uso de chaves para delimitar o bloco
Exemplo 1:

if (condio) // O bloco NO precisa estar entre chaves.

Exemplo 2:

if (condio) { // O bloco DEVE estar entre chaves.

instruo1

instruo1
instruo2

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

19

Expresses, declaraes e blocos


Blocos

Declaraes

Expresses

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

20

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

21

Hora de praticar

constelacao01.parte05

Exemplo01_ExpressoesDeclaracoesBlocos

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

22

Questes de concursos
[PaqTcPB 2012 UEPB - Tcnico em Informtica - Programador]
Em Java, um bloco de cdigo :

[A] Tudo que est entre ( )

[B] Tudo que est entre { }

[C] Tudo que est entre [ ]

[D] Tudo que est entre < >

[E] Tudo que est no mesmo nvel de indentao

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

23

Questes de concursos
[PaqTcPB 2012 UEPB - Tcnico em Informtica - Programador]
Em Java, um bloco de cdigo :

[A] Tudo que est entre ( )

[B] Tudo que est entre { }

[C] Tudo que est entre [ ]

[D] Tudo que est entre < >

[E] Tudo que est no mesmo nvel de indentao

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

24

Questes de concursos
[FGV 2010 DETRAN/RN Programador Questo 29] Assinale a
afirmativa INCORRETA sobre o cdigo-fonte apresentado em
linguagem Java:

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

25

Questes de concursos
[FGV 2010 DETRAN/RN Programador Questo 29] Assinale a
afirmativa INCORRETA sobre o cdigo-fonte apresentado em
linguagem Java:

public class welcome1 // Declarao da classe.

{ // Incio do bloco da classe.

public static void main(String[] args) // Declarao do mtodo.

{ // Incio do bloco do mtodo.

System.out.println(Bem vindo!); // Exibio de uma mensagem.

} // Final do bloco do mtodo.

} // Final do bloco da classe.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

26

Questes de concursos
[FGV 2010 DETRAN/RN Programador Questo 29] Assinale a
afirmativa INCORRETA sobre o cdigo-fonte apresentado em
linguagem Java:

[A] Na linha 1 realizada uma declarao de classe.


[B] Na linha 3 apresentado um bloco de construo do
programa chamado mtodo.
[C] Na linha 4 inicia-se o corpo da definio do mtodo.
[D] Na linha 5 realizado um envio de dados para a
impressora.
[E] Na linha 7 realizado o fechamento de uma classe.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

27

Questes de concursos
[FGV 2010 DETRAN/RN Programador Questo 29] Assinale a
afirmativa INCORRETA sobre o cdigo-fonte apresentado em
linguagem Java:

[A] Na linha 1 realizada uma declarao de classe.


[B] Na linha 3 apresentado um bloco de construo do
programa chamado mtodo.
[C] Na linha 4 inicia-se o corpo da definio do mtodo.
[D] Na linha 5 realizado um envio de dados para a
impressora o console.
[E] Na linha 7 realizado o fechamento de uma classe.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

28

Controle de fluxos

Declaraes de controle de fluxo

if-else

switch

while e do-while

for

Instrues que quebram o controle de fluxo

break

continue

return

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

29

if-else

if

a declarao mais comum dentre todas as declaraes de


controles de fluxos
As instrues dentro do if sero executadas se a condio da
estrutura for true
A condio deve:

Vir entre parnteses

Retornar um valor booleano

Exemplo:

int x = 15;

if (x <= 20)

System.out.prinltn(x <= 20);

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

30

if-else

else

sempre opcional

correspondente com o if mais prximo

int x = 15;

if (x <= 15) if (x == 15) y = 0; else y = 1;

Uma boa prtica utilizar chaves para organizar o cdigo

if (x <= 15) { if (x == 15) y = 0; else y = 1; }

A identao melhora ainda mais a visualizao do cdigo:

if (x <= 15) {

if (x == 15)
y = 0;
else

y = 1;

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

31

if-else
Forma 1

Forma 2

Simples
if (condio)
instruo

Forma 3
Composta

if (condio)
instruo1
else
instruo2

if (condio1)
instruo1
else if (condio2)
instruo2
else
instruo3

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

32

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

33

Hora de praticar

constelacao01.parte05

Exemplo02_IfElse

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

34

Questes de concursos
[FCC 2011 TRE/RN Tcnico Judicirio Especialidade
Programao de Sistemas Questo 29] Considere os seguintes
fragmentos de cdigo Java:

[I] int sum = 7; if ( sum > 20 ) {

System.out.print("ganhou "); } else {

System.out.print("perdeu "); } System.out.println("o bnus.");

[II] int sum = 21; if (sum != 20)

System.out.print("ganhou"); else

System.out.print("perdeu "); System.out.println("o bnus.");

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

35

Questes de concursos
[FCC 2011 TRE/RN Tcnico Judicirio Especialidade
Programao de Sistemas Questo 29] Considere os seguintes
fragmentos de cdigo Java:

[I] int sum = 7;


if (sum > 20) {

System.out.print("ganhou ");
} else {

System.out.print("perdeu ");

System.out.println("o bnus.");
[II] int sum = 21;
if (sum != 20)

System.out.print("ganhou");
else

System.out.print("perdeu ");
System.out.println("o bnus.");

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

36

Questes de concursos
[FCC 2011 TRE/RN Tcnico Judicirio Especialidade
Programao de Sistemas Questo 29] O resultado da execuo
dos fragmentos em I e II ser, respectivamente,

[A] ganhou e ganhou.

[B] perdeu e perdeu.

[C] perdeu o bnus e ganhou o bnus.

[D] perdeu o bnus e ganhou.

[E] perdeu e ganhou o bnus.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

37

Questes de concursos
[FCC 2011 TRE/RN Tcnico Judicirio Especialidade
Programao de Sistemas Questo 29] O resultado da execuo
dos fragmentos em I e II ser, respectivamente,

[A] ganhou e ganhou.

[B] perdeu e perdeu.

[C] perdeu o bnus e ganhou o bnus.

[D] perdeu o bnus e ganhou.

[E] perdeu e ganhou o bnus.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

38

Questes de concursos
[CESPE 2012 BASA Cargo 17] Julgue o item seguinte, acerca da
linguagem de programao Java.

[100] O cdigo Java apresentado abaixo no ser compilado.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

39

Questes de concursos
[CESPE 2012 BASA Cargo 17] Julgue o item seguinte, acerca da
linguagem de programao Java.

[100] O cdigo Java apresentado abaixo no ser compilado.

public class teste {

public static void main(String[] args) {

booleanteste = false; // H um erro nesta linha.

if(teste = true){}

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

40

Questes de concursos
[CESPE 2012 BASA Cargo 17] Julgue o item seguinte, acerca da
linguagem de programao Java.

[100] O cdigo Java apresentado abaixo no ser compilado.

Gabarito: CERTO.

Justificativa de mudana de gabarito:

O cdigo apresentado no item no ir compilar, pois a declarao


da varivel est errada. Dessa forma, a afirmao do item est
correta, devendo o gabarito ser alterado.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

41

Questes de concursos
[CESPE 2012 BASA Cargo 17 - Adaptado] Julgue os itens
seguintes, acerca do cdigo abaixo na linguagem de
programao Java.

public class teste {

public static void main(String[] args) {

boolean teste = false;

if(teste = true){

System.out.println(Fala, caboco fei!);

[1] O cdigo Java apresentado abaixo no ser compilado.

[2] O texto Fala, caboco fei! ser impresso.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

42

Questes de concursos
[CESPE 2012 BASA Cargo 17 - Adaptado] Julgue os itens
seguinte, acerca do cdigo abaixo na linguagem de programao
Java.

[1] O cdigo Java apresentado abaixo no ser compilado.

Gabarito: ERRADO.

[2] O texto Fala, caboco fei! ser impresso.

Gabarito: CERTO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

43

switch

Tambm chamado de mltiplas selees ou escolhas


uma declarao mais fcil de entender e manter do que uma
declarao if/else com vrias selees com muitas alternativas
O corpo da declarao switch:

conhecido como bloco switch

composto por:

Um ou mais rtulos cases

Trabalham os casos especficos

Apenas um rtulo default

Trabalham os casos no previstos

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

44

switch

Exemplo:

int x = 15;

switch(x) {

case 14:

break;

default:

break;

case 15:

break;

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

45

switch

Trabalha com:

Tipos primitivos:

byte

short

char

int

Classes wrappers:

Byte

Short

Character

Integer

String

Tipos enumerados
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

46

switch

Uso da declarao break

Cada break encerra um bloco switch

O uso do break no obrigatrio

Mas sem ele, todas as declaraes aps o case correspondente


sero executadas at que um break seja encontrado

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

47

switch

Quando usar uma declarao if/else ou uma declarao switch

Declarao if/else

Pode testar expresses com base em faixas de valores ou


condies

Declarao switch

Testa expresses com base apenas em um nico valor dos tipos

Tipos primitivos byte, short, char e int

Classes wrappers Byte, Short, Character e Integer


String

Tipos enumerados

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

48

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

49

Hora de praticar

constelacao01.parte05

Exemplo03_Switch

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

50

Questes de concursos
[FCC 2012 TRE/CE Tcnico Judicirio Especialidade
Programao de Sistemas Questo 21] Considere a varivel
idade declarada no mtodo main de uma classe Java, com a
seguinte instruo:
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");}

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

51

Questes de concursos
[FCC 2012 TRE/CE Tcnico Judicirio Especialidade
Programao de Sistemas Questo 21] Considere a varivel
idade declarada no mtodo main de uma classe Java, com a
seguinte instruo:
int idade=12;
Analise:

[III] if(idade<18) {System.out.println("Menor de idade");} else if


(idade>=18) {System.out.println("Maior de idade");}
[IV] switch(idade) {case<18: System.out.println("Menor de
idade"); break; case>=18: System.out.println("Maior de
idade");}

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

52

Questes de concursos
[FCC 2012 TRE/CE Tcnico Judicirio Especialidade
Programao de Sistemas Questo 21] Contm uma instruo
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.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

53

Questes de concursos
[FCC 2012 TRE/CE Tcnico Judicirio Especialidade
Programao de Sistemas Questo 21] Contm uma instruo
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.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

54

Questes de concursos
[CESPE 2011 EBC Analista Engenharia de Software] A respeito
de estruturas de controle de fluxo em algoritmos, julgue o
prximo item.

[99] 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.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

55

Questes de concursos
[CESPE 2011 EBC Analista Engenharia de Software] A respeito
de estruturas de controle de fluxo em algoritmos, julgue o
prximo item.

[99] 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.

Gabarito: CERTO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

56

while e do-while

while

Executa uma instruo ou um conjunto de instrues enquanto


uma condio true
A condio deve:

Vir entre parnteses

Retornar um valor booleano

Exemplo:

int x = 1;

while (x < 11) {

System.out.println(x + , );
x++;

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

57

while e do-while

do-while

Executa uma instruo ou um conjunto de instrues enquanto


uma condio true

Porm a condio feita ao final da declarao

A condio deve:

Vir entre parnteses

Retornar um valor booleano

Exemplo:

int x = 1;

do {

System.out.println(x + , );
x++;

} while (x < 11);


rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

58

while e do-while
Declarao

Diferena

Consequncia

while

Testa a condio no incio

No h garantia de que um
loop ser executado

do-while

Testa a condio no final

Pelo menos um loop


executado

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

59

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

60

Hora de praticar

constelacao01.parte05

Exemplo04_WhileDoWhile

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

61

Questes de concursos
[FCC 2012 TRE/CE Tcnico Judicirio Programao de
Sistemas Questo 32] Considere a estrutura de repetio
seguinte:

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

62

Questes de concursos
Iterao

cont

3 (do-while)

4 (do-while)

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

63

Questes de concursos
[FCC 2012 TRE/CE Tcnico Judicirio Programao de
Sistemas Questo 32] A sada na tela ser

[A] 15 e 6.

[B] 1 e 5.

[C] 0 e 1.

[D] 6 e 9.

[E] 9 e 7.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

64

Questes de concursos
[FCC 2012 TRE/CE Tcnico Judicirio Programao de
Sistemas Questo 32] A sada na tela ser

[A] 15 e 6.

[B] 1 e 5.

[C] 0 e 1.

[D] 6 e 9.

[E] 9 e 7.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

65

Questes de concursos
[FCC 2012 MPE/PE Analista Ministerial Informtica] Analise o
cdigo Java a seguir:

public class Classe1 {

public static void main(String[] args) {

int n, r, c, s;

n = 6;

r = 0;

c = 1;

s = -1;

while (c <= n) {

...

System.out.println(r);
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

66

Questes de concursos
[FCC 2012 MPE/PE Analista Ministerial Informtica] Analise o
cdigo Java a seguir:

n = 6;

r = 0;

c = 1;

s = -1;

while (c <= n) {

if (c % 2 == 0) {

r = r + c * s;
} else {

r = r + c;

c++;

System.out.println(r);
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

67

Questes de concursos
Iterao

-1

2 (while)

-1

3 (while)

-1

-1

4 (while)

-1

5 (while)

-2

-1

6 (while)

-1

7 (while)

-3

-1

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

68

Questes de concursos
[FCC 2012 MPE/PE Analista Ministerial Informtica] Ao
compilar e executar a Classe1, os valores finais nas variveis r e
c sero respectivamente:

[A] 3 e 6.

[B] -3 e 7.

[C] -2 e 7.

[D] 4 e 6.

[E] -3 e 6.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

69

Questes de concursos
[FCC 2012 MPE/PE Analista Ministerial Informtica] Ao
compilar e executar a Classe1, os valores finais nas variveis r e
c sero respectivamente:

[A] 3 e 6.

[B] -3 e 7.

[C] -2 e 7.

[D] 4 e 6.

[E] -3 e 6.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

70

Questes de concursos
[FESMIP/BA 2011 MPE/BA Analista de Sistemas]

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

71

Questes de concursos
Iterao

System.out.print(i + );

2 (while)

3 (while)

35

4 (while)

357

5 (while)

3579

6 (while)

11

3 5 7 9 11

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

72

Questes de concursos
[FESMIP/BA 2011 MPE/BA - Analista de Sistemas] A alternativa
que corresponde ao que ser impresso pelo trecho de cdigo a

[A] 3 5 7 9 11

[B] 2 4 6 8

[C] 1 3 5 7 9 11

[D] 1 2 4 6 8

[E] 1 2 3 4 5 6 7 8 9 11

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

73

Questes de concursos
[FESMIP/BA 2011 MPE/BA - Analista de Sistemas] A alternativa
que corresponde ao que ser impresso pelo trecho de cdigo a

[A] 3 5 7 9 11

[B] 2 4 6 8

[C] 1 3 5 7 9 11

[D] 1 2 4 6 8

[E] 1 2 3 4 5 6 7 8 9 11

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

74

Questes de concursos
[IADES 2011 PG/DF Analista Jurdico Analista de Sistemas]
Qual ser o valor exibido na execuo da seguinte classe Java?

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

75

Questes de concursos
Iterao

78

117

2 (do-while)

117

78

78

3 (do-while)

78

39

39

4 (do-while)

39

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

76

Questes de concursos
[IADES 2011 PG/DF Analista Jurdico Analista de Sistemas]
Qual ser o valor exibido na execuo da seguinte classe Java?

[A] 11

[B] 39

[C] 13

[D] 9

[E] 78

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

77

Questes de concursos
[IADES 2011 PG/DF Analista Jurdico Analista de Sistemas]
Qual ser o valor exibido na execuo da seguinte classe Java?

[A] 11

[B] 39

[C] 13

[D] 9

[E] 78

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

78

Questes de concursos
[ESAF 2012 Receita Federal Analista Tributrio da Receita
Federal Prova 2 rea Informtica] Em programao Java, o
comando while

[A] executa um bloco exclusivamente de comandos de


atribuio.
[B] executa um bloco de comandos enquanto sua condio for
verdadeira.
[C] executa um bloco de comandos at que sua condio seja
verdadeira.

[D] equivale ao comando what-if.

[E] idntico ao comando do while.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

79

Questes de concursos
[ESAF 2012 Receita Federal Analista Tributrio da Receita
Federal Prova 2 rea Informtica] Em programao Java, o
comando while

[A] executa um bloco exclusivamente de comandos de


atribuio.
[B] executa um bloco de comandos enquanto sua condio
for verdadeira.
[C] executa um bloco de comandos at que sua condio seja
verdadeira.

[D] equivale ao comando what-if.

[E] idntico ao comando do while.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

80

for

uma declarao com um nmero determinado de loops

Possui a seguinte estrutura:

for (inicializao; condio; incremento) {

Instrues;

Sendo que:

A expresso de inicializao armazena a inicializao de um


contador do loop

executada apenas uma vez

A expresso de condio contm a condio a ser testada antes


de cada nova passagem no loop
A expresso de incremento atualiza o contador
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

81

for

Exemplo:

for (int x = 1; x < 11; x++) {

System.out.println(x + , );

Pode suportar mais de um contador

Porm, fica uma estrutura difcil de se manter

Exemplo:

for (int x = 1, y = 10; x < 11; x++, y--) {

System.out.println("x: " + x + ", y: " + y);

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

82

for

for each

mais compacto e melhorado e utilizado para trabalhar com:

Collections

Arrays

O contador vai assumir o valor de cada componente de uma


collection ou de um array

Recomenda-se a sua utilizao sempre que possvel

Exemplo:

String[] mes = {"JAN", "FEV", "MAR"};

for (String valorComponente : mes) {

System.out.print(valorComponente + "; ");

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

83

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

84

Hora de praticar

constelacao01.parte05

Exemplo05_For

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

85

Questes de concursos
[FGV 2010 DETRAN/RN Programador Questo 31] Assinale a
alternativa que contm o resultado correto da execuo do
programa em linguagem Java:

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

86

Questes de concursos
Iterao

total

conta

2 (for)

3 (for)

4 (for)

12

5 (for)

20

6 (for)

30

10

7 (for)

42

12

8 (for)

56

14

9 (for)

72

16

10 (for)

90

18

11 (for)

110

20

12 (for)

110

22

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

87

Questes de concursos
[FGV 2010 DETRAN/RN Programador Questo 31] Assinale a
alternativa que contm o resultado correto da execuo do
programa em linguagem Java:

[A] 108

[B] 90

[C] 130

[D] 100

[E] 110

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

88

Questes de concursos
[FGV 2010 DETRAN/RN Programador Questo 31] Assinale a
alternativa que contm o resultado correto da execuo do
programa em linguagem Java:

[A] 108

[B] 90

[C] 130

[D] 100

[E] 110

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

89

Questes de concursos
[FCC 2012 TST Analista Judicirio Anlise de Sistemas
Questo 38] Considere o programa abaixo escrito na linguagem
Java:

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

90

Questes de concursos
Iterao

System.out.print(i % 3 + );

1 (for)

2 (for)

02

3 (for)

021

4 (for)

0210

5 (for)

11

02102

6 (for)

13

021021

7 (for)

15

0210210

8 (for)

17

02102102

9 (for)

19

021021021

10 (for)

21

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

91

Questes de concursos
[FCC 2012 TST Analista Judicirio Anlise de Sistemas
Questo 38] O resultado a ser informado ao usurio aps a
execuo do programa acima :

[A] 0 0 1 0 0 1 0 0 1

[B] 0 1 2 0 1 2 0 1 2

[C] 0 1 0 1 0 1 0 1 0

[D] 1 2 1 2 1 2 1 2 1

[E] 0 2 1 0 2 1 0 2 1

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

92

Questes de concursos
[FCC 2012 TST Analista Judicirio Anlise de Sistemas
Questo 38] O resultado a ser informado ao usurio aps a
execuo do programa acima :

[A] 0 0 1 0 0 1 0 0 1

[B] 0 1 2 0 1 2 0 1 2

[C] 0 1 0 1 0 1 0 1 0

[D] 1 2 1 2 1 2 1 2 1

[E] 0 2 1 0 2 1 0 2 1

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

93

break, continue e return

As declaraes break e continue possuem duas formas:

Rotulados

No rotulados

break

break no rotulado

Terminar as declaraes mais internas das quais o break faz parte:

swicth
while

do-while
for

break rotulado

Terminar as declaraes externas (citadas acima) antecedidas de


rtulos
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

94

break, continue e return

loop
loop

break;
break;

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

95

break, continue e return


loop
loop externo
externo com
com 22 iteraes
iteraes
loop
loop interno
interno 11
break;
break;

loop
loop interno
interno 22
break;
break;

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

96

break, continue e return


sairLoopExterno
sairLoopExterno:: loop
loop externo
externo com
com 22 iteraes
iteraes
loop
loop interno
interno 11
break
break sairLoopExterno
sairLoopExterno;;

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

97

break, continue e return

continue

continue no rotulado

Salta uma iterao das declaraes mais internas das quais o


continue faz parte:

while

do-while
for

continue rotulado

Salta para declaraes externas (citadas acima) antecedidas de


rtulos

O resultado final idntico a usar break no rotulado em uma


declarao interna

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

98

break, continue e return

loop
loop

continue;
continue;

loop
loop

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

99

break, continue e return


loop
loop externo
externo com
com 22 iteraes
iteraes
loop
loop interno
interno 11
continue;
continue;
loop
loop interno
interno 11

loop
loop interno
interno 22
continue;
continue;
loop
loop interno
interno 22
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

100

break, continue e return


continuaLoopMaisExterno
continuaLoopMaisExterno:: loop
loop externo
externo com
com 22 iteraes
iteraes
loop
loop interno
interno 11
continue
continue continuaLoop
continuaLoopMaisExterno
MaisExterno;;

loop
loop interno
interno 22
continue
continue continuaLoop
continuaLoopMaisExterno
MaisExterno;;

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

101

break, continue e return

return

Sai do mtodo atual e o controle de fluxo retorna onde o mtodo


foi invocado
Fluxo
Fluxo

objeto.tudoMinusculo(String
objeto.tudoMinusculo(String texto);
texto);

public
public String
String tudoMinusculo(String
tudoMinusculo(String texto)
texto) {{
return
return texto.toLowerCase();
texto.toLowerCase();
}}

Fluxo
Fluxo
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

102

break, continue e return

return

Pode:

Retornar algum valor

O tipo do valor retornado deve ser igual ao tipo declarado no mtodo


Exemplo:

public String tudoMinusculo(String texto) {

return texto.toLowerCase();
}

Retornar nada

usado em mtodos declarados com void

So mtodos que no retornam nenhum valor


No obrigatrio o uso desse tipo de return

Exemplo:

public void naoFazNada() {

return;
}

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

103

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

104

Hora de praticar

constelacao01.parte05

Exemplo06_BreakContinueReturn

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

105

Questes de concursos
[FUMARC 2011 PRODEMGE Analista de Tecnologia da
Informao] Analise o seguinte programa desenvolvido na
linguagem Java:

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

106

Questes de concursos
[FUMARC 2011 PRODEMGE Analista de Tecnologia da
Informao]

public class BreakTest {

public static void main(String[] args)

int count;

int loop = 10;

for (count = 1; count <= 10; count++) {

if (count++ == loop--)

break;
System.out.printf( "%d" + " ", count);

}
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

107

Questes de concursos
Iterao

count

loop

System.out.printf( "%
d" + " ", count);

10

2 (for)

10

3 (if)

4 (for)

5 (for)

6 (if)

7 (for)

24

8 (for)

24

9 (if)

24

10 (for)

246

11 (for)

246

12 (if)

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

108

Questes de concursos
[FUMARC 2011 PRODEMGE Analista de Tecnologia da
Informao] Assinale a opo que corresponde sada CORRETA
gerada pelo programa:

[A] 1 2 3 4 5 6 7 8 9 10

[B] 2 4 6

[C] 2 4 6 8 10

[D] 1 2 3 4 5 6 7 8 9

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

109

Questes de concursos
[FUMARC 2011 PRODEMGE Analista de Tecnologia da
Informao] Assinale a opo que corresponde sada CORRETA
gerada pelo programa:

[A] 1 2 3 4 5 6 7 8 9 10

[B] 2 4 6

[C] 2 4 6 8 10

[D] 1 2 3 4 5 6 7 8 9

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

110

Questes de concursos
[ESAF 2012 CGU Analista de Finanas e Controle Prova 3
Desenvolvimento de Sistemas da Informao Questo 14] Na
linguagem Java, o comando continue tem a funo de

[A] fazer com que o comando de seleo seja inicializado.

[B] permitir realar a posio de determinados comandos.

[C] modificar a estrutura do loop, realando procedimentos.

[D] fazer com que a continuidade da execuo de um loop


fique condicionada a um teste de condio de continuidade.
[E] fazer com que a condio do comando de loop seja
novamente testada, mesmo antes de alcanar o fim do
comando.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

111

Questes de concursos
[ESAF 2012 CGU Analista de Finanas e Controle Prova 3
Desenvolvimento de Sistemas da Informao Questo 14] Na
linguagem Java, o comando continue tem a funo de

[A] fazer com que o comando de seleo seja inicializado.

[B] permitir realar a posio de determinados comandos.

[C] modificar a estrutura do loop, realando procedimentos.

[D] fazer com que a continuidade da execuo de um loop


fique condicionada a um teste de condio de continuidade.
[E] fazer com que a condio do comando de loop seja
novamente testada, mesmo antes de alcanar o fim do
comando.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

112

Questes de concursos
[ESAF 2012 CGU Analista de Finanas e Controle Prova 3
Desenvolvimento de Sistemas da Informao Questo 15] O
comando break tem a funo de

[A] interromper a execuo de um loop.


[B] condicionar a execuo de um comando de atribuio a um
operador lgico.
[C] segmentar a execuo de um loop em duas ou mais
partes aninhadas.
[D] estabelecer um intervalo de depurao durante a execuo
de um loop.
[E] impossibilitar o aninhamento de loops no lgicos.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

113

Questes de concursos
[ESAF 2012 CGU Analista de Finanas e Controle Prova 3
Desenvolvimento de Sistemas da Informao Questo 15] O
comando break tem a funo de

[A] interromper a execuo de um loop.


[B] condicionar a execuo de um comando de atribuio a um
operador lgico.
[C] segmentar a execuo de um loop em duas ou mais
partes aninhadas.
[D] estabelecer um intervalo de depurao durante a execuo
de um loop.
[E] impossibilitar o aninhamento de loops no lgicos.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

114

Questes de concursos
[CESGRANRIO 2012 Chesf Profissional de Nvel Superior
Analista de Sistemas Questo 48] Considere o trecho de cdigo
que corresponde ao mtodo principal de uma classe em
linguagem Java.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

115

Questes de concursos
[CESGRANRIO 2012 Chesf Profissional de Nvel Superior
Analista de Sistemas Questo 48]

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

116

Questes de concursos
Iterao

2 (while)

3 (while)

4 (while)

5 (while)

6 (while)

7 (while)

8 (while)

9 (while)

10 (while)

11 (while)

10

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

117

Questes de concursos
[CESGRANRIO 2012 Chesf Profissional de Nvel Superior
Analista de Sistemas Questo 48] Qual o resultado produzido
por esse mtodo quando ele corretamente executado?

[A] 0

[B] 1

[C] 2

[D] 3

[E] 5

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

118

Questes de concursos
[CESGRANRIO 2012 Chesf Profissional de Nvel Superior
Analista de Sistemas Questo 48] Qual o resultado produzido
por esse mtodo quando ele corretamente executado?

[A] 0

[B] 1

[C] 2

[D] 3

[E] 5

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

119

Arrays

So estruturas de dados que contm um conjunto de valores


do mesmo tipo
Cada elemento de um array :

Uma varivel

Chamado de componente de array

Acessado por um ndice que vai de 0 a n -1

Onde n o tamanho do array

O tamanho de um array estabelecido quando ele criado

Aps isso, o seu tamanho fixo

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

120

Arrays

Fases de um array:

Declarao

Criao

Inicializao

Acesso

DC IA

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

121

Arrays

Declarao

Utiliza-se colchetes

Duas formas:

tipo[ ] array;

aforma mais recomendada

tipo array[ ];

Exemplos:

byte[] arrayBytes;

Candidato[] arrayCandidatos;

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

122

Arrays

Criao

onde o tamanho do array definido e fixado


Os componentes do array, na criao, so inicializados
automaticamente com valores padres dos tipos
Duas formas:

Utilizando o operador new seguido do tipo e o tamanho do array

tipo[ ] array = new tipo[n];

Sendo n o tamanho do array


Exemplos:

byte[] arrayBytes = new byte[10]; // Array declarado e criado.


Candidato[] arrayCandidatos = new Candidato[5]; // Array
declarado e criado.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

123

Arrays

Criao

Duas formas:

Fazendo juno com a fase de inicializao

tipo[ ] array = {valo1, valo2, valo3, , valorN};

Sendo o nmero de valores o tamanho do array


Os valores devem estar entre chaves
Exemplo:

byte[] arrayBytes = {4, 5, 7, 8, 23, 45}; // Array declarado, criado


com tamanho 6 e inicializado.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

124

Arrays

Inicializao

Duas formas:

Fazendo juno com a fase de criao

tipo[ ] array = {valo1, valo2, valo3, , valorN};

Sendo o nmero de valores o tamanho do array


Exemplo:

byte[] arrayBytes = {4, 5, 7, 8, 23, 45}; // Array declarado, criado


com tamanho 6 e inicializado.

Fazendo juno com a fase de acesso

array[0] = valo1;

array[1] = valor2;

array[n - 1] = valorN; // Sendo n o tamanho do array.


Exemplo:

byte[] arrayBytes = new byte[2];


arrayBytes[0] = 4;
arrayBytes[1] = 5;

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

125

Arrays

Acesso

Cada componente de um array acessado por um ndice que vai


de 0 a n -1

Onde n o tamanho do array

array[0] = valo1;

array[1] = valor2;

array[n - 1] = valorN;

Exemplo:

byte[] arrayBytes = new byte[4];

arrayBytes[0] = 4; // Primeiro elemento.

arrayBytes[1] = 5; // Segundo elemento.

arrayBytes[2] = 7; // Terceiro elemento.

arrayBytes[3] = 8; // Quarto elemento.


rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

126

Arrays
// Declarando um array.
byte[] arrayBytes;

arrayBytes =

// Criando o array.
arrayBytes = new byte[5];
// Inicializando o array.
arrayBytes[0] = 4;
arrayBytes[1] = 2;
arrayBytes[2] = 3;
arrayBytes[3] = 7;
arrayBytes[4] = 8;
// Acessando um elemento.
int x = arrayBytes[3];
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

44
22
33
77
88
127

Arrays

Arrays multidimensionais

So arrays de arrays

tipo[ ][ ] array = new tipo[m][n];

Onde o par [ ] define uma dimenso

Exemplo:

// Dois candidatos e trs notas para cada um.

double[][] notasProvas = new double[2][3];

notasProvas[0][0] = 9;

notasProvas[0][1] = 7;

notasProvas[0][2] = 7.5;

notasProvas[1][0] = 8;

notasProvas[1][1] = 10;

notasProvas[1][2] = 8.5;
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

128

Arrays
notasProvas =

99

88

77

10
10

7.5
7.5

8.5
8.5

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

129

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

130

Hora de praticar

constelacao01.parte05

Exemplo07_Arrays

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

131

Questes de concursos
[CESPE 2010 BASA Cargo 15] Quanto aos conceitos de
linguagens de programao, julgue o item que se segue.

[111] Ao final da execuo do trecho de cdigo abaixo, escrito


na linguagem Java, ser exibido o valor 21.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

132

Questes de concursos
[CESPE 2010 BASA Cargo 15] Quanto aos conceitos de
linguagens de programao, julgue o item que se segue.

[111] Ao final da execuo do trecho de cdigo abaixo, escrito


na linguagem Java, ser exibido o valor 21.

Gabarito: ERRADO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

133

Respostas dos desafios

[RGA] O que so expresses, declaraes e blocos?

Expresses so construes feitas de variveis, operadores e


invocaes de mtodos que retornam um valor nico

Declaraes so instrues ou unidades completas de execuo

Blocos so grupos de uma ou mais declaraes entre chaves

[RGA] Quais so os tipos de declaraes?

Tipos:

De expresso

De criao de varivel

De controle de fluxo

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

134

Respostas dos desafios

[RGA] Como podem ser classificadas as declaraes de


expresso?

Declarao de atribuio

Declarao de incremento ou decremento

Declarao de invocao de mtodo

Declarao de criao de objeto

[RGA] Pode-se No se pode declarar variveis com o mesmo


nome em dois blocos aninhados.

Podem ser classificadas em:

Gabarito: ERRADO.

[RGA] Se houver mais de uma instruo dentro de um bloco,


obrigatrio o uso de chaves para delimitar o bloco?

Sim
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

135

Respostas dos desafios

[RGA] A declarao else do if-else obrigatria opcional.

Gabarito: ERRADO.

[RGA] A declarao switch trabalha com quais tipos?

Tipos primitivos byte, short, char e int

Classes wrappers Byte, Short, Character e Integer

String

Tipos enumerados

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

136

Respostas dos desafios

[RGA] Qual a diferena entre utilizar while e do-while?

while

Testa a condio no incio

No h garantia de que um loop ser executado

do-while

Testa a condio no final

Pelo menos um loop executado

[RGA] Quais so as formas das declaraes break e continue?

Rotulados

No rotulados

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

137

Respostas dos desafios

[RGA] O que so arrays?

[RGA] Como chamado cada elemento de um array?

So estruturas de dados que contm um conjunto de valores do


mesmo tipo
Componente de array

[RGA] Um array no pode ter seu tamanho modificado.

Gabarito: ERRADO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

138

Respostas dos desafios

[RGA] Quais so as fases de um array?

DC IA

Declarao

Criao

Inicializao

Acesso

[RGA] Em qual fase o tamanho de um array definido e


fixado?

Criao

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

139

Referncias

Apostila Java e Orientao a Objetos da Caelum:


http://www.caelum.com.br/download/caelum-java-objetosfj11.pdf
Apostila Java e Orientao a Objetos da K19:
http://www.k19.com.br/downloads/apostilas/java/k19-k11orientacao-a-objetos-em-java
HELDER, Rocha. Curso J100: Programao Orientada a Objetos
usando Java: http://www.argonavis.com.br/cursos/java/j100/
HORSTMANN, Cay S. e CORNELL, Gary. Core Java Volume I Fundamentos. 8 Edio. Editora Pearson Prentice Hall, 2010.
Jurtle's Java Tutorial. Disponvel em:
http://www.otherwise.com/Lessons/
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

140

Referncias

SIERRA, Kate e BATES, Bert. Certificao Sun para


Programador e Desenvolvedor em Java 2 Guia de Estudos. 3
Edio. Editora Alta Books, 2003.
The Java Language Specification - Java SE 7 Edition:
http://docs.oracle.com/javase/specs/jls/se7/html/
The Java Tutorials - Language Basics:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

141

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

142