Java3
-
Upload
robson-silva-espig -
Category
Technology
-
view
4.932 -
download
1
Transcript of Java3
Comandos Condicionais e Estruturas de Controle em
Java• Objetivos deste capítulo
– Fornecer conhecimentos suficientes para que o aluno possa utilizar corretamente as estruturas condicionais;
– Demonstrar a utilização das estruturas de repetição;
– Entender as diferenças entre as estruturas de repetição.
Comandos Condicionais• Os Comandos condicionais possibilitam que a execução do programa
seja desviada de acordo com certas condições.• Os comandos condicionais em Java são:
– if-else e switch-case
• Uso da Estrutura if-else• A sintaxe básica para o if, else é a seguinte :
– if ( expressão booleana) {– // comando ou bloco de comandos– } else {– // comando ou bloco de comandos– }
Comandos Condicionais (cont.)• Exemplo:
• media=(n1+n2)/2;
• if(media>=7)
• System.out.println("Aluno Aprovado");
• else
• System.out.println("Aluno Reprovado");
• Obs: 1) Todo o segmento else é opcional e poderá ser omitido caso não seja necessário;
• 2) Para realizar várias comparações em um mesmo if, podem ser utilizados os operadores lógicos nas seguintes formas: if( x>y && x>7), if(x>y || x>z || x>k).
Comandos Condicionais (cont.)• A Estrutura switch-case
• A sintaxe do comando switch é a seguinte :• switch( expr1 ) {• case constante1 :• comandos;• break;• case constante2 :• comandos;• break;• default :• comandos;• break;• }
Comandos Condicionais (cont.)• Exemplo de switch:import java.io.*;
class prog03{
public static void main(String args[]){
int cor;
DataInputStream dado;
try{
System.out.println("1 - Azul ");
System.out.println("2 - Verde ");
System.out.println("3 - Vermelho ");
System.out.println("Digite o valor de uma cor: ");
dado=new DataInputStream(System.in);
cor=Integer.parseInt(dado.readLine());
•
Comandos Condicionais (cont.)• Exemplo de switch:
switch(cor){case 1:System.out.println("Blue");break;case 2:System.out.println("Green");break;case 3:System.out.println("Red");break;default:System.out.println("A cor não foi escolhida");break;
}}
catch(IOException e) {System.out.println("Erro na entrada de dados");} catch(NumberFormatException e) {System.out.println("Erro na conversão");}
}
}
Exceções em Java• As exceções em Java referem-se aos erros que podem ser gerados
durante a execução de um programa. Esses erros devem ser tratados. A linguagem Java possibilita a realização desse controle por meio da estrutura try-catch-finally e da cláusula throws.
• Uso da Estrutura try catch• A estrutura try-catch possui a seguinte sintaxe:
try{
<conjunto de instruções>}catch(Nome da exceção)
{Tratamento de erro 1}catch(Nome da exceção)
{Tratamento de erro 2}
Exceções em JavaExemplo:• class Excecao{• public static void main(String args[])• {• try• {• int num1=Integer.parseInt(args[0]);• int num2=Integer.parseInt(args[1]);• System.out.println("Soma= "+ (num1+num2));• System.out.println("Subtracao= "+ (num1-num2));• System.out.println("Multiplicacao= "+ (num1*num2));• System.out.println("Divisao= "+ (num1/num2));• }• catch(ArithmeticException e)• {System.out.println("Erro de divisão por zero!");}• catch(ArrayIndexOutOfBoundsException e)• {System.out.println("Numero de argumentos invalidos");}• catch(NumberFormatException e)• {System.out.println("Digite apenas numeros inteiros");}• }• }
Exceções em JavaUso do bloco finally:
O bloco finally faz parte da estrutura try catch, sendo inserido geralmente após o último catch. O finally é opcional e fornece um conjunto de códigos que é sempre executado, independente de uma exceção ocorrer ou não.
Obs: O bloco finally é muito utilizado para liberar recursos. Veremos mais detalhes quando abordamos arquivos.
try
erros catch
finally
sim
não
Exceções em JavaUso da instrução throw:
A instrução throw é utilizada para disparar uma exceção, isto é, ela pode forçar que uma exceção ocorra.Exemplo:
• class ExcecaoThrow{• public static void main(String args[])• {• try• {• System.out.println("Teste da instrucao THROW");• throw new Exception("MinhaExcecao");• }• catch(Exception MinhaExcecao)• {• System.out.println("Excecao lenvantada");• }• }• }
Exceções em JavaUso do getMessage e printStackTrace
Em determinadas aplicações torna-se necessário descobrir qual o tipo de erro ocorrido e em que linha do programa ele ocorreu. Para reconhecer esses erros, são utilizados dois métodos: getMessage e printStackTrace.
Exemplo:• class ExcecaoMetodos{• public static void main(String args[])• {• int x=10,y=0,z=0;• try• {• z=x/y;• }• catch(Exception e)• {• System.out.println(e.getMessage());// mostra a mensagem de erro• e.printStackTrace(); // mostra a excecao e a linha onde ocorreu o erro• }• }• }
Laços de Repetição
Uso do Laço forSintaxe: for(inicialização;condição;incremento ou decremento)Inicialização: é o valor inicial da variável de controle do laço;Condição: é o teste da variável de controle;Incremento ou Decremento: é o passo em que a variável de controle é
incrementada ou decrementada.Exemplo:
for(int x=0;x<10;x++){ <conjunto de instruções>}
Laços de Repetição (cont.)
Exemplo:
class Exmplo1{
public static void main(String args[]){
for(int i=10;i>0; i--)
{
System.out.print(i + " ");
}
System.out.println("Acabou!");
}
}
Laços de Repetição (cont.)
Uso do Laço whileSintaxe:
while(condição)
{
<conjunto de instruções>
}
Exemplo:int i=0;while(x<10) {
<conjunto de instruções> }
Laços de Repetição (cont.)
Exercício:• class Exmplo1{
• public static void main(String args[]){
• int i=10;
• while(i>0)
• {
• System.out.print(i + " ");
• i--;
• }• System.out.println("Acabou!");• }• }
Laços de Repetição (cont.)
Uso do Laço do...whileSintaxe:
do
{
<conjunto de instruções>
}
while(condição)
Exemplo:int i=0;do {
<conjunto de instruções> } while(x<10)
Laços de Repetição (cont.)
Exercício:• class Exmplo1{
• public static void main(String args[]){
• int i=10;
• do
• {
• System.out.print(i + " ");
• i--;
• }
• while(i>0);
• System.out.println("Acabou!");
• }
• }
Exercícios
• 1) Crie um programa que receba pelo teclado (use BufferedReader) o valor de um produto e um código de aumento, segundo a tabela a seguir:
Código % aumento
1 15
2 20
3 25
4 35
8 40
Utilizando a estrutura switch-case, mostre na tela o novo valor do produto depois de acrescida a porcentagem correspondente. Realize também o controle dos possíveis erros que podem ocorrer durante a execução do programa.
• 2) Faça um aplicativo que receba três números inteiros na linha de comando e mostre o maior dentre eles (utilize args.length para verificar se todos os números foram fornecidos).
Exercícios (cont.)
• 3) Faça um programa que apresente o total da soma dos cem primeiros números inteiros.
• 4) Faça um aplicativo que calcule o produto dos inteiros ímpares de 1 a 15 e exiba o resultado na tela.
• 5) Crie um programa que receba dois números como argumento e realize a contagem do primeiro até o segundo número, com passo um.
• 6) 1) Faça um programa em JAVA que leia dois números, divida o maior pelo menor e forneça o quociente e o resto da divisão. Se o resto for igual a zero, imprima a mensagem "Múltiplos entre si";
• 7) Faça um programa em JAVA que leia um número e informe se ele é positivo, negativo ou igual a zero;
• 8) Escreva um programa JAVA que leia o código de determinado produto e mostre sua classificação. Utilize seguinte tabela como referência.
• 1 Alimento não-perecível• 2 Alimento perecível• 3 Vestuário• 4 Higiene pessoal
Exercícios (cont.)
• 9) Faça um programa em JAVA que leia 4 (quatro) números inteiros, determine o maior e o menor deles;
• 10) Faça um programa em JAVA que apresente a série de Fibonacci até o décimo quinto termo;
• 6) Faça um programa em JAVA que leia um número natural e calcule o seu fatorial;
• 11) Calcular e mostrar o MDC entre 2 (dois) números naturais lidos;• 12) Faça um programa em JAVA, utilizando o comando de repetição while, que leia
n valores inteiros do teclado e ao final do programa imprima a somatória destes números, o laço deverá ser finalizado quando um número negativo for digitado.
• 13) Faça um programa em JAVA que leia o nome da disciplina, o nome do aluno e as quatro notas bimestrais, calcule a média e atribua um conceito de acordo com a tabela abaixo:
• MÉDIA CONCEITO• média < 5,0 INSUFICIENTE• 5,0<= média <7,0 REGULAR• 7,0<=média<8,0 BOM• 8,0<=média<9,0 MUITO BOM• média=>9,0 EXCELENTE
Bibliografia
- FURGERI, Sérgio. Java 2: Ensino didático: Desenvolvendo e Implementando Aplicações –
- São Paulo: Érica, 372p. 2002. - TAMASSIA, R.; GOODRICH, M.T. Estrutura
de Dados e Algoritmos em Java. Bookman, 2002.
- DEITEL,H.M.; DEITEL, P.J. Java: Como Programar, Bookman, 2002.