Sei sulla pagina 1di 41

Controle de Fluxo

if switch while do...while break continue

Controle de Fluxo - if

Teste condicional

Sintaxe: if (expressso condicional) { //bloco de comandos } else { //bloca alternativo de comandos } Exemplo: if (x >= 10) { w = 20; } else { w = 21; }

opcional

O Ministrio da Tecnologia adverte: no respeitar a identao faz mal ao cdigo.

Controle de Fluxo - switch

semelhante ao if, mas que usa valores inteiros para a tomada de decises ao invs de expresses booleanas. Exemplo:
int x = 3; switch (x) { case 1: System.out.println("x igual a 1"); break; case 2: System.out.println("x igual a 2"); break; case 3: System.out.println("x i gual a 3"); break; default: System.out.println("nenhum valor para x"); }

Sintaxe:
switch ((int) expresso) { case ((int) valor_1): //bloco de comandos break; case ((int) valor_2): //bloco de comandos break; case ((int) valor_n): //bloco de comandos break; default: break; }

Controle de Fluxo - while


utilizada para definir que um bloco de comandos deve ser executado enquanto a expresso condicional for verdadeira. Sintaxe: while (expressso condicional) { //bloco de comandos } Exemplo: while (x < 10) { x++; }

Controle de Fluxo - do...while


Muito semelhante ao while, porm o bloco de comandos executado pelo menos uma vez, e at que a condio seja falsa. Sintaxe: do { //bloco de comandos } while (expressso condicional) Exemplo: do { x++; } while (x < 10)

Controle de Fluxo - for


A declarao for utilizada para definir que um bloco de comandos deve ser executado 'n' vezes, onde 'n' um nmero inteiro. Sintaxe: for ( inicializao ; expresso condicional ; iterao ){ //bloco de comandos } Exemplo: for ( int i = 0 ; i < 10 ; i++ ){ //bloco de comandos } Existem outras formas de se utilizar o for, estaremos vendo-as em aulas posteriores.

Controle de Fluxo - break


Faz com que um lao seja interrompido. Exemplo: for (int i = 0 ; i < 10 ; i++) { if (i > 5) { break; } } Quando i atingir um valor maior que 5 o lao interrompido e a execuo do programa vai para a linha logo aps o for.

Controle de Fluxo - continue


usado para "pular" uma execuo e continuar a partir da prxima. Exemplo: for (int i = 0 ; i < 10 ; i++) { if (i == 5) { continue ; } System.out.println("valor de i :" + i); } Quando i atingir um valor igual a 5 o lao volta para o incio e a linha que imprime o valor de i no executada nessa iterao.

Mo na massa

Faa um programa que conte de 1 a 100, exibindo se o nmero par ou mpar.

public class Contador { public static void main(String[] args) { //Entre com o cdigo aqui } }

Soluo

Uma das possveis solues:

public class Contador { public static void main(String[] args) { for (int i = 1; i <= 100; i++) { if ((i % 2) == 0 ) { System.out.println("O nmero " + i + " par"); } else { System.out.println("O nmero " + i + " mpar"); } } } }

Introduo Orientao a Objetos

Entendendo o paradigma

Nosso conhecimento e relacionamento com o mundo se d atravs de objetos; Notamos sempre caractersticas que identificam esses objetos; Fazemos tambm, a hierarquizao desses objetos; O objetos se comunicam atravs de mensagens. Por exemplo:

Uma Bola

Entendendo o paradigma

Existem diversos tipos de bolas: de futebol, de basquete, de tnis, etc; Todas com suas caractersticas (estados/atributos) e funes definidas (comportamentos); Porm todas tem algumas caractersticas em comum, so redondas, por exemplo.

Entendo o paradigma

Objetos possuem estados (ou atributos) e comportamentos Estados: nome, peso, altura idade, cor, largura, etc. Comportamentos: correr, pular, andar, cair, levantar, etc. Cada tipo de bola, por exemplo, tem seus atributos e seus comportamentos, mas todas so bolas.

Por que usar OO?

Maior facilidade para reutilizao de cdigo e por conseqncia do projeto; Possibilidade do desenvolvedor trabalhar em um nvel mais elevado de abstrao; Utilizao de um nico padro conceitual durante todo o processo de criao de software; Maior facilidade de comunicao entre os usurios e os profissionais de informtica; Desenvolvimento acelerado de sistemas; Possibilidade de se construir sistema muito mais complexos, pela incorporao de funes prontas Menor custo para desenvolvimento e manuteno de sistemas.

O que um Objeto ?
uma instncia de uma classe. Podemos considerar uma classe como um gabarito, um modelo a partir do qual criamos objetos.

Tipos de Objetos

Uma bola um tipo de objeto; Uma bola de futebol uma bola, seu tipo futebol; Objetos precisam ter um tipo; A classe define o tipo do objeto.

Escopo de atributos/variveis

Ns vimos que objetos possuem atributos ou variveis Existem 3 tipos de escopo:


variveis de instncia variveis de classe variveis locais

Escopo de atributos/variveis

variveis de instncia

so declaradas dentro de uma classe, mas no dentro de um mtodo residem dentro do objeto

Exemplo:

public class Bola { int peso; }

Escopo de atributos/variveis

variveis de instncia;

so automaticamente inicializadas com esses valores:


Varivel byte short Int long float double char boolean Objeto 0 0 0 0L 0.0f 0.0d \u0000 false null Valor

Escopo de atributos/variveis

variveis de classe

so declaradas dentro de uma classe, mas no dentro de um mtodo; o valor o mesmo para todas as instncias da classe; so tambm chamadas de variveis estticas; so inicializadas antes de qualquer objeto; Para criar uma varivel esttica use a palavra reservada static. Ex.: static int numero;

boa prtica de programao: no abuse de variveis estticas

Escopo de atributos/variveis

variveis locais

so declaradas dentro de um mtodo devem ser inicializadas so temporrias, deixam de existir quando o mtodo termina

public class Veiculo { public int passarMarcha(double velocidade) { int marcha = 1; //implementao return marcha; }

Identificadores

Nomeiam: variveis, mtodos e classes; uma seqncia de smbolos UNICODE (padro universal de codificao de caracteres); Precisa comear com uma letra, caractere subscrito ( _ ) ou o caractere $; So case-sensitive, como tudo em Java;

Identificadores

Identificadores vlidos:

Peso; peso; _peso; $peso; pode_tambem_ser_um_nome_muito_grande; 1peso; %peso; p eso;

Identificadores invlidos;

Identificadores

Java possui algumas palavras reservadas, que no podem ser usadas como identificadores, so elas:

Tipos primitivos

O Java uma linguagem que necessita que todas as variveis tenham um tipo declarado (fortemente tipada); Existem 8 tipos primitivos em Java; Seis deles so numricos, um o caractere e o outro o booleano.

Tipos primitivos: inteiros

Os tipos inteiros guardam valores numricos sem parte fracionria. Valores negativos so permitidos.

Tipo byte short int long 8

Bits 1 2 4 8 16 32 64

Bytes

Faixa Minma -27 -215 -231 -263

Faixa Mxima 27-1 215-1 231-1 263-1

Tipos primitivos: ponto flutuante

Os tipos primitivos que representam valores com ponto flutuante:

Tipo float double 32 64

Bits 4 8

Bytes

Os nmero do tipo float aparecem com um sufixo F ou f. (3.04F). Se o nmero aparecer sem o F, ele considerado double.

Tipos primitivos: caractere

O tipo caractere serve para representar apenas uma letra ou nmero.

Tipo char

Tamanho 2 bytes

Faixa de Valores 0 at 65536

Tipos primitivos: booleano

O tipo booleano pode assumir apenas dois valores, true ou false; Esse tipo usado apenas para testes lgicos

Tipo boolean

Tamanho 1 bit

Faixa de Valores true ou false

Declarando variveis

Java exige que o tipo da varivel seja declarado; Voc inicia a declarao indicando o tipo da varivel e o nome desejado. int peso; boolean gol; float valor;

Exemplos;

Declarando variveis

Todas as declaraes terminam com ; possvel tambm inicializar a varivel na mesma linha; int peso = 10; boolean gol = true; float valor = 10.4f;

Exemplos

Mo na Massa

Crie uma classe pblica que instancie e inicialize 5 variveis de instncia: 1 int, 1 boolean, 1 float, 1 double e 1 char; A classe deve possuir 2 variveis estticas do tipo int; Por fim, crie 3 variveis locais do tipo double;

Converses entre tipos: casting

E se eu declarar um variavel como int e tentar colocar um double nela ?

ERRO !!!

Converses entre tipos: casting

Para resolver esse problema voc precisa fazer o casting. Dizer para o compilador que o int pode receber um double Mas como ? Assim: double valorPeso = 20.35; int peso = (int) valorPeso;

Converses entre tipos: casting

Ordem de tamanho do casting

double float long int char short byte


Casting no obrigatrio

Castin obrigatrio

Classe

Lembram do gabarito... o projeto de um objeto; Define quais sero os atributos e comportamentos (mtodos) de um objeto.

Ao projetar uma classe

Ao projetar uma classe deve-se ter em mente:

As coisas que o objeto conhece variveis de instncia As coisas que o objeto faz - mtodos

Classe

Pode ter somente uma classe pblica (public class), mas no obrigatrio que tenha; Pode ter mais de uma classe desde que somente uma seja pblica; O arquivo .java deve ter o mesmo nome da classe pblica; A primeira letra do arquivo .java deve ser maiscula (code convention).

classe pblica

Classe

mtodo main da classe pblica

public class NomeClasse { public static void main(String[] args) { System.out.println("Ateno para o Code Convention"); } }

classe no-pblica

class NaoPublica{ public static void main(String[] args){ System.out.println("Mtodo main da classe NaoPublica"); } }

mtodo main da classe no-pblica

Arquivo: NomeClasse.java

Potrebbero piacerti anche