programacao orientada-a-objetos-java

34
PROGRAMAÇÃO ORIENTADA A PROGRAMAÇÃO ORIENTADA A OBJETOS -JAVA OBJETOS -JAVA Prof. Renato Filho SENAC 2014

Upload: renato-sousa

Post on 21-Jul-2015

112 views

Category:

Documents


0 download

TRANSCRIPT

PROGRAMAÇÃO ORIENTADA APROGRAMAÇÃO ORIENTADA AOBJETOS -JAVAOBJETOS -JAVA

Prof. Renato Filho SENAC2014

VARIÁVEIS E TIPOS PRIMITIVOSVARIÁVEIS E TIPOS PRIMITIVOS

VARIÁVEISVARIÁVEISServem para armazenar valores que usaremos em nossoprograma.int idade = 28;boolean solteiro = true;char sexo = 'M';double salarioMinimo = 625.00;

String nome = "Fulano"; // não é variável, e sim um objeto.

COMO DECLARAR UMA VARIÁVELCOMO DECLARAR UMA VARIÁVEL

<tipo_da_variavel> <nome_da_variavel>;

<tipo_da_variavel> <nome_da_variavel> = <valor>;

PALAVRAS RESERVADASPALAVRAS RESERVADASabstract 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-9Case sensitiveBoas práticas: CamelCase

TIPOS PRIMITIVOSTIPOS PRIMITIVOS

Tipos InteirosTipos Ponto flutuanteTipos BooleanTipos Char

TIPOS INTEIROSTIPOS INTEIROS

Nome Bytes Extensãobyte 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 a9223372036854775807

TIPOS INTEIROSTIPOS INTEIROS

byte idadeDeUmaPessoa = 12; short numeroDeMunicipiosBrasileiros = 5.561; int populacaoDeTeresina= 767.559; long populacaoMuncial = 7.000.000.000;

TIPOS PONTO FLUTUANTETIPOS PONTO FLUTUANTE

Nome Quantidade de bitsfloat 32double 64

TIPOS PONTO FLUTUANTETIPOS PONTO FLUTUANTE

float precoDoPao = 2.50f; double precoDaCarne = 12.50;

TIPOS BOOLEANTIPOS BOOLEAN

Utilizada para armazenar valores lógicos. Recebem os valores literais true ou false ou o retornode operações relacionais.

boolean solteiro = true; boolean maiorDeIdade = (idade>18);

TIPOS CHARTIPOS CHAR

Recebe um caracter ou índice da tabela ASCII.

http://pt.wikipedia.org/wiki/ASCII

char letraA = 'a'; char pontoDeExclamacao = 33;

OPERADORES ARITIMÉTICOSOPERADORES ARITIMÉTICOSOperação Operador ExpressãoSoma + a+bSubtração - a-bMultiplicação * a*bDivisão interia / a/bResto da divisão % a%bIncremento += a+=5Decremento -= a-=5

E A RAIZ QUADRADA E POTÊNCIA?E A RAIZ QUADRADA E POTÊNCIA?

Não temos operadores padrões, mas temos a classe Math.

Math.pow(numero, potencia) ;e

Math.sqrt(numero);

OPERADORES DE AUTOOPERADORES DE AUTOINCREMENTOINCREMENTO

Pré-fixado

Incremente primeiro, atribua depois.++a; --a;

Pós-fixado

Atribua primeiro, incremente depois.a++; a--;

OPERADORES RELACIONAISOPERADORES RELACIONAISOperação Operador ExemploIgual == a==bDiferente != a!=bMaior que > a>bMenor que < a<bMaior ou igual a >= a>=bMenor ou igual a <= a<=b

OPERADORES LÓGICOSOPERADORES LÓGICOS&& (AND/E)

A expressão só é verdade quando tudo é verdade.

(5*4==20) && (3>2) // truetrue && (8/2!=4) // false(5%2>2)&&(9*2<=18) // false(2+2==5) && (4-3!=1) // false

OPERADORES LÓGICOOPERADORES LÓ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

COMPARANDO STRINGSCOMPARANDO STRINGS

class ComparaString { public static void main(String args[]){ String nome = "fulano" System.out.println(nome == "fulano"); }}

OPERADORES DE COMPARAÇÃOOPERADORES DE COMPARAÇÃO

String é um objeto de uma classe, não um tipo primitivo.

Jeito certo:

nome.equals("fulano")

ESTRUTURAS CONDICIONAIS EESTRUTURAS CONDICIONAIS ELAÇOS DE REPETIÇÃOLAÇOS DE REPETIÇÃO

ESTRUTURA CONDICIONAISESTRUTURA CONDICIONAIS

Estruturas para controlar o fluxo da execução do códigode acordo com uma condição.

ESTRUTURAS CONDICIONAISESTRUTURAS CONDICIONAISIf

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");

}

ESTRUTURAS CONDICIONAISESTRUTURAS CONDICIONAIS

switch...case: serve para fazer uma escolha entre váriasopçõ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");

}

ESTRUTURAS CONDICIONAISESTRUTURAS CONDICIONAIS

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ÇOS DE REPETIÇÃOLAÇOS DE REPETIÇÃO

Gerar rotinas para ser repetir a execução de um códigoum determinado número de vezes ou de acordo comuma 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); }

WHILEWHILELaço baseado em uma condição.

int i = 1; while (i<=10) { System.out.println(i); i++; }

DO..WHILEDO..WHILESimilar ao while, mas sua estrutura garante que o laçoserá 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ÇOS ENCADEADOSLAÇOS ENCADEADOS

É 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'S CODE!LET'S CODE!

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.

DESAFIODESAFIOImprima 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 é 1O fatorial de 1 é (0!) * 1 = 1O fatorial de 2 é (1!) * 2 = 2O fatorial de 3 é (2!) * 3 = 6

O fatorial de 4 é (3!) * 4 = 24