Prévia do material em texto
Programação Orientada a Objetos Aula 2 - Java Conceitos Iniciais Java é Case sensitive Diferencia Maiúscula de Minúscula Tudo em Java deve estar dentro de uma Classe Regras para o nome de uma Classe: Nomes devem iniciar com uma letra (Maiúscula) Depois da letra pode ter qualquer combinação de letras e números O nome do arquivo do código fonte deve ter o mesmo nome da classe Não pode utilizar uma palavra reservada do Java Conceitos Iniciais Convenções em relação ao nome de uma Classe: Deve ser um substantivo, com a primeira letra em maiúsculo Se tiver múltiplas palavras, deve ter a letra inicial maiúscula em cada uma das palavras Exemplos: PrimeiroExemplo; ClasseTeste; CarroDeMao Regras nos nomes MinhaClasse = classe ou interface meuAtributo minhaVariavel meuMetodo meu_pacote Palavras Reservadas do Java Comentários Não são compilados 1 linha usa o // 1 ou várias linhas usa o /* no início e */ no final Blocos de Comando Delimitam um conjunto de comandos Utiliza { e } Exemplo: Tipos de Dados Tipos de dados tem os dois tipos: Primitivos Definidas pela Linguagem Não precisam de construtor Podem ser: inteiro, numéricos de ponto flutuante, outros (char e boolean) Referências para objetos Tipos Primitivos Inteiros: Tipos Primitivos Numéricos de Ponto Flutuante Tipos Primitivos Outros: Unicode = é um padrão da indústria para representar dados relacionados a texto como letras, símbolos e caracteres especiais. Observações do tipo char: Usado para descrever caracteres individuais Diferente de “A” (String) Conversão entre tipos primitivos Exemplo1: Exemplo2: Exemplo3: compila normalmente Conversão entre tipos primitivos Exemplo4: Número quebrado seja arredondado e armazenado numa variável inteira. É preciso ordenar que número quebrado seja moldado (casted) como um número Inteiro. Esse processo recebe o nome de casting. Exemplo5: E se quisermos fazer realmente isso, fazemos o casting: Incompatibilidades entre números e Strings int idade = 20; String valor = idade; String valor = (String) idade; Para resolver o problema devemos usar as classes invólucros (Relacionada com algum tipo primitivo para adicionar funcionalidades aos tipos como por exemplo a conversão de tipos). String valor = Integer.toString(idade); ERRADO!!! ERRADO!!! Incompatibilidades entre números e Strings Pode ser usado para tipo float: String valor = “22”; float num = Float.parseFloat(valor); obs: parse = converter Incompatibilidades entre números e Strings String valor = “22”; int idade = valor; int idade = (int) valor; Para resolver o problema devemos usar as classes invólucros. int idade = Integer.parseInt(valor); ERRADO!!! ERRADO!!! obs: parse = converter Variáveis Servem para armazenam algum valor Cada variável tem um tipo Regras e convenções: Nomes devem iniciar com uma letra (Minúscula) ou _ Depois da letra pode ter qualquer combinação de letras, números, _ (underline) e $ (cifrão) Se tiver múltiplas palavras, deve ter a letra inicial maiúscula em cada uma das palavras, a partir da segunda (padrão “camel case”) Declaração de uma variável: tipo nomeVariavel; Exemplos de Variáveis Inicializando variáveis Depois de declarar uma variável, é necessário inicializá-la explicitamente Nunca pode utilizar valores de variáveis não inicializadas Tentem compilar o seguinte código: Inicializando variáveis Utiliza uma instrução de atribuição para inicializar a variável (=): Exemplos de Declaração Declaração de números com casas decimais float salario = 1845.45; float salario = 1845.45f; float salario = (float) 1845.45; double salario = 1845.45; ERRADO!!! Declaração dessa forma dá erro CORRETO!!! Colocar f no final do valor CORRETO!!! Usando typecast CORRETO!!! Operadores Aritméticos Operadores Lógicos Operadores Quando operandos forem de tipos diferentes em uma operação, ambos são convertidos em um tipo comum antes de a operação ser executada Regras: Se um dos operandos for double, o outro será convertido em double Caso contrário, se um for do tipo float, o outro será convertido em float Caso contrário, se um for do tipo long, o outro será convertido em long Caso contrário, ambos os operandos serão convertidos em um int Operadores Operações entre tipos diferentes: Sempre do menor ao maior. byte, short, char para int int para long int, long, float para double Precedência de Operadores Aritméticos: Da esquerda para a direita: () ++, -- *, /, % +, - Atribuição Em JAVA a atribuição é um operador – retorna um valor – pode ser usada em expressões Exemplos: x = 10; y = 20+x; a = b = c = 0; z = 4+(x=10*y)*(5+y) Atribuição “=“ “+=“ “-=“ “*=” “/=“ “%=“ Incremento e Decremento Representação: ++ -- Exemplo Saída de Dados (escrita) Atributo out da classe System Método print e println; Exemplos: System.out.print(“Teste”); // sem quebra de linha no final System.out.println(“Teste”); // com quebra de linha no final Concatenar com valores de variáveis: “+” System.out.println(“Numero: ”+n); System.out.println(“Resultado = ” + x + “metros”); Exemplo: Saída de Dados (Para escrever o conteúdo de uma variável com ponto flutuante) Exemplo: double x =10.35784; System.out.println(x); System.out.printf(“%.2f”, x); //imprime o x com 2 casas decimais System.out.printf(“%.4f\n”, x); // imprime com 4 casas e depois pula linha System.out.printf(“Salário = %.2f”, salario); Quebra de linha: \n ou %n O printf pega o padrão que o computador está usando que é o idioma português do Brasil, no qual o separador de casas decimais é a vírgula. Para considerar o separador de decimais como ponto, deve-se usar: Locale.setDefault(Locale.US); Para concatenar vários elementos em um mesmo comando de escrita Regra geral para printf: “TEXTO1 %f TEXTO2 %f TEXTO3”, variavel1, variavel2 System.out.printf(“Resultado = %.2f metros%n”, x); String nome = “Maria”; int idade = 25; double renda = 4000.0; System.out.printf(“%s tem %d anos e ganha R$ %.2f reais\n”, nome, idade, renda); % f = ponto flutuante %d ou %i = inteiro %s = texto %n ou \n = quebra de linha %c = 1 caracter Entrada de dados (leitura) Primeiro se constrói um Scanner: Scanner in = new Scanner(System.in); Utiliza vários métodos da Classe Scanner para ler a entrada: Ler uma palavra: in.next(); Ler uma linha de entrada (uma frase por exemplo): in.nextLine(); Ler um inteiro: in.nextInt(); Ler um Ponto Flutuante: in.nextDouble(); Ler um caracter in.nextLine().charAt(0); Exemplo: Obs: String é uma classe em Java. Ela guarda cadeia de caracteres, uma frase completa. Observação: Na leitura consecutiva de valores numéricos e String deve-se esvaziar o buffer do teclado antes da leitura do valor String, por exemplo: int n; String s; Scanner ler = new Scanner(System.in); System.out.printf("Informe um Número Inteiro: "); n = ler.nextInt(); ler.nextLine(); // esvazia o buffer do teclado System.out.printf("Informe uma cadeia de caracteres:\n"); s = ler.nextLine(); Em um programa você pode fechar uma única vez a variável Scanner. Se tentar usar o Scanner depois de fechá-la, vai dar erro pois o System.in não abre. Algumas funções matemáticas em Java Exercícios Beecrowd (beecrowd.com.br) Slide 1: Programação Orientada a Objetos Slide 2: Conceitos Iniciais Slide 3: Conceitos Iniciais Slide 4: Regras nos nomes Slide 5: Palavras Reservadas do Java Slide 6: Comentários Slide 7: Blocos de Comando Slide 8: Tipos de Dados Slide 9: Tipos Primitivos Slide 10: Tipos Primitivos Slide 11: Tipos Primitivos Slide 12: Conversão entre tipos primitivos Slide 13: Conversão entre tiposprimitivos Slide 14: Incompatibilidades entre números e Strings Slide 15: Incompatibilidades entre números e Strings Slide 16: Incompatibilidades entre números e Strings Slide 17: Variáveis Slide 18: Exemplos de Variáveis Slide 19: Inicializando variáveis Slide 20: Inicializando variáveis Slide 21: Exemplos de Declaração Slide 22: Operadores Aritméticos Slide 23: Operadores Lógicos Slide 24: Operadores Slide 25: Operadores Slide 26: Precedência de Operadores Aritméticos: Slide 27: Atribuição Slide 28: Atribuição Slide 29: Incremento e Decremento Slide 30: Saída de Dados (escrita) Slide 31: Exemplo: Slide 32: Saída de Dados (Para escrever o conteúdo de uma variável com ponto flutuante) Slide 33: Para concatenar vários elementos em um mesmo comando de escrita Slide 34: Entrada de dados (leitura) Slide 35: Exemplo: Slide 36: Observação: Slide 37: Algumas funções matemáticas em Java Slide 38: Exercícios