Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira
Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou variáveis de instância Sintaxe: [modificador] tipo variavel [= valor ]; Exemplo: Classe camisa. Variáveis locais Declaradas dentro de um método Sintaxe: tipo variavel [= valor ]; Constantes: final tipo NOME_CONST[ = 0.0]; Constantes:
Tipos de Dados Primitivos Tipos inteiros: byte, short, int e long Tipos com ponto flutuante float e double Tipo texto char Tipo lógico boolean
Tipos Inteiro Tipo Tamanho Escala Exemplos byte 8 bits -128 a 127 ou 256 valores 2 ou -114 short 16 bits -32.768 a 32.767 2 ou 32.699 int 32 bits -231 a 231-1 2 ou 147.334.778 long 64 bits -236 a 236-1 2 ou -2.036.854.775.708L ou 1L
Tipos Inteiros Valores do tipo long devem ser acompanhados da letra L.. Exemplo: long v1 = 25L; Valores do Tipo Inteiro são automaticamente inicializados por 0. Tipos byte e short não são muito usados
Tipos com Ponto Flutuante float double Tipo 32 bits 64 bits Tamanho Exemplo 99F -32745699.01F 4.2E6F (4.2*10 6 ) -1111 2.1E12 99970132745699.999 Coloque a letra F do lado direito para indicar um valor do tipo float Pontos flutuante são do tipo double até que seja adicionado o F. float v2 = 25.02F;
char Tipo primitivo char: 16 bits Armazena um único caractere Use aspas simples para atribuir um valor do tipo char. Exemplo: char tamanho = M ; Obs: Para armazenar uma cadeia de caracteres use o Tipo Objeto String Obs2: Muitas linguagens de programação usam caracteres de 8bits no padrão ASCII. O tipo char em Java usa configuração de 16bits capaz de armazenar caracteres usados na maioria das línguas modernas.
Tipo primitivo boolean: Pode armazenar valores literais true ou false O O resultado de uma expressão que possa retornar true ou false
Tipos de dados mais comuns Inteiro: int Ponto Flutuante: double Outros tipos: char boolean String ( Tipo Objeto ).
Uso de variáveis Defina nome de variáveis que documentem o código Underline e Dólar são símbolos permitidos Sem cedilha, espaço ou acento Não use palavras reservadas: abstract, default, if, private, throw, assert, do, double, protected, throws, boolean, import, public, transient, etc. Nomes de variáveis: Letras minúsculas para iniciar o nome, palavras compostas com a primeira letra da segunda palavra maiúscula Use abreviações se necessário. Exemplo: char diasemana = T ;
Operadores Aritméticos Operador Exemplo + t = n1 + n2; - t = n1 - n2; * t = n1 * n2; / t = n1 / n2; Divisão inteira. % t = n1 % n2; Resto da divisão. ++ t++; Incremento -- t--; Decremento 1 Parênteses 2 Incremento e Decremento; 3 Multiplicação e divisão; 4 Adição e subtração;
Declaração e instância de objetos Declare a referência do objeto: Camisa Declare o nome do objeto Condicionado às regras de declaração de variáveis: Camisa minhacamisa Use a palavra reservada new para instanciar o objeto: Camisa minhacamisa = new Inicialize a variável de referência do objeto atribuindo o método construtor a ela: Camisa minhacamisa = new Camisa();
Exemplo: Camisa Declaração de classe e atributos variáveis: public class Camisa { public int codcamisa = 0; public String descricao = "Não Definida"; public char cor = 'V'; public double preco = 0.00; public boolean disponivel = false;
Exemplo: Camisa Criação de método simples: public void mostrarcamisa(){ System.out.println("Código: " + codcamisa); System.out.println("Descrição: " + descricao); System.out.println("Cor: " + cor); System.out.println("Preco: " + preco); if(disponivel){ System.out.println("Disponível"); else { System.out.println("Indisponível");
Exemplo: TesteCamisa Declarações de objeto minha camisa : package testes; import produtos.camisa; public class TesteCamisa { public static void main(string[] args){ int i = 10; //Declaração do objeto "minha camisa" Camisa minhacamisa; //Instância do objeto "minha camisa" minhacamisa = new Camisa();
Exemplo: TesteCamisa Declaração do objeto sua camisa : //Declaração e instância do objeto "sua camisa" Camisa suacamisa = new Camisa(); minhacamisa.codcamisa = i; //mostrar "sua camisa" System.out.println("-- Sua Camisa --"); suacamisa.mostrarcamisa(); //mostrar "minha camisa" System.out.println("-- Minha Camisa --"); minhacamisa.mostrarcamisa();
Comportamento da Memória... int i = 10; Camisa minhacamisa; minhacamisa = new Camisa(); Camisa suacamisa = new Camisa(); minhacamisa.codcamisa = i; System.out.println( -Minha- ); minhacamisa.mostracamisa(); System.out.println( -Sua- ); minhacamisa.mostracamisa();... 10 0@F12C23 0@B25X32 Pilha Stack 010 Não Definido V 0.00 false 0 Não Definido V 0.00 false Aleatória Heap
Operadores de Decisão Operador Exemplo == num1 == 1;!= num1!= 2; < num1 < 1; <= num1 <= 1; > num1 > 1; >= num1 >= 1;
Operadores de Condição Operador Exemplo && ((num1 < 1) && (num2 > 6)) ((num1 < 1) (num2 > 6))! (!(num1 < 1) )
Condição se... então... Exemplo: if(expressao){ bloco_codigo; Exemplo 2: if(expressao){ bloco_codigo1; else { bloco_codigo2;
Condição: caso... então... Exemplo: switch(variavel) { case valor_literal: bloco_codigo; [break;] case valor_literal2: bloco_codigo2; [break;] case outro_valor: bloco_codigo3; [break;] [default:] bloco_codigo; Quando usar switch... case... Testes de igualdade; Vários testes para um único valor; Testes para valores do tipo int (byte e short) ou char;
Laços while e do...while While: while(expressao){ bloco_codigo; Do... While. do { bloco_codigo; while(expressao); O O ponto e virgula é obrigatório!
For tradicional: Laço for for(inicio[, inicio2]; expressao; incremento[, incremento2]){ bloco_codigo; Exemplo: for(int i=0; i <= 5; i++) { System.out.println( Oi! );
Declaração: Método [modificador] tipo_retorno nome([argumentos]){ bloco_codigo; Metodo chamador: (calling) Chama outro método para ser executado; Método trabalhador: (worker) É É executado quando chamado.
Métodos Estáticos Acessado através do nome da classe, sem a necessidade de um objeto. Exemplo: public static String informarcor(char cor){ if(cor == 'P') { return Preto ; else if(cor == 'B') { return Branco ; else if (cor == 'V') { return Vermelho ; else { return Cor inválida! ;
Acesso ao método estático Exemplo de acesso ao método estático: System.out.println( Cor: + Camisa.informarCor('V'); Uso de variáveis e métodos estáticos: Executar a operação em um objeto individualmente ou associar uma variável a um único objeto não é importante. É É importante acessar uma variável ou um método antes de instanciar um objeto. O O método ou variável não pertence necessariamente ao objeto da classe, mas a classe em questão.
Sobrecarga de método Criação de vários métodos com o mesmo nome mas assinaturas diferentes(argumentos): Os argumentos podem ser diferentes em número ou tipo. Exemplo: public double calcpreco(double psug, float imp){ return 3 * psug * imp; public double calcpreco(double psug){ return 3 * psug; public String calcpreco(float psug){ return "R$ " + (3 * precosugerido);