A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estrutura de Controle em JAVA

Apresentações semelhantes


Apresentação em tema: "Estrutura de Controle em JAVA"— Transcrição da apresentação:

1 Estrutura de Controle em JAVA
Prof. Hugo Sampaio São Luís, MA

2 Estrutura de um programa em JAVA
Import java.io.*; class MinhaClasse { public static void main (String arg[]) System.out.println("Ola turma"); } Onde : import java.io.*; - Inclusão de classes MinhaClasse – Nome da classe System.out - Objeto de saída padrão public static void main (String arg[])– Função main

3 Estrutura de um programa em JAVA
Apenas a classe de inicio (start) do programa deve ter função main. Observe que a função main recebe um array do tipo String. Em JAVA temo uma classe que define o tipo String, logo a variável do tipo string é uma instância desta classe.

4 Tipos de Variáveis (primitivos)
Tamanho Descrição boolean booleano char 16 bits caracter byte 08 bits int 32 bits Inteiro long 64 bits longo float double void

5 Tipos de Variáveis (primitivos)
class MinhaClasse { public static void main (String arg[]) int i = 5; char c = 'a'; float f = 2; double d = ; boolean b = false; System.out.println(i); System.out.println(c); System.out.println(f); System.out.println(d); System.out.println(b); }

6 Tipos de Variáveis (Objetos)
Para criar uma variável do tipo String ou Integer devemos criar um objeto. A palavra reservada “new” deve ser utilzada para criar o objeto. Ex. : String nome = new String(); Obs.: regra geral para criação de objetos;

7 Saída de dados Adotaremos como saída padrão dois métodos :
Saída na tela do sistema : Objeto : System.out Ex. : Para imprimir uma mensagem ou valor System.out.println(“MSG”); System.out.println(valor);

8 Exemplo de saída import javax.swing.*; class MinhaClasse {
public static void main (String arg[]) String nome = new String(); nome = "Hugo Sampaio"; System.out.println("Ola!, " + nome); }

9 Saída de dados Saída em uma janela dialogo de mensagem :
Objeto : JOptionPane.showMessageDialog() Ex. : Para imprimir uma mensagem ou valor JOptionPane.showMessageDialog( null, “MSG” “TITULO” <ICONE> );

