INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br 02/04/2018
Estruturas de Controle: Parte 1 Sumário 4.1 Introdução 4.2 Algoritmos 4.3 Pseudocódigo 4.4 Estruturas de controle 4.5 A estrutura de controle condicional if 4.6 A estrutura de controle condicional if/else 4.6 A estrutura de controle condicional switch 2
Estruturas de Controle Execução Sequencial Execução de declaração de programas um atrás do outro Transferência de controle Três declarações de controle podem especificar a ordem das declarações Estrutura sequencial Estrutura de seleção Estrutura de repetição 3
Linhas de fluxo Símbolos de ação adiciona grade ao total total = total + grade; Adiciona 1 ao contador counter = counter + 1; Símbolo de conexão Fig 4.1 Fluxograma de sequência de código Java. 4
Palavras-chave do Java abstract boolean break byte case catch char class continue default do double else extends false final finally float for if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws transient true try void volatile while Palavras-chave reservadas, mas não utilizados pelo Java const goto 5
Estrutura de seleção Java prove três tipos de seleção if if/else switch Java prove três tipos de repetição while do/while do 6
Estrutura de seleção if/else Símbolo de decisão grade >= 60 true print Passed false 7
Estrutura de seleção if/else false grade >= 60 true print Failed print Passed 8
Estrutura de seleção if/else Executa apenas se a condição for true Executa o else se a condição for false Operador condicional (?:) Exemplo // A variável opcao foi escolhida pelo usuário String stropcao = (opcao == 1? Correto : Incorreto ); // A variável stropcao recebe o valor Correto se opcao // for igual a 1, e Incorreto se for diferente de 1 9
Exemplos de Estrutura if Estabelece uma condição para que o bloco de instruções seja executado Exemplos if(soma % 2 == 0){ resposta = Soma é par ; } if(soma % 2 == 0){ resposta = Soma é par ; }else{ resposta = Soma é ímpar ; }
Exemplos de Estrutura if Exemplos if(opcao == 1){ stroperacao = Soma ; }else if(opção == 2){ stroperacao = Subtração ; }else if(opção == 3){ stroperacao = Multiplicação ; }else if(opção == 4){ stroperacao = Divisão ; }else{ stroperacao = Operação Inválida ; }
Exemplos de Estrutura if Lembre-se sempre, o { e o } iniciam um bloco de comandos. Um bloco de comandos é uma sequencia de tarefas que devem ser realizadas e que são delimitadas pelos {... } 12
Exemplos de Estrutura if Sabendo da estrutura if e da definição do bloco de comandos, podemos aninhar ifs Exemplo if(condicao1){ }else{ } //comandos1; if(condicao2){ } //comandos3; if(condicao3){ }else{ } //comandos2; //comandos4 //comandos5; Blocos de comandos Blocos aninhados 13
Instruções Condicional Escolha Caso T break F T break F F T break switch structure (multiple selection) 14
Instruções Condicional Escolha Caso Exemplos switch(opcao){ case 1: stroperacao = Soma ; break; case 2: stroperacao = Subtração ; break; case 3: stroperacao = Multiplicação ; break; case 4: stroperacao = Divisão ; break; default: stroperacao = Operação Inválida ; }
EXERCÍCIOS 16
Operadores de atribuição Operadores de atribuição Qualquer declaração na forma variavel = variavel operacao expressão; Pode ser escrita como variavel operacao = expressão; Exemplo da operação += c = c + 3 Pode ser escrita como c += 3 17
Operadores de atribuição Operador de atribuição Expressão de exemplo Explicação += c += 7 c = c + 7 -= d -= 4 d = d - 4 *= e *= 5 e = e * 5 /= f /= 3 f = f / 3 %= g %= 9 g = g % 9 18
Operadores de Incremento e Decremento Operador Unário de incremento (++) Incrementa a variável em 1 Operador Unário de decremento (--) Decrementa a variável em 1 19
Operadores de Incremento e Decremento Operador Chamada ++ Preincement o ++ Posincremen a++ to -- Predecreme --b nto -- Posdecreme nto Exemplo de expressão ++a b-- Explicação Incrementa em 1 o valor de a, e depois esse valor é usado na próxima expressão. Usa o valor de a na expressão, e depois incrementa a em 1. Decrementa em 1 o valor de b, e depois esse valor é usado na próxima expressão. Usa o valor de b na expressão, e depois decrementa b em 1. 20
Exemplos 1 // Fig. 4.14: Increment.java 2 // Preincrementing and postincrementing 3 4 public class Increment { 5 6 // main method begins execution of Java application 7 public static void main( String args[] ) 8 { 9 int c; 10 11 c = 5; 12 System.out.println( c ); // print 5 13 System.out.println( c++ ); // print 5 then postincrement 14 System.out.println( c ); // print 6 15 16 System.out.println(); // skip a line 17 18 c = 5; 19 System.out.println( c ); // print 5 20 System.out.println( ++c ); // preincrement then print 6 21 System.out.println( c ); // print 6 22 23 } // end method main 24 25 } // end class Increment 21
Tipos primitivos de dados Java é fortemente tipado Todas as variáveis em Java devem ter um tipo Java primitive types portable across computer platforms that support Java 22
Tipos primitivos de dados Tipo Tamanho de bits Valores boolean 8 true or false char 16 \u0000 to \uffff (0 to 65535) byte 8 128 to +127 ( 2 7 to 2 7 1) short 16 32,768 to +32,767 ( 2 15 to 2 15 1) int 32 2,147,483,648 to +2,147,483,647 ( 2 31 to 2 31 1) long 64 9,223,372,036,854,775,808 to +9,223,372,036,854,775,807 ( 2 63 to 2 63 1) float 32 Negative range: 3.4028234663852886E+38 to 1.40129846432481707e 45 Positive range: 1.40129846432481707e 45 to 3.4028234663852886E+38 double 64 Negative range: 1.7976931348623157E+308 to 4.94065645841246544e 324 Positive range: 4.94065645841246544e 324 to 1.7976931348623157E+308 23