Your SlideShare is downloading. ×
0
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Aula2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Aula2

1,468

Published on

Curso de Programação OO com Java no IBTA

Curso de Programação OO com Java no IBTA

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,468
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Programação Orientada a Objetos com Java Aula 2 professor: Fábio Kimura e-mail: fkimura@yahoo.com
  • 2. <ul><li>Agenda </li></ul>• Padrão de Codificação Java • Variáveis em Java • Tipos Primitivos • Tipos de Referência • Expressões e Operadores • Exercícios • Trabalho valendo nota
  • 3. <ul><li>Importância do Padrão de Codificação </li></ul>Por que usar um padrão de codificação? class input { class output {}public static void main(String call [ ]){;input. integer(call,input.class. getName (),0);}; static void integer(String []Number, String end ,int Null) {; char Void=58; for (String Virtual:Number)Virtual+= Null++; System. out. println(end+Void+Null);}}
  • 4. <ul><li>Importância do Padrão de Codificação </li></ul><ul><li>Por que usar um padrão de codificação? </li></ul><ul><li>80% do custo total (lifetime cost) de um software vai para manutenção. </li></ul><ul><li>Raramente um software é mantido sempre pelo autor original. </li></ul><ul><li>Aumentam a legibilidade de um software, permitindo aos programadores entender códigos pré-escritos mais fácil e rapidamente. </li></ul><ul><li>Por que usar o Padrão de Codificação Java? </li></ul><ul><li>Definido pela Sun em 1996 e publicado em “The Java Language Specification”. </li></ul><ul><li>Utilizado desde então pela maioria das grandes empresas. </li></ul>
  • 5. <ul><li>Importância de “Code Conventions” </li></ul>Exemplos da especificação “Java Code Conventions” • Nomes de classes devem ser substantivos, com cada nome começando com maiúscula e o resto em minúsculas Exemplos: MinhaClasse, Conta, ContaEspecial • Atributos e variáveis devem começar com minúsculas, com cada palavra interna iniciando com maiúscula. Exemplos: meuAtributo, minhaVariavel, cliente • Métodos devem ser verbos, com cada palavra interna começando com maiúscula. Exemplos: abrirConta, alterarNome, testar
  • 6. <ul><li>Tarefa para casa </li></ul>Baixe ou leia a especificação “Java Code Conventions” do link abaixo: http://java.sun.com/docs/codeconv/ Leia (pelo menos) os capítulos 1-6, 8, 9 e 11.
  • 7. <ul><li>Comentários de código </li></ul>O Compilador do JavaDoc, transforma os comentário do JAVADOC em Páginas HTML. <ul><li>Comentários de código </li></ul>
  • 8. <ul><li>Comentário simples (uma linha) </li></ul><ul><ul><li>private int id; // identificador da Camisa </li></ul></ul><ul><li>Comentário para múltiplas linas </li></ul><ul><ul><li>/* Este comentário será finalizado apenas quando </li></ul></ul><ul><ul><li>encontrar o caracter correspondente, podendo se </li></ul></ul><ul><ul><li>estender por quantas linhas forem necessárias </li></ul></ul><ul><ul><li>*/ </li></ul></ul><ul><li>Comentário para documentação (javadoc) </li></ul><ul><ul><li>/** </li></ul></ul><ul><ul><li>Classe que representa uma Camisa </li></ul></ul><ul><ul><li>@author Fábio Kimura </li></ul></ul><ul><ul><li>@since 02/08/2008 </li></ul></ul><ul><ul><li>*/ </li></ul></ul><ul><ul><li>Mais informações sobre javadoc: </li></ul></ul><ul><li>http://java.sun.com/j2se/javadoc/writingdoccomments/index.html </li></ul><ul><li>Comentários em Java </li></ul>
  • 9. <ul><li>Exemplo de classe Java </li></ul><ul><li>/** </li></ul><ul><li>* </li></ul><ul><li>* @author Fabio Kimura </li></ul><ul><li>* Classe de teste para exemplificar o uso de Javadoc </li></ul><ul><li>* </li></ul><ul><li>*/ </li></ul><ul><li>public class Camisa { </li></ul><ul><li>/** identificador da camisa */ </li></ul><ul><li>public int id = 0; </li></ul><ul><li>/** informações sobre a Camisa */ </li></ul><ul><li>public String descricao = “vazia”; </li></ul><ul><li>/** </li></ul><ul><li>* código da cor da camisa. </li></ul><ul><li>* Os códigos são: V=Vermelha, A=Azul, B=Branca, N=Não definida </li></ul><ul><li>*/ </li></ul><ul><li>public char codigoCor = ‘N’; </li></ul><ul><li>/** preço em reais */ </li></ul><ul><li>public double preco = 0.0; </li></ul><ul><li>/** quantidade de camisas no estoque */ </li></ul><ul><li>public int quantidadeEmEstoque = 0; </li></ul><ul><li>... </li></ul>
  • 10. <ul><li>Exemplo de classe Java (continuação) </li></ul><ul><li>/** </li></ul><ul><li>* Mostra os dados da Camisa </li></ul><ul><li>*/ </li></ul><ul><li>public void mostrarDados() { </li></ul><ul><li>System.out.println(“Identificador: “ + id); </li></ul><ul><li>System.out.println(“Descrição:” + descricao); </li></ul><ul><li>System.out.println(“Código da cor: “ + codigoCor); </li></ul><ul><li>System.out.println(“Preço: “ + preco); </li></ul><ul><li>System.out.println(“Quantidade em estoque: “ + quantidadeEmEstoque); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  • 11. <ul><li>JavaBeans são componentes reutilizáveis de software. </li></ul><ul><li>Para uma classe ser considerada JavaBean deve seguir diversas convenções, como possuir um construtor vazio e implementar a interface Serializable. </li></ul><ul><li>Algumas dessas convenções são aproveitadas em classes comuns (POJO) para encapsulamento, por exemplo (getters & setters). </li></ul><ul><li>Mais informações sobre JavaBeans: </li></ul><ul><li>http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html </li></ul><ul><li>Padrão JavaBean </li></ul>
  • 12. <ul><li>Encapsulamento </li></ul><ul><ul><li>Definição: “Disponibilizar uma interface pública para manipular os estados e executar as operações de um objeto.” </li></ul></ul><ul><li>Criando classes Java </li></ul>Aplicando Encapsulamento
  • 13. <ul><li>Encapsulamento </li></ul>Vemos que todos os atributos estão marcados como public e não há métodos definidos para acessar os atributos e estados. public class Conta {   public int numero; public double saldo; public double juros; public java.util.Date vencimento; } Conta contaBanco = new Conta(); contaBanco.numero = 1; contaBanco.saldo = 100; contaBanco.juros = 0.089; <ul><li>Criando classes Java </li></ul>
  • 14. <ul><li>Encapsulamento </li></ul>Neste módulo veremos private e public <ul><li>Criando classes Java </li></ul><ul><ul><li>A orientação a objetos possui um conjunto de modificadores de acesso a membros de classe que permite um controle apurado do acesso aos seus membros. </li></ul></ul>
  • 15. <ul><li>Encapsulamento </li></ul>Aplicando o encapsulamento, temos: para cada atributo que pode ser consultado criamos um método getNomeAtributo() (tecnicamente chamando de accessor method);   para cada atributo que pode ser alterado, criamos um método setNomeAtributo() (tecnicamente chamando de mutator method );  para os métodos que executam operações ou funções dos objetos, damos um nome que corresponde aquela função ou operação, facilitando seu entendimento. (tecnicamente chamando de worker method );  <ul><li>Criando classes Java </li></ul>
  • 16. <ul><li>Encapsulamento </li></ul>public class Conta {   .. private int numero; .. //accessor methods public int getNumero() { return juros; }   public void setNumero(int num) { numero = num; } .. } Conta contaBanco = new Conta(); ... contaBanco.setNumero(1); ... os atributos estão marcados como private e todos o métodos como public , esta é a forma de fornecer o encapsulamento em Java. <ul><li>Criando classes Java </li></ul>
  • 17. <ul><li>Variáveis em Java </li></ul>Declarando variáveis em Java: • Sintaxe (atributo ou variável de instância): [ modificadores ] tipo identificador [= valor ]; Exemplo: private double preço = 0.0; • Sintaxe (variáveis locais): tipo identificador [= valor ]; Exemplo: int idade = 30; • Declarando e inicializando diversas variáveis em uma única linha de código: tipo identificador [= valor ] [ , identificador [= valor]]; Exemplos: double preço = 0.0, preçoTotal = 0.0; int a, b=1, c=2, d;
  • 18. <ul><li>Variáveis em Java </li></ul><ul><li>Dentro de um bloco, podemos declarar e utilizar variáveis locais, e utilizar variáveis de instância. </li></ul><ul><li>public class Teste { </li></ul><ul><li>private int atributo; </li></ul><ul><li>public static void main(String[] args) { </li></ul><ul><li>// declaração </li></ul><ul><li>int idade; </li></ul><ul><li>// atribuição: </li></ul><ul><li>idade = 32; </li></ul><ul><li>atributo = 20; </li></ul><ul><li>System.out.println(idade); </li></ul><ul><li>// declaração com atribuição: </li></ul><ul><li>Pessoa pedro = new Pessoa(); </li></ul><ul><li>... </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  • 19. <ul><li>Variáveis </li></ul><ul><li>Variáveis em Java podem ser de 2 tipos: </li></ul><ul><ul><li>Variável de Tipo Primitivo. </li></ul></ul><ul><ul><li>Variável de Referência. </li></ul></ul>
  • 20. <ul><li>Tipos Primitivos </li></ul>O que são tipos primitivos? São tipos sem classe alguma.
  • 21. <ul><li>Java </li></ul>Tipos primitivos não são referências para objetos. Tipos primitivos armazenam dados simples em memória: • Números inteiros: byte, short, int, long ; • Números ponto flutuante: float, double ; • Caractere: char ; • Booleano (Verdadeiro ou Falso): boolean ; Primitive tech support
  • 22. <ul><li>Java </li></ul>* padrão para execução de cálculos pela JVM Mais informações em: http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html true ou false Dependente de JVM boolean - 64 bits IEEE 754 double* - 32 bits IEEE 754 float -2 63 até 2 63 - 1 64 bits long -2 31 até 2 31 - 1 32 bits int* 0 até 2 16 - 1 16 bits char -2 15 até 2 15 - 1 16 bits short -2 7 até 2 7 - 1 8 bits byte Range de Valores Precisão Tipo
  • 23. <ul><li>Tipos Primitivos - Promotion </li></ul>O conteúdo de uma variável pode ser transferido para outra de um tipo diferente, desde que esse tipo tenha uma “capacidade” maior: short s = 10; int i = s; Isto é chamado de “Promoção” ou “Promotion”. E quando o tipo tem uma capacidade menor? s = i; Isso funciona?
  • 24. <ul><li>Tipos Primitivos - Casting </li></ul>Se uma variável tiver capacidade maior que a outra, o conteúdo dela só poderá ser transferido se você “forçar” a transferência, pois “vazamentos” podem ocorrer. Isto é chamado de “casting” ou “moldagem”. long l = 10; int l = (int) l; O “casting” é necessário para informar ao compilador: “Eu sei que vazamentos podem ocorrer, mas acredite, eu sei o que estou fazendo!”.
  • 25. <ul><li>Tipos Primitivos - Casting </li></ul>Quando é feito o “casting”, se o conteúdo que uma variável estiver recebendo for maior do que o tipo dela, a JVM irá “truncar” os bits: int i = 128; b = (byte) i; System. out .println(“b=“+b); Saída do programa: b=-128 O que aconteceu?
  • 26. <ul><li>Tipos Primitivos - Casting </li></ul><ul><li>Cálculo em Java são feitos com int e double. Como assim? </li></ul><ul><li>byte a = 1; </li></ul><ul><li>byte b = 2; </li></ul><ul><li>byte c = a + b; </li></ul><ul><li>System. out .println(“c=“+c); </li></ul><ul><li>Saída do programa? </li></ul>Erro de compilação na linha 3! Por que? O resultado de a + b é um int e não um byte, portanto um “cast” é necessário. 3. byte b = (byte) a + b; Agora funciona? Por que? Erro de compilação na linha 3! Ainda! 3. byte b = (byte) (a + b); Agora sim!
  • 27. <ul><li>Tipos Primitivos - Casting </li></ul><ul><li>Os cálculos envolvendo ponto flutuante são um pouco mais simples: </li></ul><ul><li>float f = 1; </li></ul><ul><li>float g = 3; </li></ul><ul><li>float h = f/g; </li></ul><ul><li>System. out .println(“h=“+h); </li></ul><ul><li>Saída do programa? </li></ul>h=0.33333334 <ul><li>float f = 1; </li></ul><ul><li>double d = 3; </li></ul><ul><li>float h = f + d; </li></ul><ul><li>System. out .println(“h=“+h); </li></ul><ul><li>Saída do programa? </li></ul>Erro na linha 3: f + d resulta em double.
  • 28. <ul><li>Tipos Primitivos - Literais </li></ul><ul><li>Números são literais e também possuem tipo: </li></ul><ul><li>Sem ponto -> int </li></ul><ul><li>Com ponto -> double </li></ul><ul><li>int i = 128; 128 é um int. </li></ul><ul><li>byte a = 20; 20 é um int, mas o compilador sabe que 20 “cabe” em um byte. </li></ul><ul><li>byte b = 128; Erro de compilação! 128 não “cabe” em um byte sem “casting”. </li></ul><ul><li>byte c = (byte) 128; Ok! </li></ul><ul><li>double d = 1.99; 1.99 é um double. </li></ul><ul><li>float f = 1.99; Erro! 1.99 é um double e não “cabe” em um float sem “casting”. </li></ul>I´ll have a double java.
  • 29. <ul><li>Tipos Primitivos - Literais </li></ul>float g = 1.99F; Ok! float h = 1.99f; Ok! double d1 = 1.99d; Redundante mas Ok! double d2 = 1.99D; Redundante mas Ok! long l1 = 10L; Redundante mas Ok. Todo int cabe em um long. long l2 = 10l; Redundante mas Ok! char c = ‘A’; char unicodeChar=‘u0065’; true e false não são palavras reservadas, mas sim literais do tipo boolean : boolean isCrazy = false; boolean isJavaCool = true; boolean isWrong = 0; // ERRO DE COMPILAÇÃO!!!!!
  • 30. <ul><li>Tipos Primitivos – Literais - extras </li></ul>int six = 06; // igual a 6 em decimal int eight = 010; // igual a 8 em decimal int um = 0X0001; int dez = 0x000A; // igual a 10 em decimal int quinze = 0x000f; // igual a 15 em decimal int z = 0xDeadCafe; // mais uma exceção case-insensitive long l = 0x000FL;
  • 31. <ul><li>Exercícios </li></ul><ul><li>Sem usar um compilador, qual a saída da linha 3? </li></ul><ul><li>short s = 2; </li></ul><ul><li>s = s + 3; </li></ul><ul><li>System.out.println(s); </li></ul><ul><li>Sem usar um compilador, qual a saída da linha 3? </li></ul><ul><li>int a = 1; </li></ul><ul><li>int b = a / 3; </li></ul><ul><li>System.out.println(b); </li></ul><ul><li>Sem usar um compilador, qual a saída da linha 3? </li></ul><ul><li>long a = 2; </li></ul><ul><li>int b = a - 1; </li></ul><ul><li>System.out.println(b); </li></ul>
  • 32. <ul><li>Tipos primitivos – Casting e Promotion </li></ul><ul><li>Conversão dos tipos primitivos: </li></ul><ul><li>Casting = Mudança de tipo para um tipo de menor precisão </li></ul><ul><li>Promotion = Mudança de tipo para um tipo de maior precisão </li></ul>
  • 33. <ul><li>Promoção </li></ul><ul><li>Promoção automática: </li></ul><ul><ul><li>Quando se associa um tipo menor a um tipo maior; </li></ul></ul><ul><ul><li>Quando se associa um tipo inteiro a um tipo de ponto flutuante; </li></ul></ul><ul><li>Exemplos: </li></ul><ul><li>long big = 6; </li></ul><ul><li>float float = big; </li></ul>
  • 34. <ul><li>Tipos primitivos </li></ul>Tipos primitivos como atributos de objeto: <ul><li>public class Camisa { </li></ul><ul><li>public int id; </li></ul><ul><li>public String descricao; </li></ul><ul><li>public char codigoCor; </li></ul><ul><li>public double preco; </li></ul><ul><li>public int quantidadeEmEstoque; </li></ul><ul><li>public void mostrarDados() { </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>+ mostrarDados(): void + id: int + descricao: String + codigoCor:char + preço: double +quantidadeEmEstoque: int Camisa
  • 35. <ul><li>Tipos de referência </li></ul><ul><li>São variáveis que armazenam referências a objetos . </li></ul><ul><li>Facilitam a navegação e troca de mensagens entre os objetos de um sistema. </li></ul><ul><li>Usamos os tipos de referência para podermos manipular facilmente os objetos em memória. </li></ul><ul><li>Camisa minhaCamisa = new Camisa(); </li></ul><ul><li>Operador new -> cria um novo objeto a partir de uma determinada classe. </li></ul>
  • 36. <ul><li>Tipos de referência </li></ul>Tipos de referência como atributos de objeto: <ul><li>public class Conjunto { </li></ul><ul><li>public int id; </li></ul><ul><li>public double preco; </li></ul><ul><li>public Camisa camisa; </li></ul><ul><li>public Terno terno; </li></ul><ul><li>} </li></ul>Tipos Primitivos Tipos de Referência + id: int + preço: double + camisa: Camisa + terno: Terno Conjunto
  • 37. <ul><li>Strings </li></ul>String são objetos ! public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; /** The offset is the first index of the storage that is used. */ private final int offset; /** The count is the number of characters in the String. */ private final int count;
  • 38. <ul><li>Strings </li></ul>String possui literais ! String nome = “Fábio Kimura”; String greetings = “Hello World”; String possui operadores! String nome = “Fábio”; nome = nome + ‘ ‘; nome+= “Kimura”; System.out.println(“Olá, “ + nome);
  • 39. <ul><li>Strings </li></ul>String é um objeto! String nula = null; String vazia = new String(); String greetings = new String(“Hello World”); System.out.println(greetings.substring(0,5)); System.out.println(“String é especial!”.substring(0,6));
  • 40. <ul><li>Strings </li></ul>“ Fábio Kimura” “ Hello World” <ul><li>public static void main(String[] args { </li></ul><ul><li>String nome = “Fábio Kimura”; </li></ul><ul><li>System.out.println(“Hello World”); </li></ul><ul><li>System.out.println(“Olá, ” + nome); </li></ul><ul><li>} </li></ul>Java possui um pool de Strings para economia de memória “ Olá, ” Por isso se diz que em Java Strings são imutáveis .
  • 41. <ul><li>Strings </li></ul>“ Fábio Kimura” “ Hello World” <ul><li>public static void main(String[] args { </li></ul><ul><li>String nome = “Fábio Kimura”; </li></ul><ul><li>nome.toUpperCase(); </li></ul><ul><li>System.out.println(nome); </li></ul><ul><li>} </li></ul>Strings são imutáveis: “ Olá, ”
  • 42. Vimos que a classe String, que pertence às classes padrão do Java, possui dois métodos, substring() e toUpperCase(). Será que a classe String possui mais métodos? Como vamos saber o que fazem? http://java.sun.com/javase/6/docs/api/ Aqui vemos o javadoc da API do Java SE 6. Procure a classe String e veja que métodos mais ela possui. Crie classes para testar alguns outros métodos. Você pode gerar o javadoc do seu projeto, com o comando javadoc <ul><li>API JSE </li></ul>
  • 43. <ul><li>Ocasionalmente precisamos que um tipo primitivo seja um objeto </li></ul><ul><li>Para facilitar, todo tipo primitivo em Java possui sua contraparte Objeto. </li></ul><ul><li>Essas classes são chamadas de Wrappers . </li></ul><ul><ul><li>Byte </li></ul></ul><ul><ul><li>Short </li></ul></ul><ul><ul><li>Character </li></ul></ul><ul><ul><li>Integer </li></ul></ul><ul><ul><li>Long </li></ul></ul><ul><ul><li>Float </li></ul></ul><ul><ul><li>Double </li></ul></ul><ul><ul><li>Boolean </li></ul></ul><ul><ul><li>Void </li></ul></ul><ul><ul><li>Wrappers são imutáveis assim como a classe String. </li></ul></ul><ul><li>Wrappers </li></ul>
  • 44. <ul><li>Variável x Atributo de Classe </li></ul><ul><li>Variável: tipo declarado dentro de um bloco (dentro de um método por exemplo). Uma variável só existe dentro do bloco, ou seja, seu escopo se limita ao bloco. </li></ul><ul><li>Atributo de classe: tipo declarado dentro da classe . Um atributo pertencente a um objeto existe enquanto aquele objeto existir. </li></ul><ul><li>public class Teste { </li></ul><ul><li>int atributo = 0; </li></ul><ul><li>public void testar() { </li></ul><ul><li>atributo = 2; </li></ul><ul><li>int variavel = 32; </li></ul><ul><li>System.out.println(variavel); </li></ul><ul><li>} </li></ul><ul><li>// aqui a variável idade não existe mais </li></ul><ul><li>} </li></ul>
  • 45. <ul><li>Notação ponto (.) </li></ul><ul><li>Utilizamos o operador ponto (.) para acessar atributos, métodos e outros membros de um objeto. </li></ul><ul><li>Camisa minhaCamisa = new Camisa(); </li></ul><ul><li>minhaCamisa.id=1; </li></ul><ul><li>minhaCamisa.preco=49.99; </li></ul><ul><li>minhaCamisa.mostrarDados(); </li></ul><ul><li>minhaCamisa -> referência para um objeto do tipo Camisa. </li></ul><ul><li>minhaCamisa.preco -> atributo double preco do objeto minhaCamisa. </li></ul><ul><li>minhaCamisa.mostrarDados(); -> Invocação do método mostrarDados() do objeto minhaCamisa. </li></ul>
  • 46. <ul><li>Valores padrão </li></ul>Variáveis devem sempre ser inicializadas antes do seu uso: <ul><li>public static void main(String[] args { </li></ul><ul><li>int inteiro; </li></ul><ul><li>System.out.println(inteiro); // Erro de compilação! </li></ul><ul><li>} </li></ul><ul><li>public static void main(String[] args { </li></ul><ul><li>int inteiro; </li></ul><ul><li>inteiro = 2; </li></ul><ul><li>System.out.println(inteiro); // Ok! </li></ul><ul><li>} </li></ul>
  • 47. <ul><li>Valores padrão </li></ul>Atributos são inicializados automaticamente: <ul><li>public class Camisa { </li></ul><ul><li>int id; </li></ul><ul><li>public void mostrarInformacao() { </li></ul><ul><li>System.out.println(id); </li></ul><ul><li>} </li></ul>
  • 48. <ul><li>Endereçamento na JVM </li></ul>conjunto Memória “Heap” Conjunto conjunto; new Conjunto(); new Camisa(); conjunto.terno = new Terno(); conjunto.camisa = conjunto = conjunto.camisa = null; pilha
  • 49. <ul><li>Dado que as linhas abaixo lêem dois inteiros digitados na linha de comando: </li></ul><ul><li>Scanner scanner = new Scanner(System.in); </li></ul><ul><li>int a = scanner.nextInt(); </li></ul><ul><li>int b = scanner.nextInt(); </li></ul><ul><li>Escreva um programa Soma.java que leia 3 inteiros da linha de comando e a seguir imprima o resultado da soma desses números. </li></ul><ul><li>Escreva outro programa DivisaoInteiro.java que leia 2 inteiros da linha de comando e a seguir imprima o resultado da divisão do primeiro pelo segundo. </li></ul><ul><li>Escreva outro programa DivisaoDouble.java que leia 2 doubles da linha de comando e a seguir imprima o resultado da divisão do primeiro pelo segundo. </li></ul><ul><li>Calcule a divisão de um número por zero, utilizando DivisãoInteiro.java e DivisãoDouble.java . Analise os resultados. </li></ul><ul><li>Você deve entregar: 3 códigos fonte (Soma, DivisaoInteiro e DivisaoDouble), e pelo menos um parágrafo descrevendo os resultados do exercício 4. </li></ul><ul><li>Identação, clareza e aderência ao Padrão de Codificação Java serão avaliadas. </li></ul><ul><li>Exercícios em casa (entregar até 16/08/2008) </li></ul>

×