Buscar

Aula 04 - Programacao 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 27 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 27 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 27 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

JAVA 
Estruturas de Controle 
 e Repetição 
Prof. M. Sc. Edgar Gurgel 
Instruções Condicionais 
l  if e if/else 
if(expressão_de_teste) 
 comando ou bloco 1; 
else 
 comando ou bloco 2; 
 
Exemplo: 
if (a > b) 
 System.out.println("a é maior que b"); 
else 
 System.out.println("b é maior ou igual a a"); 
POO II 2 
Instruções 
Condicionais 
public class Nota{ 
 public static void main (String args[ ]){ 
 String nome="Joao", disciplina="Java"; 
 float p1=4, p2=6, p3=9, media; 
 
 System.out.println( "Nome.........: "+nome); 
 System.out.println ("Disciplina...: "+disciplina); 
 System.out.println ("P1...........: "+p1); 
 System.out.println ("P2...........: "+p2); 
 System.out.println ("P3...........: "+p3); 
 
 if (p1<p2 && p1<p3) 
 media = (p2+p3)/2; 
 else 
 if (p2<p1 && p2<p3) 
 media = (p1+p3)/2; 
 else 
 media = (p1+p2)/2; 
 System.out.println ("Media........: "+media); 
 
 if (media>=6) 
 System.out.println ("Situação...: Aprovado"); 
 else 
 System.out.println ("Situação...: Reprovado");
 
 } //Fim do método main() 
}//Fim da classe POO II 3 
Instruções Condicionais 
  Para comparar o conteúdo de uma string utiliza-
se o método equals() 
  Exemplos: 
  if (sexo.equals(“F”)) 
POO II 4 
Instruções Condicionais 
l  A seguir tem-se a sintaxe do operador condicional: 
 
Expressão booleana ? Expressão if-true : Expressão if-false 
 
l  Ao contrário dos operadores vistos até então, o operador 
condicional consiste de uma combinação de caracteres 
distribuídos, ? e :, separando três operandos - a expressão 
booleana, a expressão if-true e a expressão if-false. Desta 
forma, o operador condicional é dito ser um operador 
ternário; 
 
l  Ou a expressão if-true ou a expressão if-false é avaliada, 
mas não ambas; 
POO II 5 
Instruções Condicionais 
l  ? : 
expressão_de_teste ? expressão1 : expressão2; 
 
 Exemplo: 
 int a, b, maior; 
 a = 17 + 15; 
 b = 3 * 7; 
 maior = (a > b) ? a : b; 
POO II 6 
Instruções Condicionais 
l  O valor da seguinte expressão é a string "minuto", se a 
alteração na duração for de 1 minuto; de outra forma, o valor 
é a string "minutos": 
 
 
 Expressão 
 condicional if-true if-false 
 
alteracao == 1 ? “minuto” : "minutos" 
 
l  Você pode, se desejar, empregar parênteses para demarcar a expressão 
booleana, mas eles não são necessários neste exemplo, por que o 
operador de igualdade tem precedência maior que o operador condicional. 
POO II 7 
Instruções Condicionais 
l  Como uma expressão de operador condicional, diferentemente do 
comando if, produz um valor, pode-se colocá-lo dentro de uma outra 
expressão. No exemplo seguinte uma expressão de operador condicional 
aparece dentro de uma expressão de exibição em tela, resolvendo o 
problema de duplicação de comandos encontrado no programa anterior: 
 
