Estrutura de Controle em JAVA

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Programação em Java Prof. Maurício Braga
I/O Carlos Bazilio Depto de Ciência e Tecnologia
Soluções Iterativas com Laços
Construção de Algoritmos 2
Programação em Java Prof. Maurício Braga
Um programa em C Bibliotecas Variáveis globais
Estruturas de Repetição
Programação Orientada a Objetos – Parte II
Java Básico Arrays Marco Antonio, Arquiteto de Software – TJDF Atualizado: Fevereiro/2009.
Tratamento de Exceções
Prof. Thiago Pereira Rique
Programação orientada a objetos
Linguagem Java Renata Araujo
Linguagens de Programação Orientadas a Objetos
Mini-Curso de Java INE 5612 Ministrante: Prof. Frank Siqueira
Programação Básica em Java
Arrays Profa. Isabel Harb Manssour (Material adaptado das aulas dos Profs.: Luciana Nedel, Júlio Machado e Bernardo Copstein) Arrays Exercícios.
Wagner Santos C. de Jesus
Membros estáticos.
Orientação a Objetos Classes
Capítulo 15 Swing – Parte 1.
Paradigmas da Programação
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Elementos de Classe, class wrappers.
Aula de reposição Prof. Grace e Ângela
Introdução a Programação JAVA
Estrutura de Dados em Java
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Linguagem de Programação JAVA
CRIANDO OBJETOS EM JAVA
Tipos Agregados Homogêneos e Listas
1 A Tecnologia Java. 2 Introdução à linguagem Origens do JAVA Projecto Green, programação para a electrónica de Consumo (Dezembro 1990): Pouca memória.
Streams –input e output
Atributos, Encapsulamento e Interface em Java
Linguagem técnica de programação I Java
Seminário 1: Revisão de C
Introdução a aplicativos Java
Desenvolvimento de Aplicações CORBA
Aula 3 Igor Ebrahim (ies) if669 - Introdução à Programação Monitoria de IP.
Arquivos if669 - Introdução à Programação Monitoria de IP Igor Ebrahim (ies) Nicole Sultanum (nbs2) Paulo Borba (phmb)
Comandos de atalhos e Code Templates do Netbeans
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Wagner Santos C. de Jesus
Linguagem de Programação C#
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
Exceções Profa. Patrícia A. Jaques Alterada por Leandro Tonietto abr-15.
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Implementação Orientada a Objetos – Aula 06 Conversão de tipos e métodos estáticos Prof. Danielle Martin Universidade de Mogi das Cruzes
Programação I Aula 4 (Expressões Booleanas e Expressões de Seleção) Prof. Gilberto Irajá Müller Última atualização 17/3/2009.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Exercícios Laboratório. Inicio Escreva (“Olá Mundo!”) Fim static void main (string[] args) { Console.WriteLine (“Olá Mundo!”); }
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Socket em Java.
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Lógica Aplicada em Java X25 Treinamentos e Consultoria Adler Medrado Outubro / 2009 Lógica Aplicada em Java X25 Treinamentos e Consultoria Adler Medrado.
Conceitos de OO em Java Parte I
Programação Orientada a Objetos
Laboratório de Programação II Método main Dados e Métodos de Classes.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Linguagem Java Programação II.
Java Básico Lab Ruddá Beltrão | Cristian Costa.
Laboratório de Computação Aula 03 Prof. Fábio Dias
Transcrição da apresentação:

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

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

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.

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

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

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;

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

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

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

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 }

JOptionPane.INFORMATION_MESSAGE JOptionPane.ERROR_MESSAGE JOptionPane.INCANCEL_OPTION

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

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

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

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

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

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.

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

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

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

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)

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

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

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.

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

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(); }

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);} ...

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

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”.

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)

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

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

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

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

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

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

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

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.

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”); }

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.

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. .

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.

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 { ... }

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