Java3

22
Linguagens e Técnicas de Programação - JAVA José Marcos Barbosa da Silveira [email protected]

Transcript of Java3

Page 1: Java3

Linguagens e Técnicas de Programação - JAVA

José Marcos Barbosa da Silveira

[email protected]

Page 2: 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.

Page 3: Java3

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– }

Page 4: Java3

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).

Page 5: Java3

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;• }

Page 6: Java3

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());

Page 7: Java3

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");}

}

}

Page 8: Java3

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}

Page 9: Java3

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");}• }• }

Page 10: Java3

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

Page 11: Java3

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");• }• }• }

Page 12: Java3

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• }• }• }

Page 13: Java3

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>}

Page 14: Java3

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!");

}

}

Page 15: Java3

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> }

Page 16: Java3

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!");• }• }

Page 17: Java3

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)

Page 18: Java3

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!");

• }

• }

Page 19: Java3

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).

Page 20: Java3

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

Page 21: Java3

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

Page 22: Java3

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.