public class Demonstrate{ 
 public static void main(String argv[]){ 
 int alteracao = 1; 
 System.out.println("A duração foi alterada de "); 
 System.out.print(alteracao); 
 System.out.println(alteracao == 1 ?" minuto.": " 
 minutos."); 
 }//fim main() 
} // fim da classe 
 
Resultado: 
A duração foi alterada de 1 minuto. 
POO II 8 
Exercícios 
Exercícios da Lista 3 
POO II 9 
Instruções Condicionais 
l  Switch 
l  Objetivo: Aprender a escrever programas em que se escolhe uma 
dentre várias alternativas a serem executadas, com base na 
avaliação de uma expressão que retorna um valor inteiro; 
 
l  O propósito de um comando switch é executar uma sequência 
particular de comandos de acordo com o valor de uma expressão 
que produz um inteiro. Na maioria dos comandos switch, a 
sequência de comandos correspondente a cada possível valor em 
que pode resultar a expressão que resulta em um inteiro fica 
delimitada entre uma palavra chave case de um lado e um 
comando break do outro, com um caractere de : separando o valor 
e a sequência de comandos; 
 
POO II 10 
Instruções Condicionais 
switch(expressão que é avaliada em um 
inteiro){ 
 case constante_inteira_1: 
 comandos1; 
 break; 
 case constante_inteira_2: 
 comandos2; 
 break; 
 ... 
 default: 
 comandos_default; 
} 
POO II 11 
Instruções Condicionais 
public class ExemploSwitch { 
 public static void main (String args[]) { 
 int tam; 
 String valor = "java"; 
 tam = valor.length(); 
 switch (tam) 
 { 
 case 0: System.out.println("zero"); break; 
 case 1: System.out.println("um"); break; 
 case 2: System.out.println("dois"); break; 
 case 3: System.out.println("tres"); break; 
 case 4: System.out.println("quatro"); break; 
 case 5: System.out.println("cinco"); break; 
 case 6: System.out.println("seis"); break; 
 case 7: System.out.println("sete"); break; 
 case 8: System.out.println("oito"); break; 
 case 9: System.out.println("nove"); break; 
 default : System.out.println(”Não reconhecido"); 
 } // fim switch case 
 } // fim main( ) 
} // fim classe 
 
POO II 12 
Exercícios da Lista 4 
Exercícios 
POO II 13 
Instruções de Repetição 
l  O laço for 
for(inicialização; teste; incremento) 
 comando ou bloco 
POO II 14 
Exemplo do Laço for 
public class ExemploFor { 
 public static void main (String args[ ]) 
 { 
 for (int i=10; i>0; i - -) 
 System.out.print(i + " "); 
 System.out.println(); // linha em branco 
 System.out.println("Acabou!"); 
 } // fim main( ) 
 } // fim classe 
POO II 15 
Exemplo do Laço for 
public class ExemploFor2{ 
 public static void main(String argv[]){ 
 System.out.println(metodoInt(4)); 
 } // fim main() 
 public static int metodoInt(int n){ 
 int counter, result = 1; 
 for (counter=n; counter != 0; counter = counter – 1) 
 result = 2 * result; 
 return result; 
 } // fim método 
} 
 
Resultado: 16 
--counter 
counter-- != 0; 
POO II 16 
Instruções de Repetição 
l  O laço while 
while (expressão_de_teste) 
 comando ou bloco 
i=5; 
while ( i > 0 ) 
 {i --;} 
// as chaves aqui podiam ter sido omitidas, visto 
// que só existe uma sentença. 
System.out.println("Agora i vale 0"); 
 
POO II 17 
Instruções de Repetição 
l  O laço do/while 
 
i=5; 
do 
 {i --;} // as chaves aqui podem ser omitidas visto 
while ( i > 0 ); // que só existe uma sentenca. 
 
POO II 18 
Operadores de Pré e Pós incremento 
l  Os operadores de incremento e decremento são unários 
que alteram a variável sobre a qual estão aplicados; 
l  O que eles fazem é incrementar ou decrementar, a 
variável sobre a qual estão aplicados, de 1; 
l  Então: x = x + 1 é equivalente à x++; 
l  E x = x - 1 é equivalente à x--; 
POO II 19 
Operadores de Pré e Pós incremento 
l  Estes operadores podem ser pré-fixados ou pós- fixados; 
l  A diferença é que quando são pré-fixados eles incrementam 
e retornam o valor da variável já incrementada; 
l  Quando são pós-fixados eles retornam o valor da variável 
sem o incremento e depois incrementam a variável; 
l  Então, em x=23; y=x++; 
l  teremos, no final: y=23 e x=24.l  Em x=23; y=++x; teremos no final: y = 24 e x = 24. 
POO II 20 
l  public class opIncDec1{ 
l  public static void main(String args[]) 
l  { 
l  int contador=10,numero=2,x,y,var; 
l  System.out.println("contador="+contador); 
l  System.out.println("numero="+numero); 
l  System.out.println(); 
l   
l  numero++; 
l  contador--; 
l  System.out.println("contador="+contador); 
l  System.out.println("numero="+numero); 
l  System.out.println(); 
l  
l  x=2; 
l  var=0; 
l  var=++x; 
l  System.out.println("x="+x); 
l  System.out.println("var="+var); 
l  System.out.println(); 
l  
l  y=2; 
l  var=0; 
l  var=y++; 
l  System.out.println("y="+y); 
l  System.out.println("var="+var); 
l  System.out.println(); 
l  } 
l  } POO II 21 
l  public class opIncDec2{ 
l  public static void main(String args[]) 
l  { 
l  int x,y,z; 
l  x=y=10; 
l  z=++x; 
l  System.out.println("x="+x); 
l  System.out.println("z="+z); 
l  
l  System.out.println(); 
l  
l  x=-x; 
l  System.out.println("x="+x); 
l  y++; 
l  System.out.println("y="+y); 
l  
l  System.out.println(); 
l  
l  x=x+y-(z--); 
l  System.out.println("x="+x); 
l  System.out.println("y="+y); 
l  System.out.println("z="+z); 
l  
l  System.out.println(); 
l  } 
l  } POO II 22 
Entrada de Dados 
l  Até agora, nossas aplicações apenas escreviam valores na tela 
de console. Fizemos isso usando um Stream de dados. Um 
Stream é um canal ou fluxo que conduz os bytes de um lugar 
(um arquivo ou um dispositivo) para outro. A stream de saída 
padrão (out) está na classe Java.lang.System e é aberta 
automaticamente pela máquina virtual Java, já associada ao 
dispositivo de saída padrão (display). 
l  Já a Stream de entrada padrão (in), disponível estaticamente 
através da mesma classe Java.lang.System, é de utilização 
bastante precária, na medida em que disponibiliza métodos 
apenas de acesso a bytes, de forma que, para que se leia 
valores inteiros, reais ou Strings, é necessário ir concatenando 
bytes para formar a entrada desejada. Assim, não utilizaremos 
essa forma de entrada e sim uma classe mais elaborada, 
disponível na biblioteca java.util.Scanner, que permite a 
chamada de métodos para ler diretamente Strings, números 
inteiros e números reais. 
POO II 23 
Entrada de Dados – Classe Scanner 
l  Para utilizá-la, é necessário instanciar um objeto da classe Scanner e 
chamar um método apropriado para ler cada um dos tipos básicos ou 
String de um dispositivo qualquer. Por exemplo, para ler do dispositivo 
padrão de entrada, podemos ter o seguinte código: 
 
