PROGRAMAÇÃO I - Aula 2 ANÁLISE E DESENVOLVIMENTO DE SISTEMAS – PROF. MSC. EDUARDO RAIOL
[email protected] 980315615 (WhatsApp)
Estrutura do conteúdo • Entrada de dados via console (classe Scanner); • Uso do método printf com formatação de casas decimais; • Comando de decisão: switch … case. Comando break; • Estrutura de repetição: for, while e do … while. Uso de break e continue em loops; e • Conversão de tipos.
[email protected]
Classe Scanner • É usada para realizar a entrada de dados; • Pertence ao pacote java.util; • Por não estar definido em uma biblioteca padrão, para usar a classe Scanner, precisamos informar onde essa classe se encontra, isso é feito através do comando: import java.util.Scanner;
[email protected]
Classe Scanner • Existem vários métodos na classe Scanner para fazer a entrada de dados: - nextInt() : ler dados do tipo int; - nextDouble() : ler dados do tipo double; - nextLong() : ler dados do tipo long; - nextLine() : ler dados do tipo string;
[email protected]
Classe Scanner import java.util.Scanner; public class Leitura { public static void main(String [] args) { int idade;
Scanner teclado = new Scanner(System.in); System.out.println("Qual a sua idade ? "); idade = teclado.nextInt(); System.out.println("Idade = " + idade); } // fim do metodo main } // fim da classe
[email protected]
Método PRINTF • Método printf: Permite trabalhar, especificando o formato de impressão; Usa-se %f para ponto flutuante, %s para string, %d para inteiros; Ex.: Mostrar o valor da variável media, previamente definida, com duas casas decimais. System.out.printf(“Média = %.2f”,media);
[email protected]
Estrutura de decisão • Comando condicional simples if e composto if … else: Comando de seleção condicional, que permite analisar uma expressão lógica e desviar o fluxo de execução. if(expressao_logica) comando1; else comando2;
If(expressao_logica) Comando;
Obs: se houver mais de um comando dentro de cada condição, estes deverão ser declarados entre chaves { comandos ; }
if(expressao_logica1) Comando1; else if(expressao_logica2) Comando2; else Comando3;
[email protected]
Estrutura de decisão • Comando switch É um comando de seleção semelhante ao if-else. Entretanto, ele é mais recomendado quando temos muitos caminhos possíveis a partir de uma única condição, em testes de igualdade. A expressão do switch tem que ser, obrigatoriamente, do tipo caracter ou inteiro
[email protected]
Estrutura de decisão • Comando switch Switch(expressão) { case opção 1: … case opção 2: … case opção 3: … default: … }
[email protected]
Estrutura de decisão • Comando switch Switch(expressão) { case opção 1: … case opção 2: … case opção 3: … default: … }
• Obs1: Quando o switch encontra uma opção igual ao valor da expressão, ele executa todos os comandos daí em diante, até encontrar o comando break. • Obs2: O case pode ter um comando vazio. • Obs3: O default é alcançado quando nenhum case é satisfeito.
[email protected]
Estrutura de decisão • Ex.: Switch(caracter) { case 'a': case 'e': case 'i': case ‘o’: case ‘u’: System.out.println(“É uma vogal”); break; case ‘x’: System.out.println(“Letra X”); }
default: System.out.println(“Letra inválida”);
[email protected]
Tipos de dados
[email protected]
Conversão de tipos Se uma expressão com valor mais significativo for atribuída a uma variável do tipo menos significativo, poderá haver perda de dados (truncagem). Nesse caso, o java acusa um erro de compilação.
A perda se dá na seguinte ordem: Double —> float —> long —> int —> short —> byte
[email protected]
Estruturas de repetição while: Avalia uma expressão lógica e executa um bloco de comando enquanto ela for verdadeira. O bloco é executado ZERO (teste no início) ou mais vezes. Sintaxe: while(expressao_logica) { Comando ou bloco_de_comandos; }
[email protected]
Estruturas de repetição do .. while: Avalia uma expressão lógica e executa um bloco de comando enquanto ela for verdadeira. O bloco é executado UMA (teste no final) ou mais vezes. Sintaxe: do { Comando ou bloco_de_comandos; } while(expressao_logica);
[email protected]
Estruturas de repetição for: Executa um bloco de comandos enquanto uma expressão booleana for verdadeira. Sintaxe: for(expr_inicializacao; expressao_logica; expr_incremento) { Comando ou bloco_de_comandos; }
[email protected]
Estruturas de repetição for: Execução do FOR se dá da seguinte forma: 1. Executa a expressão de inicialização; 2. Testa a expressão lógica. Se for FALSA termina o for; 3. Executa o bloco de comandos; 4. Executa a expressão de incremento; 5. Volta para o passo 2.
[email protected]
Comandos de interrupção em loops break: O comando break força a saída do loop mais interno de um comando de repetição (while, do..while ou for) continue: O comando continue força o início da próxima interação do loop mais interno de um comando de repetição (while, do..while ou for). Como o nome diz, ele “continua” laço. O comando break interrompe o laço, já o continue interrompe somente a iteração atual.
[email protected]
Comandos de interrupção em loops Ex.: break public class Teste { public static void main(String[] args) { long i = System.nanoTime(); for(int count=1 ; count