A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação I Aula 4 (Expressões Booleanas e Expressões de Seleção) Prof. Gilberto Irajá Müller Última atualização 17/3/2009.

Apresentações semelhantes


Apresentação em tema: "Programação I Aula 4 (Expressões Booleanas e Expressões de Seleção) Prof. Gilberto Irajá Müller Última atualização 17/3/2009."— Transcrição da apresentação:

1 Programação I Aula 4 (Expressões Booleanas e Expressões de Seleção) Prof. Gilberto Irajá Müller Última atualização 17/3/2009

2 Expressões Booleanas O tipo primitivo boolean É um tipo de dados primitivo em Java que possui somente dois valores: true e false Exemplo boolean b = false; Uma expressão booleana é aquela cujo resultado é um tipo booleano (true ou false) Podemos distinguir duas formas principais: as expressões relacionais e as expressões lógicas.

3 Expressão Relacional Permite comparar dois valores através dos operadores relacionais, como, por exemplo, comparar os valores de duas expressões aritméticas. Exemplo: x > 5 será true se o valor da variável x for superior a 5 a + 7 == 0 será true somente se a variável a tiver valor -7

4 Expressão Relacional

5 Exercício 4.1 Sendo double x = 3.5; float y = 2; boolean vLog = true; qual o resultado de cada expressão relacional abaixo? x >= 0 _________________ x – 1.5 == y _________________ vLog __________________ y != 2 __________________

6 Expressão Lógica É uma expressão que utiliza operador(es) lógico(s) e dá, também, um resultado true ou false

7 Expressão Lógica Exercício 4.2 Sendo double x = 3.5; float y = 2; boolean vLog = true; qual o resultado de cada expressão relacional abaixo? !vLog _______________ x – 1.5 == y && x <= 0 ________________ x – 1.5 == y || x <= 0 ________________ vLog || x >= 0 && y != 6 _________________

8 Instruções Condicionais Instruções podem ser executadas ou não, dependendo de certa condição. Isso enriquece a lógica dos programas e pode ser feito com as instruções if, if-else e switch. Também é chamada de instrução de seleção Sintaxe do IF (observe que o primeiro não possui {}) if (condicao) comando; if (condicao) { comando; }

9 Instruções Condicionais Onde: condição é qualquer valor ou expressão booleana comando é qualquer instrução válida da linguagem Os comandos somente serão executados se a expressão de condição for verdadeira Caso o comando tenha apenas uma “linha”, então, não haverá necessidade de colocar bloco {... }

