PROGRAMAÇÃOORIENTADAAPROGRAMAÇÃOORIENTADAA
OBJETOS-JAVAOBJETOS-JAVA
Prof. Renato Filho
SENAC
2014
VARIÁVEISETIPOSPRIMITIVOSVARIÁVEISETIPOSPRIMITIVOS
VARIÁVEISVARIÁVEIS
Servem para armazenar valores que usaremos em nosso
programa.
int idade = 28;
boolean solteiro = true;
char sexo = 'M';
double salarioMinimo = 625.00;
String nome = "Fulano"; // não é variável, e sim um o
COMODECLARARUMAVARIÁVELCOMODECLARARUMAVARIÁVEL
<tipo_da_variavel> <nome_da_variavel>;
<tipo_da_variavel> <nome_da_variavel> = <valor>;
PALAVRASRESERVADASPALAVRASRESERVADAS
abstract continues for new switch
assert default goto package synchronyzed
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while
NOMENCLATURANOMENCLATURA
Primeiro caracter: A-Z, a-z, _, &
Demais caracteres: A-Z, a-z, _, &, 0-9
Case sensitive
Boas práticas: CamelCase
TIPOSPRIMITIVOSTIPOSPRIMITIVOS
Tipos Inteiros
Tipos Ponto flutuante
Tipos Boolean
Tipos Char
TIPOSINTEIROSTIPOSINTEIROS
Nome Bytes Extensão
byte 1 -128 a 127
short 2 -32.768 a 32.767
int 3 2.147.483.648 a 2.147.483.647
long 4 -9223372036854775808 a
9223372036854775807
TIPOSINTEIROSTIPOSINTEIROS
byte idadeDeUmaPessoa = 12;
short numeroDeMunicipiosBrasileiros = 5.561;
int populacaoDeTeresina= 767.559;
long populacaoMuncial = 7.000.000.000;
TIPOSPONTOFLUTUANTETIPOSPONTOFLUTUANTE
Nome Quantidade de bits
float 32
double 64
TIPOSPONTOFLUTUANTETIPOSPONTOFLUTUANTE
float precoDoPao = 2.50f;
double precoDaCarne = 12.50;
TIPOSBOOLEANTIPOSBOOLEAN
Utilizada para armazenar valores lógicos.
Recebem os valores literais true ou false ou o retorno
de operações relacionais.
boolean solteiro = true;
boolean maiorDeIdade = (idade>18);
TIPOSCHARTIPOSCHAR
Recebe um caracter ou índice da tabela ASCII.
http://pt.wikipedia.org/wiki/ASCII
char letraA = 'a';
char pontoDeExclamacao = 33;
OPERADORESARITIMÉTICOSOPERADORESARITIMÉTICOS
Operação Operador Expressão
Soma + a+b
Subtração - a-b
Multiplicação * a*b
Divisão interia / a/b
Resto da divisão % a%b
Incremento += a+=5
Decremento -= a-=5
EARAIZQUADRADAEPOTÊNCIA?EARAIZQUADRADAEPOTÊNCIA?
Não temos operadores padrões, mas temos a classe Math.
Math.pow(numero, potencia) ;
e
Math.sqrt(numero);
OPERADORESDEAUTOOPERADORESDEAUTO
INCREMENTOINCREMENTO
Pré-fixado
Incremente primeiro, atribua depois.
++a; --a;
Pós-fixado
Atribua primeiro, incremente depois.
a++; a--;
OPERADORESRELACIONAISOPERADORESRELACIONAIS
Operação Operador Exemplo
Igual == a==b
Diferente != a!=b
Maior que > a>b
Menor que < a<b
Maior ou igual a >= a>=b
Menor ou igual a <= a<=b
OPERADORESLÓGICOSOPERADORESLÓGICOS
&& (AND/E)
A expressão só é verdade quando tudo é verdade.
(5*4==20) && (3>2) // true
true && (8/2!=4) // false
(5%2>2)&&(9*2<=18) // false
(2+2==5) && (4-3!=1) // false
OPERADORESLÓGICOOPERADORESLÓGICO
|| (OU)
É verdade quando pelo menos uma das operações é
verdade.
(5==10/2) || (4*4==16) // true
(18==9*2) || (3!=4-1) // true
(5>3*2) || ((2+2==5) && (4-3!=1)) // true
(3*2>6) || (7*5==45) // false
COMPARANDOSTRINGSCOMPARANDOSTRINGS
class ComparaString {
public static void main(String args[]){
String nome = "fulano"
System.out.println(nome == "fulano");
}
}
OPERADORESDECOMPARAÇÃOOPERADORESDECOMPARAÇÃO
String é um objeto de uma classe, não um tipo primitivo.
Jeito certo:
nome.equals("fulano")
ESTRUTURASCONDICIONAISEESTRUTURASCONDICIONAISE
LAÇOSDEREPETIÇÃOLAÇOSDEREPETIÇÃO
ESTRUTURACONDICIONAISESTRUTURACONDICIONAIS
Estruturas para controlar o fluxo da execução do código
de acordo com uma condição.
ESTRUTURASCONDICIONAISESTRUTURASCONDICIONAIS
If
int num = 4;
if (num%2==0){
System.out.println("Número par");
}
If...else
int num = 4;
if (num%2==0){
System.out.println("Número par");
} else {
System.out.println("Número ímpar");
}
ESTRUTURASCONDICIONAISESTRUTURASCONDICIONAIS
switch...case: serve para fazer uma escolha entre várias
opções.
switch (diaDaSemana) {
case 1: System.out.println("Segunda-feira"); break;
case 2: System.out.println("Terça-feira"); break;
case 3: System.out.println("Quarta-feira"); break;
case 4: System.out.println("Quinta-feira"); break;
case 5: System.out.println("Sexta-feira"); break;
case 6: System.out.println("Sábado"); break;
case 7: System.out.println("Domingo"); break;
default: System.out.println("Dia da semana inválido");
}
ESTRUTURASCONDICIONAISESTRUTURASCONDICIONAIS
break: serve para sair do escopo do switch.
default: rotina de execução padrão para a seleção, ou seja,
se o valor não correspondeu a nenhuma das expressões.
Novidade do JDK7: Switch com Strings.
LAÇOSDEREPETIÇÃOLAÇOSDEREPETIÇÃO
Gerar rotinas para ser repetir a execução de um código
um determinado número de vezes ou de acordo com
uma condição.
FORFOR
Laço baseado em um índice numérico incremental
for(int i=0;i<10;i++){
System.out.println(i);
}
FORFOR
Loop infinito.
for (int i=0;i<=10;i--){
System.out.println(i);
}
WHILEWHILE
Laço baseado em uma condição.
int i = 1;
while (i<=10) {
System.out.println(i);
i++;
}
DO..WHILEDO..WHILE
Similar ao while, mas sua estrutura garante que o laço
será executado pelo menos uma vez.
A condição é validada apenas no final da iteração no laço.
int i = 1;
do {
System.out.println(i);
i++;
} while(i<=10);
LAÇOSENCADEADOSLAÇOSENCADEADOS
É possível aninhar laços de repetição.
class Tabuada {
public static void main(String args[]) {
for (int i=0; i<=10; i++) {
for (int j=0; j<=10; j++) {
int soma = i+j;
System.out.println(i+"+"+j+"="+soma);
}
}
}
}
LET'SCODE!LET'SCODE!
1. Imprima todos os números de 150 a 300.
2. Imprima a soma de 1 até 1000.
3. Imprima todos os números pares entre 1 e 100.
4. Imprima todos os múltiplos de 3, entre 1 e 100.
5. Imprima todos os números primos entre 1 e 100.
DESAFIODESAFIO
Imprima os fatoriais de 1 a 10.
O fatorial de um número n é n * n-1 * n-2 ... até n = 1.
Lembre-se de utilizar os parênteses.
O fatorial de 0 é 1
O fatorial de 1 é (0!) * 1 = 1
O fatorial de 2 é (1!) * 2 = 2
O fatorial de 3 é (2!) * 3 = 6
O fatorial de 4 é (3!) * 4 = 24

Programacao orientada-a-objetos-java