10 Exemplo de saída import javax.swing.*; class MinhaClasse {
public static void main (String arg[]) String nome = new String(); nome = "Hugo Sampaio"; JOptionPane.showMessageDialog( null, "Ola! " + nome, "Minhas mensagens", JOptionPane.INFORMATION_MESSAGE }

11 JOptionPane.INFORMATION_MESSAGE JOptionPane.ERROR_MESSAGE
JOptionPane.INCANCEL_OPTION

12 Entrada de dados Como entrada padrão temos :
Entrada direto na tela do sistema : Objeto : System.in junto com o DataInputStream Ex. : Para ler do teclado um valor DataInputStream str = new DataInputStream(System.in); x = str.readLine(); // sempre uma string

13 Exemplo de entrada import javax.swing.*; import java.io.*;
class MinhaClasse { public static void main (String arg[]) String x = new String(); DataInputStream teclado = new DataInputStream(System.in); try{ x = teclado.readLine(); }catch(Exception ex){} System.out.println(“Palavra : " + x); }

14 Outro Exemplo de entrada
import javax.swing.*; import java.io.*; class MinhaClasse { public static void main (String arg[]) String x = new String(); String y = new String(); DataInputStream teclado = new DataInputStream(System.in); try{ x = teclado.readLine(); y = teclado.readLine(); }catch(Exception ex){} System.out.println(“Frase : " + x + " " + y); }

15 Entrada de dados Entrada por uma janela dialogo de mensagem :
Objeto : JOptionPane.showInputDialog Ex.: int x; x = JOptionPane.showInputDialog ("Entre com o seu nome :");

16 Exemplo de entrada import javax.swing.*; class MinhaClasse {
public static void main (String arg[]) String nome = new String(); nome = JOptionPane.showInputDialog ("Entre com o seu nome :"); System.out.println("Ola!, " + nome); }

17 Exercício Crie um programa em JAVA que imprime na tela do sistema o seu nome. Crie um programa em JAVA que ler dois número do teclado e imprime na tela a soma entre eles. Utilize a tela do sistema para ler os dados e uma tela de dialogo para mostrar o valor.

18 Operadores De atribuição : =
De matemáticos : + , - , *, / , % (modulo) De incremento : ++ , -- , += , -= , /= , *= , %= Lógicos : && , || , ! Relacionais : > , < , >= , <= , ==

19 Estrutura de seleção IF, (única) if(x>=10)
System.out.println(“OK”); IF ... ELSE; (dupla) System.out.println(“verdade”); else System.out.println(“falso”);

20 Estrutura de seleção IF ... ELSE; (aninhados) diferente de :
int x =-5; if(x>=0) if(x<=10) System.out.println(“Numero entre 0 e 10”); else System.out.println(“Numero fora da faixa”); diferente de : int x = -5; if(x>=0){ }else

21 Estrutura de seleção SWITCH; (múltipla)
int op=6; switch(op) { case 1: System.out.println("opcao 1"); break; case 2: System.out.println("opcao 2"); break; case 3: System.out.println("opcao 3"); break; default: System.out.println("opcao default"); break; } (exp ? verdade : falso), operador condicional int x = a>b ? a : b; System.out.println(x)

22 Estrutura de repetição
FOR; for(x=0;x<10;x++) System.out.println(“Esta eh a linha” + x); WHILE; while(x<=10) { x++; }

23 Estrutura de repetição
DO ... WHILE; do { System.out.println(“Esta eh a linha” + x); x++; }while(x<=10)

24 Exercícios Faça uma programa que recebe dois números x e y e imprime na tela todos os números primos entre eles. Faça um programa que ler uma palavra e diz se esta palavra é um palíndromo. (Utilize os métodos da classe string). Faça um programa que ler 10 números seguidos e ao final imprima em uma janela de dialogo o maior deles.

25 Criando um nova classe class NomeDaClasse { int valor=0;
NomeDaClasse(){} // Construtor void imprimir() System.out.println(valor); } void atribuir(int a) valor=a; ATRIBUTO MÉTODOS

26 Utilizando a nova classe
import NomeDaClasse; public static void main(String arg[]) { NomeDaClasse obj1 = new NomeDaClasse(); NomeDaClasse obj2 = new NomeDaClasse(); int x=10, y=5; obj1.atribuir(x); obj2.atribuir(y); obj1.imprimir(); obj2.imprimir(); }

27 Exemplo Classe Triangulo
public class CTriangulo { int lado_A,lado_B,lado_C; void AtibuirLadoA(int valor){lado_A = valor;} void AtibuirLadoB(int valor){lado_B = valor;} void AtibuirLadoC(int valor){lado_C = valor;} void imprimirLadoA() {System.out.println("O Lado A = " + lado_A);} void imprimirLadoB() {System.out.println("O Lado B = " + lado_B);} void imprimirLadoC() {System.out.println("O Lado C = " + lado_C);} ...

28 Exemplo Classe Triangulo (cont.)
void imprimirTodosLados() { System.out.println("O Lado A = " + lado_A); System.out.println("O Lado B = " + lado_B); System.out.println("O Lado C = " + lado_C); } void IsEquilatero() boolean AB,BC; AB = (lado_A == lado_B); BC = (lado_B == lado_C); if(AB==BC) System.out.println(“Eh equilatero"); else System.out.println("NAO eh equilatero");

29 Exercício 1) Utilizando a classe CTriangulo, crie um método que recebe um outro objeto CTriangulo e compara se são iguais. 2) Baseado no exemplo do triangulo, crie uma classe que modela o objeto Quadrado. 3) Crie uma classe para modelar objetos tipo “data”.

30 imprimir(String str, int tipo)
Exercício 4) Crie uma classe que modela um objeto tipo “mensagem” , este objeto deve conter o método “imprimir” que recebe dois argumentos, sendo : imprimir(String str, int tipo) Onde : str – Mensagem a ser impressa; tipo – tipo de saída : 0 - saída apenas na console; 1 - saída apenas em uma janela de dialogo; (usar JOptionPane)

31 Herança Empregado Secretária Engenheiro Motorista Nome: ID: Salário:
Características Herdadas Secretária Nome: ID: Salário: isMae? Engenheiro Nome: ID: Salário: CREA Motorista Nome: ID: Salário: Turno

32 Herança String campoNome; Exemplo : Class CPessoa {
int campoIdentidade; CPessoa(String nome,int ident) campoNome=nome; campoIdentidade=ident; } void imprimirNome() System.out.println(campoNome);

33 Observe como “herdar” da classe CPessoa
Herança Observe como “herdar” da classe CPessoa Class CFuncionario extends CPessoa { float campoSalario; String campoCargo; CFuncionario(String nome,int ident,int salar) super(nome,ident); campoSalario = salar; } void imprimirSalario() System.out.println(campoSalario);

34 Herança class MinhaClasse { public static void main (String arg[])
CFuncionario F; F = new CFuncionario("Hugo",11,100.0); F.imprimirNome(); F.imprimirSalario(); }

35 Herança Outro Exemplo : class CData { int campoDia; int campoMes;
int campoAno; CData(int d,int m,int a) if(isValida(d,m,a)) campoDia=d; campoMes=m; campoAno=a; } boolean isValida(int d,int m,int a) if((d>=1) && (d<=31) && (m>=1) && (m<=12)) return(true); else return(false);

36 Herança class CDataAniversario extends CData {
CDataAniversario(int d,int m,int a) super(d,m,a); } void imprimeAniversario() System.out.println(campoDia + "/" + campoMes + "/" + campoAno);

37 A Palavra chave super Como o construtor da classe não pode ser chamado diretamente, usamos a palavra chave “super” para possibilitar a inicialização dos campos da superclasse. Assim : CDataAniversario(int d,int m,int a) { super(d,m,a); } Repassa dos parametros recebido para a sua classe superior. Obrigatoriamente este comando deve ser usado em um construtor e sempre na primeira linha

38 Exercício Escreva a classe CData que guarda as caracteristicas de uma data. Escreva a classe CDataAniversario que recebe dia.mes e ano como argumentos e herda característica da classe CData. Escreva a classe CConta que representa uma conta bancária. Escreva as classe CContaCorrente, CPoupança que herda as características da classe CConta.

39 Classe usando objetos Uma classe pode ter como campo de dados (atributos) um objeto. Podem também receber como argumento uma instância dela mesmo. Clase CQuadrado.isIgual(CQuadrado m) { if(this.altura == m.altura) && (this.largura == m.largura) { System.out.println(“Eu sou igual ao quadrado m”); }

40 Exercício Escreva a classe CLivro que guarda as caracteristicas de um livro. Escreva a classe CEstante que armazena livros (utilizar a classe criada no exerc. 1) em posições e prateleiras. Escreva a classe CBiblioteca que utiliza a classe CEstante para armazenar livros Faça um pequena aplicação em JAVA para demonstrar a utilização destas classes.

41 Escopo Quando uma variável ou método é antecedido pela palavra “public”, ela poderá ser acessada de qualquer lugar. Quando uma variável ou método é antecedido pela palavra “private”, ela só poderá ser acessada dentro da classe onde foi declarada. Quando uma variável ou método é antecedido pela palavra “protected”, ela só poderá ser acessada dentro da classe onde foi declarada e também nas classes herdeiras. .

42 Escopo Uma elemento definido como “static” poderá ser chamado pelo nome da classe e não por um objeto desta classe. Ex.: O método : public static final out da classe System. System.out.println(“Ola”); Se uma classe é precedida da palavra “final”, não poderá ter herdeiras. Se isto acontece com métodos, este método não poderá sofrer override (sobrecarga). Uma propriedade final, não pode ter o seu valor alterado. É uma constante.

43 Classes abstrata Uma classe abstrata não pode instanciar (gerar) objetos. Ela apenas permite ser estendida (herdada). Uma classe para ser abstrata seu nome deve ser precedido pela palavra “abstract”. Ex.: public abstract class CAgente extends Thread { ... }

44 Classes abstrata Um método também pode ser declarado como “abstract”, neste caso ele deve ser implementado em uma classe herdeira.


Carregar ppt "Estrutura de Controle em JAVA"

Apresentações semelhantes


Anúncios Google