10 Instruções Condicionais Exemplo com apenas um comando if (i > 0) System.out.println(i + “ é um valor positivo”); Exemplo com mais de uma linha de comandos if (d == 5 && i <= 0) { k += 1; System.out.println(“d é 5.5 i é negativo!”); p = Math.pow(2, 3); // 2 elevado na 3 }

11 Instruções Condicionais Exercício 4.3 Escreva um método situacaoIMC() na classe Pessoa, onde este receberá um valor real e retornará o status de “Problema”, caso esse número seja maior que 30.0. Caso contrário, “Normal”.

12 Instruções Condicionais Exercício 4.4 Escreva um método aumentaSalario() para a classe Funcionário, que receberá um valor real (percentual) e um valor de bônus como parâmetros. Se o salário atual for maior que $5000.0, então, o aumento de salário não será calculado. Para salários abaixo de $1000.0, será acrescentado o bônus ao salário atual, além do acréscimo.

13 Instruções Condicionais Sintaxe do IF-ELSE (Observe que o primeiro não possui {}) if (condicao) ( comando1; else comando2; if (condicao) { comando1; } else { comando2; }

14 Instruções Condicionais Exemplo String msg = “”; if (k != 0) msg = “A variável k não é nula”; else msg = “A variável k é nula”;

15 Instruções Condicionais Exemplo if (numPrestacoes > 3) { juros = precoTabela * 0.1; precoFinal = precoTabela + juros; } else { precoFinal = precoTabela; }

16 Instruções Condicionais Exercício 4.5 Crie um método que receba dois números inteiros e retorne qual o maior número

17 Instruções Condicionais Exercício 4.6 Altere o método situacaoIMC() da classe Pessoa, onde este receberá um valor real e retornará o status de “Problema”, caso esse número seja maior que 30.0. Caso contrário, “Normal”. Utilize IF...ELSE

18 Instruções Condicionais IF...ELSE IF Exemplo if (idade < 10) faixaEtaria = “Criança”; else if (idade < 18) faixaEtaria = “Jovem”; else if (idade < 50) faixaEtaria = “Adulto”; else if (idade < 80) faixaEtaria = “Terceira idade”; else faixaEtaria = “Quarta idade”;

19 Instruções Condicionais Exercício 4.7 Altere o método situacaoIMC() e acrescente a seguinte informação: Abaixo de 18.5 (“Você está abaixo do peso ideal”) Entre 18.5 a 24.9 (“Parabéns – você está em seu peso normal”) Entre 25.0 a 29.9 (“Você está acima de seu peso sobrepeso”) Entre 30.0 a 34.9 (“Obesidade grau I”) Entre 35.0 a 39.9 (“Obesidade grau II”) A partir de 40.0 (“Obesidade grau III”)

20 Hot Topic Comparando objetos Exemplo: Pessoa p1 = new Pessoa(“João da Silva”, 1.80, 80.0, 30); Pessoa p2 = new Pessoa(“João da Silva”, 1.80, 80.0, 30); if (p1 == p2) System.out.println(“São iguais!”); else System.out.println(“Não são iguais!”); RETORNARÁ FALSE, POIS SÃO OBJETOS DIFERENTES, EMBORA COM OS MESMOS ATRIBUTOS NÃO UTILIZE == PARA VERIFICAR SE OS OBJETOS SÃO IGUAIS

21 Hot Topic Comparando objetos Consulte na bibliografia o método equals, compareTo e compare A alternativa utilizada para comparar objetos é implementar o método equals, em nosso caso, da classe Pessoa. Solicite ao professor um exemplo por e-Mail

22 Hot Topic Verificando se uma determinada variável não possui a referência ao objeto, ou seja, não foi instanciada Exemplo Pessoa p1; Pessoa p2 = new Pessoa(“João da Silva”, 1.80, 80.0, 30); if (p1 == null) Resposta: ________________ if (p2 == null) Resposta: ________________

23 Hot Topic Comparando objetos do tipo String O tipo String não é um tipo primitivo como os numéricos que vimos (int, double, byte, etc.). String é uma classe Java (Java.lang.String). Quando definimos um string, criamos um objeto do tipo String, o que pode ser feito de diversas maneiras, pois a classe String possui diversos construtores sobrecarregados. Destacamos aqui duas formas usuais: String s1 = "Blablu"; // declaração string implícita String s2 = new String ("Blablu"); // declaração string explícita Sendo objetos, não podemos comparar o conteúdo dos dois strings com o operador ==. A classe String possui vários métodos úteis. Um deles é o equals que permite comparar dois strings.

24 Hot Topic Exemplo if (s1.equals(s2)).... // dará true. if (s1.equals(“blablu”))...// dará_______porque____________________________ Para comparar dois strings ignorando a distinção entre maiúsculas e minúsculas, usa-se o método equalsIgnoreCase da classe String. Exemplo if(s1.equalsIgnoreCase(“blablu”))... //Agora sim, dará true.

25 Hot Topic Se dois strings não são iguais, um vem antes do outro no ordenamento lexicográfico (ordem do dicionário), o que pode ser descoberto com o método compareTo: string1.compareTo(string2) < 0 indica que o string1 vem antes do string2 na ordem lexicográfica. Igual a 0, significa que são exatamente iguais e, maior que 0, indica que a string1 vem depois da string2. Exemplo: if(s1.compareTo(“Bla”)<0) dará______porque ___________________________________

26 Hot Topic Constantes com nome – final Em Java, podemos dar nome a uma constante, através do modificador final É declarada como uma variável, mas deve ser inicializada obrigatoriamente na declaração, e não poderá mudar de valor durante o programa É convenção usar letras maiúsculas para nome de constantes É declarada no início da classe, juntamente com os atributos Sintaxe: final tipo nome = valor; Exemplo: final double SALARIO_MINIMO = 400.0;

27 Hot Topic Exemplo public void nivelaSalario(){ final double SALARIO_MINIMO = 350.00; if (salario < SALARIO_MINIMO) salario = SALARIO_MINIMO; } O que o método acima está fazendo?

28 Métodos Referências bibliográficas http://inf.unisinos.br/~anibal http://www.google.com.br


Carregar ppt "Programação I Aula 4 (Expressões Booleanas e Expressões de Seleção) Prof. Gilberto Irajá Müller Última atualização 17/3/2009."

Apresentações semelhantes


Anúncios Google