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