Buscar

7 Estruturas condicionais - Parte 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Estruturas condicionais – Parte 2 
Prof. Bruno Nogueira 
Tipo primitivo boolean 
Estruturas condicionais 2 
}  Variáveis do tipo primitivo boolean podem ser usadas em 
testes de estruturas condicionais 
}  Facilitam legibilidade 
if	((temperatura	<=	100)	&&	(velocidade	>=	120)	&&		
				(pressaoCabine	>	30))	
				System.out.println(“Sequência	pode	ser	iniciada!”);	
else	
				System.out.println(“Não	é	possível	iniciar	a	sequência!”);	
Tipo primitivo boolean 
Estruturas condicionais 3 
}  Variáveis do tipo primitivo boolean podem ser usadas em 
testes de estruturas condicionais 
}  Facilitam legibilidade 
boolean	sistemaPronto	=	false;	
	
...	
	
if	(sistemaPronto)	
				System.out.println(“Sequência	pode	ser	iniciada!”);	
else	
				System.out.println(“Não	é	possível	iniciar	a	sequência!”);	
Tipo primitivo boolean 
Estruturas condicionais 4 
}  É possível atribuir o valor de uma expressão booleana a 
uma variável do tipo boolean 
int	numero	=	-1;	
boolean	ehPositivo	=	(numero	>	0);	
	
	
if	(ehPositivo)	
				System.out.println(“Número	positivo!”);	
else	
				System.out.println(“Número	negativo	ou	zero!”);	
Regras de precedência 
Estruturas condicionais 5 
}  Java avalia expressões booleanas usando a mesma 
estratégia de expressões aritméticas 
}  Precedências são respeitadas 
}  Resolução por partes 
int	numero	=	95;	
if	((numero	>=	80)	&&	(numero	<	90))	
...	
true	&&	false	
false	
Ordem de precedência 
Estruturas condicionais 6 
 
MAIOR PRECEDÊNCIA 
 
}  Primeiro: operadores unários: +, -, !, ++ e -- 
}  Segundo: operadores binários *, / e % 
}  Terceiro: operadores binários + e – 
}  Quarto: operadores lógicos <, >, <=, >= 
}  Quinto: operadores lógicos ==, != 
}  Sexto: operador lógico && 
}  Sétimo: operador lógico || 
MENOR PRECEDÊNCIA 
Ordem de precedência 
Estruturas condicionais 7 
}  Exemplos: Dê o valor lógico resultante das seguintes 
operações: 
(score	<	((minimo	/	2)	–	10))	||	(score	>	90)	
int	score	=	95,	minimo	=	100;	
boolean	resultado	=	score	<	minimo	/	2	–	10	||	score	>	90	
true	
Ordem de precedência 
Estruturas condicionais 8 
}  Exemplos: Dê o valor lógico resultante das seguintes 
operações: 
(tarefasCompletas	>	0)	&&	((notaTotal	/	tarefasCompletas)	>	6))	
int	tarefasCompletas	=	5,	notaTotal	=	38;	
boolean	resultado	=	tarefasCompletas	>	0	&&	notaTotal	/	tarefasCompletas	>	6	
true	
O comando switch 
Estruturas condicionais 9 
}  Quando se tem múltiplos comandos if-else, com 
diferentes saídas possíveis, pode-se ser difícil de ler e 
trabalhoso de escrever 
char	grauFinal;	
...	
if	(grauFinal	==	‘A’)	
				System.out.println(“Aprovado	com	louvor!”);	
else	if	(grauFinal	==	‘B’)	
				System.out.println(“Aprovado	com	bom	desempenho!”);	
else	if	(grauFinal	==	‘C’)	
				System.out.println(“Aprovado	com	desempenho	mínimo!”);	
else	
				System.out.println(“Reprovado.”);	
