Baixe o app para aproveitar ainda mais
Prévia do material em texto
marcelo@ifpb.edu.br Estruturas Básicas de 2 ! Visão Geral de um programa Java ! Comentários ! Tipos de Dados ! Variáveis ! Atribuições e Inicializações ! Operadores ! Estruturas de Decisão (Simples e Composta) ! Estruturas de Repetição (Determinada e Indeterminada) 3 ! Ao final desse módulo você deverá ser capaz de... – Identificar a estrutura básica de um programa Java – Inserir comentários – Declarar e inicializar as variáveis – Realizar operações (aritméticas e lógicas) 4 ! Um programa escrito em Java é composto por um conjunto de classes – Caso mais simples: um programa com apenas uma classe. +main( ) Teste +main( ) TesteAluno -nome: String +getNome( ) Aluno 5 ! Estrutura Básica [public] class NomedaClasse { [atributo 1] ... [atributo n] [método 1] ... [método n] } 6 public class HelloWorld { public static void main(String[]args) { System.out.println (“Hello world!”); } } HelloWorld.java 7 ! Observações – Todo programa Java tem pelo menos uma classe – HelloWorld é uma classe – Java é “case sensitive” • Hello ≠ hello ≠ HELLO ≠ HeLLO ≠ hELLO 8 ! O nome da classe tem que ser o mesmo do arquivo que a contem – HelloWorld.java – public class HelloWorld {... – Após a compilação teremos um arquivo chamado HelloWorld.class – Esse arquivo é chamado de bytecode. ! O método main é por onde se inicia a execução do programa 9 CLASSEA.JAVA public static void main( ) public void exibe() public double soma( ) CLASSEB.JAVA CLASSEC.JAVA public double divide( ) 1 2 3 4 5 6 7 10 ! Observações – public é um modificador de acesso: • diz quem deve acessar o quê • Pode ser atribuído a métodos e classes PACKAGE P1 public class C PACKAGE P2 class D class B X X public class A 11 ! Observações – System.out.println escreve uma mensagem na saída padrão – { e } são delimitadores de bloco. Nesse caso, o bloco é um método • métodos são blocos de comandos que equivalem a funções em C e procedimentos ou funções em Pascal ! O parâmetro args representa o conjunto de argumentos que podemos passar para o programa 12 %> java Soma 6 2 1 6 2 1 0 1 2 args public class Soma{ public static void main(String[]args) { System.out.println(args[0]); System.out.println(args[1]); System.out.println(args[2]); } } 13 ! Podemos usar três tipos em Java: – Estilo C /* Isso aqui é um comentário!!!!!!!!!!! */ – Estilo C++ // Isso aqui // é um comentário!!!!!!!! – Estilo JavaDoc /** Isso aqui é um comentário */ 14 ! Há oito tipos primitivos de variáveis: – Seis são números • quatro são inteiros • dois são reais ou ponto-flutuante – Um é caracter – Um é lógico 15 ! Inteiros – byte: 8 bits – short: 16 bits – int: 32 bits – long: 64 bits byte short int long 16 float double 17 18 ! Lógico (boolean) – É usado para testes lógicos através de operadores relacionais – Assume dois valores: • true (verdadeiro) • false (falso). 19 ! Sintaxe: tipo lista_de_variáveis; ! Exemplos: int x, y, z; float f1, f2; boolean teste; char letra, simbolo; 20 21 ! Algumas palavras reservadas – main,public, class, int, static, void, float, double, return, switch, case, for, long, double, public, private, protected, goto, abstract, boolean, break, byte, cast, do, else, extends, if, try, exception, final, package... 22 23 ! O efeito de declaramos uma variável é, simplesmente, o de alocar uma posição de memória para ela ! Se quisermos utiliza-la temos que atribuir valores, ou seja, preenchermos aquela posição alocada – declaração ≠ inicialização 24 int valor; valor = 10; int valor = 10; Declaração e inicialização separadas Declaração e inicialização juntas 25 ! O formato geral de uma atribuição é a seguinte: VARIÁVEL = EXPRESSÃO; VARIÁVEL = VARIÁVEL; VARIÁVEL = MÉTODO; 26 ! Por exemplo: { ... valor = soma; soma = soma + 1; linha = entrada.readLine(...); ... } 27 ! Implícita – ocorre quando uma operação envolve operandos de diferentes tipos mas que são compatíveis. – Regra de conversão: • Byte ➔ short ➔ int ➔ long • float ➔ double 28 ! Implícita – Por exemplo, misturar valores inteiros e de ponto flutuante: int media, num; float valor1, valor2 ; double soma, total; valor1 = media + valor2; soma = valor1 + valor2; 29 byte short int long float double 30 ! Explícita – Pode-se converter diretamente de um tipo para outro, desde que haja compatibilidade. – Por exemplo, tipos numéricos int x; double y; x = (int) y; – No entanto, está errado fazer... boolean b; x = (int) b; 31 ! Acrescenta-se a palavra reservada final antes do tipo da declaração de uma variável seguido do valor: final double PI = 3.1417; ! Por convenção, as constantes devem ser declaradas e usadas com todas as letras maiúsculas 32 ! Se quisermos que a constante seja acessada fora de um método static ela deve ser declarada fora do método e sucedida da palavra static – o uso de static tem outros efeitos que serão discutidos mais à frente no curso. public class Circulo { static final double PI = 3.1417; public static void main(String[] args){ double r = 10.0; System.out.println(area(r)); } static double area(double raio){ return PI*raio*raio; } } 33 34 35 if (exp) comando; if (exp){ comando1; ... comandon; } ! Seleção Simples if (exp) comando1 else comando2; if (exp){ bloco1; } else { bloco2; } if (exp){ bloco1 } else if (exp){ bloco2; else{ bloco2; } 36 ! Seleção Composta – A seleção simples se torna desvantajosa se tivermos muitas alternativas: switch(expressão){ case opção1 : ... break; case opção2 : ... break; ... case opção4 : ... break; [default: ...] } 37 ! Determinadas – Geralmente é usado quando sabemos a priori quantas vezes o bloco de comandos será executado • COMANDO FOR – Exemplo: Vamos imprimir a mensagem “Eu vou aprender Java!” 1000 vezes. for (int i=0; i < 1000; i++) System.out.println(“Eu vou Aprender Java!”); 38 ! Indeterminadas – Executa enquanto uma determinada condição permanecer verdadeira e essa permanência é desconhecida. • Comando WHILE e DO-WHILE while (letra <> ‘a’) || (letra <> ‘A’) { System.out.println(“Opção errada! Digite novamente”); ... } ! É realizada por meio do pacote java.io e envolve a montagem de fluxos de entrada ! Utiliza diversas classes diferentes encapsuladas umas às outras ! Por enquanto iremos simplificar… 39 Classe 1 Classe 2 Classe 3 ! Possui métodos simplificados para fazer entrada de dados. ! Está contida no pacote java.util import java.util.Scanner; 40 ! Quando for criar o objeto que irá ler os dados, deve-se direcionar para o teclado: Scanner key = new Scanner(System.in); 41 ! Alguns métodos – nextInt – nextDouble – nextFloat – next – nextLine 42 43
Compartilhar