 // cria Scanner para ler entrada na janela de comando 
 Scanner entrada = new Scanner(System.in); 
 
 // faz Scanner ler variáveis de diferentes tipos 
 palavra = entrada.next(); // lê String até <branco> 
 nome = entrada.nextLine(); // lê String até <ENTER> 
 valorI = entrada.nextInt(); // lê valor inteiro 
 valorF = entrada.nextFloat(); // lê valor float 
 valorD = entrada.nextDouble(); // lê valor double 
 valorB = entrada.nextBoolean(); // lê valor boolean 
POO II 24 
Entrada de Dados 
l  Além de ler os valores, podemos também testar se o valor é do 
tipo esperado, através de métodos que retornam valores 
lógicos. Por exemplo: 
 
 if (entrada.hasInt()) { // true, se entrada inteira 
 if (entrada.hasFloat()) { // true, se entrada float 
 if (entrada.hasDouble()) { // true, se entrada double 
 if (entrada.hasBoolean()) { // true,se entrada boolean 
POO II 25 
Exemplo 
import java.util.Scanner; //biblioteca pra entrada de dados. 
public class EntraDado{ 
 public static void main (String args[ ]) { 
 float nota1=0, nota2=0, trabalho=0, media=0; 
 Scanner sc = new Scanner(System.in); /*Declara um objeto chamado sc do tipo 
 Scanner que possibilita a entrada via teclado*/ 
 System.out.println("Entre com a nota 1: "); 
 nota1=sc.nextFloat(); //A variável nota1 recebe o conteúdo do teclado 
 
 System.out.println("Entre com a nota 2: "); 
 nota2=sc.nextFloat(); 
 
 System.out.println("Entre com a nota do Trabalho: "); 
 trabalho=sc.nextFloat(); 
 
 media=(nota1+nota2+trabalho)/3; 
 System.out.println("Media : "+ media); 
 
 }// fim main( ) 
} // fim classe 
POO II 26 
Exercícios da Lista 5 
Exercícios 
POO II 27

Outros materiais