O comando switch 
Estruturas condicionais 10 
}  Para casos como este, é possível usar o comando switch 
char	grauFinal;	
...	
switch	(grauFinal){	
				case	‘A’:	
								System.out.println(“Aprovado	com	louvor!”);	
	break;	
				case	‘B’:	
								System.out.println(“Aprovado	com	bom	desempenho!”);	
	break;	
				case	‘C’:	
								System.out.println(“Aprovado	com	desempenho	mínimo!”);	
	break;	
				default:	
				 	System.out.println(“Reprovado.”);	
	break;	
}	
O comando switch 
Estruturas condicionais 11 
}  Oferece opções de ações de acordo com o valor da 
expressão de controle 
}  Sintaxe: 
switch	(Expressão_de_Controle)	
{	
				case	VALOR:	
								COMANDO	
	break;	
				...	
				default:	
	COMANDO	
	break;	
}	
O comando switch 
Estruturas condicionais 12 
}  Expressão de controle 
}  Determina os possíveis valores que serão testados 
}  Sempre vem delimitada com parênteses 
}  Geralmente avalia uma variável, mas pode ser expressão 
}  Deve resultar em valores int, char ou String (JVM ≥ 7) 
}  Lista de casos 
}  Dentro das chaves 
}  Cada caso é delimitado pela palavra 
chave case, seguido por uma constante 
(valor do caso) 
switch	(Expressão_de_Controle)	
{	
				case	VALOR:	
								COMANDO	
	break;	
				...	
				default:	
	COMANDO	
	break;	
}	
O comando switch 
Estruturas condicionais 13 
}  Lista de casos 
}  Quando o comando switch é executado, a expressão de 
controle é testada 
}  A lista de casos é percorrida, de cima para baixo, até que se 
encontre o valor correspondente ao teste da expressão de 
controle 
}  Ação correspondente é executada 
}  Tem que ser valores discretos 
}  Valores exatos 
}  Não pode indicar intervalos 
}  Um caso para cada valor 
switch	(Expressão_de_Controle)	
{	
				case	VALOR:	
								COMANDO	
	break;	
				...	
				default:	
	COMANDO	
	break;	
}	
O comando switch 
Estruturas condicionais 14 
}  O comando break 
}  Sempre seguido do ‘;’ 
}  Delimita as ações 
}  Se não colocado dentro de um determinado caso, as ações dos 
comandos subsequentes são executadas, até que se encontre um 
break 
}  Uma vez executado, encerra o comando switch 
switch	(Expressão_de_Controle)	
{	
				case	VALOR1:	
								COMANDO1	
				case	VALOR2:	
								COMANDO2	
	break;	
				...	
}	
Neste exemplo, 
COMANDO1 e 
COMANDO2 são 
executados 
O comando switch 
Estruturas condicionais 15 
}  O comando default 
}  É executado quando nenhum outro valor corresponde ao 
obtido na expressão de avaliação 
}  É opcional, mas recomenda-se o uso 
}  Pode, por exemplo, imprimir uma mensagem de erro se todos os 
valores possíveis foram esgotados nos outros casos 
Exemplo 
Estruturas condicionais 16 
Estruturas condicionais 17 
Estruturas condicionais 18 
Executado caso o 
valor de 
numeroDeBebes 
seja 4 ou 5 
Enumeradores 
Estruturas condicionais 19 
}  Imagine que você é um revisor de filmes e precisar 
classificar cada um como Excelente, Mediano ou Ruim 
}  No seu programa Java, por exemplo, você poderia representar 
as notas como um inteiro (3, 2 e 1) ou como um caractere (E, 
M e R) 
}  Se você criar uma variável int ou char, ela poderá assumir 
outros valores que não esses especificados 
}  Para restringir os possíveis valores, pode-se usar um 
enumerador de valores – tipo de dados enumerados 
}  Tipo de dados enum 
enum	NotaFilme	{E,	M,	R}	
Enumeradores 
Estruturas condicionais 20 
}  Tipo de dados enum 
}  Não precisam de ‘;’ ao final (embora adicionar não seja errado) 
}  Valores não são entre aspas – não são chars! 
}  São tratados como tipo classe, sendo possível declarar variáveis 
}  Só pode ser associada a valores que estão na declaração do 
enum. Qualquer outro valor gera erro 
enum	NotaFilme	{E,	M,	R}	
NotaFilme	nota;	
nota	=	NotaFilme.E;	
Enumeradores 
Estruturas condicionais 21 
}  Valores nos enumeradores não necessariamente precisam 
ser apenas letras 
enum	NotaFilme	{EXCELENTE,	MEDIANO,	RUIM}	
NotaFilme	nota;	
nota	=	NotaFilme.EXCELENTE;	
Enumeradores 
Estruturas condicionais 22 
}  Podem ser usados para auxiliar nos comandos switch 
enum	NotaFilme	{E,	M,	R};	
...	
NotaFilme	nota;	
...	
switch	(nota){	
				case	E:	
							...	
	break;	
				case	M:	
							...	
	break;	
					
				default:	
				 	...	
	break;	
}	
Estruturas condicionais 23 
Estruturas condicionais 24 
Transforma do tipo 
String para o tipo 
NotaFilmes 
Exercício 
Estruturas condicionais 25 
}  Para o cálculo do IPTU, uma determinada cidade cobra 
taxas diferentes de acordo com o tipo do imóvel. As taxas 
cobradas são as seguintes: 
}  Imóvel residencial: 100 reais o metro quadrado 
}  Imóvel rural: 80 reais o metro quadrado 
}  Imóvel industrial: 150 reais o metro quadrado 
 
Faça um programa em Java que peça ao usuário para 
informar o tipo de seu imóvel e o tamanho, em metros 
quadrados e retorne o valor a ser pago. Use um 
enumerador para o tipo do imóvel. 
Exercício II 
Estruturas condicionais 26 
}  Incremente o programa anterior para estimar taxas 
adicionais ao programa anterior, para incrementar o 
cálculo: 
}  Imóveis residenciais, se tiverem vagas de estacionamento,têm 
uma taxa de 50 reais por vaga 
}  Imóveis industriais, se tiverem vagas de estacionamento, têm 
uma taxa de 80 reais por vaga 
O usuário deve informar se há ou não vagas (somente caso 
o imóvel seja do tipo urbano ou industrial) e, caso haja, o 
número de vagas que há naquele imóvel.

Continue navegando