Assunto dado em sala sobre estruturas de controle em Java. Tipos primitivos mais comuns em Java int, long -> Tipos inteiros float, double -> Tipos de números fracionários char -> Guarda caracteres alfa-numéricos String -> Sequências de caracteres alfa-numéricos boolean -> Tipo lógico (True|False) Obs: Apesar da existência do tipo float,em Java é recomendado que se use o tipo double. Declaração de variáveis: Em Pascal Em Java Var m, n:integer; int m,n; double num, media; String nome; Obs: A declaração de variáveis em Java pode ser feita em qualquer parte do código. O importante é fazer a declaração antes de usar a var. O escopo da variável ficará restrito ao bloco onde ela foi declarada, sendo que o Java entende por bloco condicionais, repetições e estruturas afins. Delimitação de bloco em Java: Ao contrário do Pascal que usa as palavras Begin e end, o Java usa os símbolos { , } Operador de atribuição Em Pascal := Em Java = Operadores aritméticos +, -, *, /, % Ex: num = valor % 2; Operadores aritméticos compostos: +=; -=; *=; /= Vejamos o seguinte exemplo: int n =10; int a = 5; n += a; => {n = n+a;} n -=3; n*=2; Operadores de incremento/decremento Vejamos o seguinte exemplo: int n = 10; int a = 20; n++; o mesmo que n = n+1; a--; o mesmo que a = a-1; Pré e pós incremento/decremento: A posição do operador de incremento/decremento vai determinar se a variável vai ter seu valor incrementado/decrementado antes ou depois de ser usada. Ex: a = n++; Considerando que antes da operação a = 20 e n = 10, após a execução desta linha a seria 10 e n seria 11. Ex2: a = ++n; Considerando que antes da operação a = 20 e n = 10, após a execução desta linha a seria 11 e n 11. a = ++n; Obs: O mesmo vale para os decrementos. Exercício de compreensão 1) Considerando os valores iniciais abaixo, dê o valor de cada variável ao final da execução de cada linha de comando: int a, b, c, d; a = 10, b = 5, c = 3, d=2; A) B) C) d += --a+b; {a=9; d = 16} d*=b++-c; {d = 4; b = 6} d = --b+a++; {b = 4; a = 11; d = 14} Instrução de escrita System.out.print(“Frase”); Equivalente ao write do Pascal System.out.println(“Frase”); Equivalente ao writeln do Pascal] Leitura em modo texto em Java Para realizar a leitura em modo texto devemos usar um objeto da classe Scanner. Para que isto seja possível devemos efetuar os seguintes passos: 1 – importar a biblioteca onde a classe Scanner está definida import java.util.Scanner; 2 – Declarar um objeto da classe Scanner Scanner leitor; 3 – Criar o objeto (chamar o construtor) leitor = new Scanner(System.in); Obs: Alternativamente pode-se fazer: Scanner leitor = new Scanner(System.in); 4 – Usar o objeto para fazer a leitura: String nome = leitor.next(); int n = leitor.nextInt(); double num = leitor.nextDouble(); Escreva um programa que leia 2 números e exiba a média. Estruturas de repetição: Estrutura de repetição controlada por teste ao início. while(teste) { ... } O bloco do teste vai continuar sendo executado enquanto o teste o teste do while for verdadeiro. Caso haja uma única instrução no bloco a utilização das chaves é opcional. Estrutura de repetição controlada por teste ao final Obs: Caso haja uma única instrução no bloco a utilização das chaves é opcional. Em Pascal repeat Em Java do { … }while (teste); until(teste); Obs: Cuidado! A construção “do...while” do Java, ao contrário do “repeat...until” do Pascal faz com que o bloco de instruções continue sendo repetidamente executado enquanto o resultado do teste for verdadeiro. Estrutura de repetição controlada por contador Em Pascal Em Java Ex: Ex: for cont := 1 to 10 do for( cont = 1;cont <11;cont++ ) begin { ... end; } Obs: o for do Java possui três seções: - Primeira: Inicialização – Coloca-se o valor inicial da variável de teste que deve ser inteira ou derivado de inteiro. - Segunda: Teste – O bloco de instruções vai ser executado enquanto o resultado do teste for verdadeiro. - Terceira: Incremento – Coloca-se o “passo” ou incremento que vai ser dado à variável de controle ao final de cada execução do bloco de instruções. Obs: Pode-se omitir qualquer uma das seções do for, ou mesmo todas. Apesar do grande risco de se entrar em loop infinito o compilador lhe permite construções como: “for( ; ; )”. Obs: Os “;” são obrigatórios. Exercícios: 1) Faça um programa em Java que leia um número inteiro. Caso ele se encontre no intervalo de 1 a 10 exiba a tabuada de multiplicar deste número. Caso contrário exiba uma mensagem de erro.