<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6110333558793187191</id><updated>2025-05-23T03:45:27.695-07:00</updated><category term="Java"/><category term="Arrays"/><category term="Atributos"/><category term="Classes"/><category term="Collections"/><category term="Conhecendo Java"/><category term="Eclipse"/><category term="Encapsulamento"/><category term="Entrada de dados"/><category term="Estruturas de controles"/><category term="Exception"/><category term="Exceções"/><category term="For"/><category term="Getters"/><category term="Hello"/><category term="Herança"/><category term="If"/><category term="J2EE"/><category term="J2ME"/><category term="J2SE"/><category term="Métodos"/><category term="Objetos"/><category term="Operações matematicas"/><category term="Orientação a Objetos"/><category term="Polimorfismo"/><category term="Potência"/><category term="Primeiro programa"/><category term="Private"/><category term="Scanner"/><category term="Setters"/><category term="Sobrecarga"/><category term="Variáveis"/><category term="While"/><title type='text'>Vamos aprender Java juntos?</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-3107033131275878333</id><published>2012-02-22T09:12:00.002-08:00</published><updated>2012-03-13T05:26:13.677-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Collections"/><title type='text'>Collections</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Quando uma aplicação precisa manipular uma quantidade grande de dados, ela deve utilizar&amp;nbsp;alguma estrutura de dados.&amp;nbsp;Na biblioteca do Java, há diversas estruturas de dados que facilitam o trabalho do desenvolvedor.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-azhXM2hGikQ/T0UXiqW10gI/AAAAAAAAA-c/DIBJIIPnhmI/s1600/collectionsfig01.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-azhXM2hGikQ/T0UXiqW10gI/AAAAAAAAA-c/DIBJIIPnhmI/s1600/collectionsfig01.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;Collection&lt;/span&gt;&lt;/b&gt; → Βase da hierarquia. Representa operações que são comuns a todas as coleções:&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;add()&lt;/span&gt; - para adicionar o elemento especificado à coleção.&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;remove()&lt;/span&gt; - para remover o elemento especificado da coleção.&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;contains()&lt;/span&gt; - para verificar se a coleção contém o elemento especificado.&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;size()&lt;/span&gt; - para obter a quantidade de elementos na coleção.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;&lt;b&gt;Set &lt;/b&gt;&lt;/span&gt;→ Não armazena elementos duplicados.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;List&lt;/span&gt;&lt;/b&gt; → Mantém a seqüência de inserção. Pode armazenar elementos duplicados.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;Queue&lt;/span&gt;&lt;/b&gt; → Utilizamos esta interface quando queremos uma coleção do tipo FIFO (Fila).&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;Map&lt;/span&gt;&lt;/b&gt; → Relaciona chaves com valores. Não armazena chaves duplicadas.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
A figura apresentada pode ser interpretada da seguinte forma: “Um Set,&amp;nbsp;List ou Queue é um tipo de Collection, cada um com suas particularidades. Já um Map&amp;nbsp;não é do mesmo tipo dos demais mas também manipula coleções de elementos”.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;u&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;SET &lt;/span&gt;&lt;/b&gt;&lt;/u&gt;(HashSet, LinkedHashSet e TreeSet):&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
O uso dessa interface(Set) é quando a ordenação não tem prioriade e sim de não ter duplicatas.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;HashSet&lt;/u&gt; - &amp;nbsp;Não estabelece nenhuma ordem particular entre os objetos.&lt;br /&gt;
&lt;u&gt;TreeSet&lt;/u&gt; - Utiliza-se de uma árvore Binária para alinhar os elementos.&lt;br /&gt;
&lt;u&gt;LinkedHashSet&lt;/u&gt; - Mantém&amp;nbsp;a ordem de iteração dos elementos&lt;br /&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:java&quot;&gt;import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.TreeSet;

public class ExemploSet {

   public static void main(String[] args) {
  
     // Utilizando HashSet
  
     Collection&lt;string&gt; c1 = new HashSet&lt;string&gt;();
  
     c1.add(&quot;Andre&quot;);
     c1.add(&quot;Carlos&quot;);
     c1.add(&quot;Bruno&quot;);
     c1.add(&quot;Daniel&quot;);
     c1.add(&quot;Daniel&quot;);
  
     System.out.println(&quot;==== HashSet ====&quot;);
  
     for(String str : c1) {
        System.out.println(str);
     }
  
     // Utilizando TreeSet
  
     System.out.println(&quot;==== TreeSet ====&quot;);
  
     Collection&lt;string&gt; c2 = new TreeSet&lt;string&gt;(c1);
  
     for(String str : c2) {
        System.out.println(str);
     }
  
     // Utilizando LinkedHashSet 
  
     System.out.println(&quot;==== LinkedHashSet ====&quot;);
  
     Collection&lt;string&gt; c3 = new LinkedHashSet&lt;string&gt;(c1);
  
     for(String str : c3) {
        System.out.println(str);
     }
  
  }
}&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/pre&gt;
&lt;br /&gt;
A saída será: (Perceba que mesmo tendo inserido 2 vezes o nome &quot;Daniel&quot;, ele só aparece uma vez):
&lt;br /&gt;
&lt;br /&gt;
==== HashSet ====&lt;br /&gt;
Andre&lt;br /&gt;
Daniel&lt;br /&gt;
Carlos&lt;br /&gt;
Bruno&lt;br /&gt;
==== TreeSet ====&lt;br /&gt;
Andre&lt;br /&gt;
Bruno&lt;br /&gt;
Carlos&lt;br /&gt;
Daniel&lt;br /&gt;
==== LinkedHashSet ====&lt;br /&gt;
Andre&lt;br /&gt;
Carlos&lt;br /&gt;
Bruno&lt;br /&gt;
Daniel&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;u&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;LIST&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;(ArrayList, Vector e LinkedList):&lt;br /&gt;
&lt;br /&gt;
Devemos utilizar um List&amp;nbsp;quando a ordem de inserção ou a posição na coleção nos interessa.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;u&gt;ArrayList&lt;/u&gt;&amp;nbsp;- &amp;nbsp;Pode ser visto como um array dinâmico.&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;u&gt;Vector&lt;/u&gt;&amp;nbsp;- Basicamente um ArrayList, no entanto seus métodos são&amp;nbsp;sincronizados&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;u&gt;LinkedList&lt;/u&gt;&amp;nbsp;- Todos os elementos são ligados entre si.&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;Obs:&amp;nbsp;&lt;/b&gt;&lt;i&gt;ArrayList e&amp;nbsp;LinkedList seguem a mesma interface, List. Portanto, é possível realizar as mesmas operações nas duas listas.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;import java.util.ArrayList;
import java.util.Collections;

public class ExemploList {
   public static void main(String[] args) {
  
     //Criando um ArrayList.
     ArrayList&lt;string&gt; lista = new ArrayList&lt;string&gt;();
  
     //Para adicionar elementos ao final da lista, usamos o método add 
     lista.add(&quot;Sao Paulo&quot;);
     lista.add(&quot;Belo Horizonte&quot;);
     lista.add(&quot;Rio de Janeiro&quot;);
     lista.add(&quot;Bahia&quot;);
     lista.add(&quot;Amazonia&quot;);
     imprime(&quot;Elementos adicionados ate agora&quot;, lista);
  
  
     //Para adicionar em uma posicão especifica utilizamos o indice
     lista.add(1, &quot;Parana&quot;);
     lista.add(3, &quot;Acre&quot;);
     imprime(&quot;Lista depois de adicionar mais dois elementos&quot;, lista);
  
  
     //Podemos acessar um elemento da lista usando get
     System.out.println(&quot;O 3° elemento da lista é: &quot; + lista.get(2));
  
  
     //Podemos obter o tamanho da lista utilizando o método size()
     System.out.println(&quot;O tamanho da lista é: &quot; + lista.size());
  
  
     //Utilizamos remove para remover um elemento da lista
     lista.remove(&quot;Amazonia&quot;);
     imprime(&quot;Lista depois de remover &#39;Amazonia&#39;&quot;, lista);
  
  
     //Podemos verificar se existe algum elemento na lista
     if(lista.contains(&quot;Sao Paulo&quot;))
        System.out.println(&quot;Sao Paulo existe&quot;);
     else
        System.out.println(&quot;Sao Paulo não existe&quot;);
  
     if(lista.contains(&quot;Ceara&quot;))
        System.out.println(&quot;Ceara existe&quot;);
     else
        System.out.println(&quot;Ceara não existe&quot;);
  
  
     //Podemos ordenar uma lista utilizando o sort
     Collections.sort(lista);
     imprime(&quot;Lista ordenada&quot;, lista);
  
  }
 
    // Percorre todos elementos de qualquer coleção
  
    private static void imprime(String titulo, ArrayList&lt;string&gt; lista) {
       System.out.println(titulo + &quot;:&quot;);
       for(String str : lista) {
          System.out.println(str);
       }
       System.out.println();
   }
}&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
O &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;Vector &lt;/span&gt;não é mais utilizado, é uma classe antiga, anterior a Collections Framework e hoje não há mais motivos para usa-la. O &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;ArrayList&lt;/span&gt; é seu substituto direto.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;u&gt;Existe uma diferença entre o&amp;nbsp;&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;ArrayList&lt;/span&gt; e o &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;LinkedList&lt;/span&gt;.&amp;nbsp;&lt;/u&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&amp;nbsp;A diferença é que o &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;ArrayList&lt;/span&gt; baseia num array convencional, portanto, é fácil acessar qualquer elemento e inserir objetos no final do array. Por outro lado, é mais custoso inserir elementos no meio do array, pois alguns elementos terão de ser deslocados.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&amp;nbsp;Já o&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt; LinkedList&lt;/span&gt; é uma lista duplamente encadeada. Isso quer dizer que é fácil inserir objetos em qualquer ponto da lista, mas é muito complicado acessar uma posição específica (o java terá que percorrer a lista toda até chegar lá).&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;u&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;MAP&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;(Hashtable, LinkedHashMap, HashMap e TreeMap):&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: justify;&quot;&gt;
Um Map identifica seus elementos&amp;nbsp;através de chave / valor&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;u&gt;HashMap&lt;/u&gt;&amp;nbsp;- &amp;nbsp;É&amp;nbsp;um Map desorganizado, isto é, a ordem de iteração dos&amp;nbsp;elementos é desconhecida&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;u&gt;Hashtable&lt;/u&gt;&amp;nbsp;- Similar ao&amp;nbsp;HashMap, porém&amp;nbsp;não aceita valor&amp;nbsp;&amp;nbsp;nulo&amp;nbsp;tanto para chaves quanto&amp;nbsp;para valores.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;u&gt;LinkedHashMap&lt;/u&gt;&amp;nbsp;- Similar ao LinkedHashSet, porém esta é a versão que implementa a&amp;nbsp;interface Map&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;
&lt;u&gt;TreeMap&lt;/u&gt; - Ordena seus elementos através da chave por&amp;nbsp;alguma regra.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;
Um exemplo simples e prático de uso de map seria para um sistema de biblioteca, onde cada livro possui um código para busca:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class Livro {
 
    private String codigo = &quot;&quot;;
    private String nome = &quot;&quot;;
 
    public String getCodigo() {
       return codigo;
    }
 
    public void setCodigo(String codigo) {
       this.codigo = codigo;
    }
 
    public String getNome() {
       return nome;
    }

    public void setNome(String nome) {
       this.nome = nome;
    }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;import java.util.HashMap;

public class Biblioteca {
   public static void main(String[] args) {
  
     // os objetos entre as tags &amp;lt; &amp;gt; definem os valores fixos de chave
     // e valor que usaremos durante todo nosso programa
  
     HashMap&lt;string, livro=&quot;&quot;&gt; mp = new HashMap&lt;string, livro=&quot;&quot;&gt;();
  
     Livro livro1 = new Livro();
     livro1.setCodigo(&quot;java1&quot;);
     livro1.setNome(&quot;Java como programar&quot;);
     mp.put(&quot;java1&quot;, livro1);
  
     Livro livro2 = new Livro();
     livro2.setCodigo(&quot;BD2&quot;);
     livro2.setNome(&quot;Aprendendo MySQL&quot;);
     mp.put(&quot;BD2&quot;, livro2);
  
     Livro livro3 = new Livro();
     livro3.setCodigo(&quot;Html3&quot;);
     livro3.setNome(&quot;Joomla fácil&quot;);
     mp.put(&quot;Html3&quot;, livro3);
  
     // Acessando um valor através de uma chave
     Livro livro = mp.get(&quot;Html3&quot;);
     System.out.println(livro.getNome());
  }
}&lt;/string,&gt;&lt;/string,&gt;&lt;/pre&gt;
&lt;br /&gt;
Por hoje é isso!!! Estejam livres para comentar ou dar sugestões!&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Thanks!
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/3107033131275878333/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/collections.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/3107033131275878333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/3107033131275878333'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/collections.html' title='Collections'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-azhXM2hGikQ/T0UXiqW10gI/AAAAAAAAA-c/DIBJIIPnhmI/s72-c/collectionsfig01.JPG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-3560917626775306480</id><published>2012-02-17T10:17:00.001-08:00</published><updated>2012-02-17T11:23:06.980-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Exception"/><category scheme="http://www.blogger.com/atom/ns#" term="Exceções"/><title type='text'>Exceções (Exception)</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Até agora nós criamos pequenos programas sem nos preocuparmos em&amp;nbsp;tratar possíveis erros. No entanto todos aqueles que programam há algum tempo&amp;nbsp;sabem que o tratamento de erros (exceções) é parte fundamental da programação.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
Para tratar exceções em Java utilizamos a declaração &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;b&gt;try-catch-finally&lt;/b&gt;&lt;/span&gt;. O que devemos fazer&amp;nbsp;para proteger as instruções passíveis de gerar uma exceção, é inserí-las dentro deste bloco.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Tomemos, por exemplo, uma classe que imprime o segundo argumento passado através da&amp;nbsp;linha de comandos. Supondo que&lt;b&gt;&lt;u&gt; não há verificação&lt;/u&gt;&lt;/b&gt; no código para o número de argumentos.&lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class ExemploExcecao {

    public static void main(String[] args) {
  
       System.out.println(args[1]);
       System.out.print(&quot;Fim&quot;);

    }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ao executar esta classe sem informar nenhum argumento e, ao tentar acessar diretamente,
conforme o exemplo descrito, o segundo argumento args[1], uma &lt;b&gt;exceção&lt;/b&gt; é obtida que
interromperá a execução normal do programa, e a seguinte mensagem será mostrada:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;Exception in thread &quot;main&quot;&lt;/span&gt; &lt;u&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;java.lang.ArrayIndexOutOfBoundsException&lt;/span&gt;&lt;/u&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;: 1&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;at ExceptionExample.main(&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;ExceptionExample.java:5&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Para prevenir que isto ocorra, podemos colocar o código dentro de um bloco &lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;try-catch&lt;/span&gt;&lt;/b&gt;. O
bloco&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt; &lt;b&gt;finally&lt;/b&gt;&lt;/span&gt; é opcional. Neste exemplo, não utilizaremos o bloco&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;b&gt; finally&lt;/b&gt;&lt;/span&gt;.
&lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;/* Exemplo que demonstra o uso do try/catch. Este bloco define dois 
trechos de código, um sujeito a erros (try) e outro que responsável 
pelo tratamento do erro caso aconteça (catch). */

public class ExemploExcecao {
    public static void main(String[] args) {
  
      try {
         System.out.println(args[1]);
      } catch (ArrayIndexOutOfBoundsException e) {
         System.out.println(&quot;Exceção detectada&quot;);
      }
   
      System.out.print(&quot;Fim&quot;);
   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Assim, quando tentarmos rodar o programa novamente sem a informação dos argumentos, a&amp;nbsp;saída trataria a exceção e o fluxo do programa não seria interrompido.&lt;br /&gt;
&lt;br /&gt;
Porém, existem outros tipos de erros, veja:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;// vamos modificar o programa de forma que ele encaminhe 
// como parâmetro um valor nulo (null).

public class ExemploExcecao {
    public static void main(String[] args) {
   
      try  {
       
     // Passando valor null como parametro. Isto gerará outro tipo de erro
         System.out.println(args[(Integer) null]); 
         
      } catch (ArrayIndexOutOfBoundsException e) {
         System.out.println(&quot;Exceção detectada&quot;);
      }
    
      System.out.print(&quot;Fim&quot;);
   }
}
&lt;/pre&gt;
&lt;br /&gt;
Isto ocasionará uma exceção do tipo &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;&lt;u&gt;java.lang.NullPointerException.
&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Para corrigir este problema podemos encadear mais um bloco catch que&amp;nbsp;capture todos os tipos de exceções, vejamos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java; highlight: [4,5,6,7,8,9, 11,12,13,14,15]&quot;&gt;public class ExemploExcecao {
    public static void main(String[] args) {
   
      try {  
         System.out.println(args[(Integer) null]); 

      } catch (ArrayIndexOutOfBoundsException e) { // Trata um erro
       
         System.out.println(&quot;Exceção detectada&quot;);
         
      } catch (Throwable t) { // Trata todos os tipos de erros
       
       System.out.println(&quot;Mensagem de erro: &quot; + t.getMessage());
       t.printStackTrace();
      }
    
      System.out.print(&quot;Fim&quot;);
   }
}&lt;/pre&gt;
&lt;br /&gt;
Perceba agora que, adicionamos mais um bloco de&amp;nbsp;catch que captura todos os tipos de exceções –&amp;nbsp;desta forma caso seja uma exceçã&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;o&amp;nbsp;do tipo java.lang.ArrayIndexOutOfBoundsException será tratado no primeiro bloco,&amp;nbsp;todo&lt;/span&gt;s os demais tipos serão tratados no segundo bloco.&lt;br /&gt;
&lt;br /&gt;
Todas as exceções em Java derivam da classe &lt;b&gt;Throwable&lt;/b&gt; conforme&amp;nbsp;hierarquia a seguir:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-W2eOKJsuT44/Tz6kgavFklI/AAAAAAAAA8A/1wF4D_ekoXE/s1600/exce%C3%A7%C3%A3o.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;379&quot; src=&quot;http://3.bp.blogspot.com/-W2eOKJsuT44/Tz6kgavFklI/AAAAAAAAA8A/1wF4D_ekoXE/s640/exce%C3%A7%C3%A3o.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: orange;&quot;&gt;Error:&lt;/span&gt; Representam situações&amp;nbsp;incomuns, que não são causadas pelo programa, indicam situações que&amp;nbsp;não acontec&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;em usualmente durante a execução de um programa (Ex:&amp;nbsp;&lt;/span&gt;Estouro da pilha de execução – StackOverflowError);&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #cccccc;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Checked Excep&lt;/span&gt;tion:&lt;/span&gt; Representam situações que,&amp;nbsp;geralmente, não são erros de programação e sim indisponibilidade de&amp;nbsp;recursos ou condição necessária para a correta execução inexistente (Ex:&amp;nbsp;Em aplicações distribuídas existe dependência externa de rede de&amp;nbsp;comunicação – NoRouteToHostException).&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: #45818e;&quot;&gt;Unchecked Exception&lt;/span&gt; (RuntimeException): Representam situações que, geralmente, identificam erros&amp;nbsp;de programação (programa não é robusto) ou mesmo situações&amp;nbsp;incomuns/difíceis de tratar (Ex: Acessar índice inválido em um array –&amp;nbsp;ArrayIndexOutOfBoundsException);&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Segue quadro com relação de algumas das &lt;b&gt;exceções&lt;/b&gt; mais comuns:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-biWurwt7r5M/Tz6pBKOKDPI/AAAAAAAAA8I/ZAvEjldrmTU/s1600/exce%C3%A7%C3%A3o2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-biWurwt7r5M/Tz6pBKOKDPI/AAAAAAAAA8I/ZAvEjldrmTU/s1600/exce%C3%A7%C3%A3o2.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/3560917626775306480/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/excecoes-exception.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/3560917626775306480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/3560917626775306480'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/excecoes-exception.html' title='Exceções (Exception)'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-W2eOKJsuT44/Tz6kgavFklI/AAAAAAAAA8A/1wF4D_ekoXE/s72-c/exce%C3%A7%C3%A3o.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-1511470152463663384</id><published>2012-02-16T11:57:00.000-08:00</published><updated>2012-02-16T12:03:28.345-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Polimorfismo"/><title type='text'>Polimorfismo</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
O &lt;b&gt;polimorfismo&lt;/b&gt;, que significa muitas formas, permite que uma mesma&amp;nbsp;referência se comporte de formas diferentes. Utilizando corretamente o polimorfismo&amp;nbsp;nós podemos fazer o código ficar mais claro, genérico e, portanto, reutilizável.&lt;/div&gt;
&lt;br /&gt;
Veja um exemplo: &lt;br /&gt;
&lt;br /&gt;
Suponhamos que temos uma superclasse chamada Pessoa:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class Pessoa {
 
    public void nome() {
  
    }
}&lt;/pre&gt;
&lt;br /&gt;
E que temos duas subclasses com o nome de Estudante e Empregado:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class Estudante extends Pessoa {
 
    public void nome() {
       System.out.println(&quot;Nome do estudante: Oberdan&quot;);
    }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class Empregado extends Pessoa {

    public void nome() {
       System.out.println(&quot;Nome do empregado: Taylor&quot;);
    }
}&lt;/pre&gt;
&lt;br /&gt;
Agora, na nossa classe principal temos o seguinte código:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;/* Perceba que o tipo da variavel é Pessoa , mas não referencia um objeto do
 * tipo Pessoa, mas sim um objeto Estudante ou Empregado, essa variavel ref
 * pode referenciar qualquer objeto que extends a classe Pessoa.
 */

public class ClassePrincipal {

    public static void main(String[] args) {

       Pessoa ref = new Estudante();
  
       ref.nome(); // Referencia um objeto da classe Estudante(); 
  
       ref = new Empregado();
  
       ref.nome(); // Referencia um objeto da classe Empregado();
   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
O &lt;b&gt;polimorfismo&lt;/b&gt; permite que múltiplos objetos de&amp;nbsp;diferentes subclasses sejam tratados como objetos de uma única superclasse, e que&amp;nbsp;automaticamente sejam selecionados os métodos adequados a serem aplicados a um objeto&amp;nbsp;em particular, baseado na subclasse a que ele pertença.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/1511470152463663384/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/polimorfismo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/1511470152463663384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/1511470152463663384'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/polimorfismo.html' title='Polimorfismo'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-6424813112965897324</id><published>2012-02-15T10:01:00.000-08:00</published><updated>2012-02-16T05:30:27.702-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Herança"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Herança</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&amp;nbsp;Herança&lt;/b&gt; é uma forma de reutilização de softwares em que uma nova classe é criada absorvendo &amp;nbsp;membros de uma classe exixtentes e aprimorada com capacidades novas ou modificadas. Com a &lt;b&gt;Herança&lt;/b&gt;, você pode economizar tempo durante o desenvolvimento de um programa baseando novas classes no software existente.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ao herdar membros de uma classe exixtente, a classe que herdou é chamada de &lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;subclasse&lt;/span&gt;&lt;/b&gt;, e a que existia anteriormente chamada de &lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;superclasse&lt;/span&gt;&lt;/b&gt;.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
Para ficar mais claros vamos partir para um exemplo:&amp;nbsp;&lt;i&gt;Imagine que&amp;nbsp;estivéssemos implementando um programa que fosse utilizado em um concessionária&amp;nbsp;de veículos. Esta concessionária vende carros de passeio, jipes e veículos utilitários.&amp;nbsp;Para implementar as classes destes veículos poderíamos criar três classes distintas,&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
A seguir a classe Jipe:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:java; highlight: [28, 29, 30]&quot;&gt;public class Jipe {
 
    private String marca;
    private Double capacidadeTanqueCombustivel;
 
    // Métodos Get e Set do atributo capacidadeTanqueCombustivel
 
    public Double getTanqueCombustivel() {
       return capacidadeTanqueCombustivel;
    }
 
    public void setTanqueCombustivel(Double capacidadeTanqueCombustivel) {
       this.capacidadeTanqueCombustivel = capacidadeTanqueCombustivel;
    }
 
    // Métodos Get e Set do atributo marca
 
    public String getMarca() {
       return marca;
    }
 
    public void setMarca(String marca) {
       this.marca = marca;
    }
 
    // Método para representar a tração do Jipe
 
    public void ligarTracao4x4() {
       // Código aqui
    }
}&lt;/pre&gt;
&lt;br /&gt;
A classe que representa o nosso carro de passeio:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java; highlight: [28, 29, 30]&quot;&gt;public class CarroPasseio {

    private String marca;
    private Double capacidadeTanqueCombustivel;
 
    // Métodos Get e Set do atributo capacidadeTanqueCombustivel
 
    public Double getTanqueCombustivel() {
       return capacidadeTanqueCombustivel;
    }
 
    public void setTanqueCombustivel(Double capacidadeTanqueCombustivel) {
       this.capacidadeTanqueCombustivel = capacidadeTanqueCombustivel;
    }
 
    // Métodos Get e Set do atributo marca
 
    public String getMarca() {
       return marca;
    }
 
    public void setMarca(String marca) {
       this.marca = marca;
    }
 
    // Método para representar o ar condicionado do carro de passeio
 
    public void ligarArCondicionado() {
       // Código aqui
    }
}&lt;/pre&gt;
&lt;br /&gt;
E, finalmente, a classe que representa o nosso veículo utilitário:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java; highlight: [28, 29, 30]&quot;&gt;public class Utilitario {

    private String marca;
    private Double capacidadeTanqueCombustivel;
 
    // Métodos Get e Set do atributo capacidadeTanqueCombustivel
 
    public Double getTanqueCombustivel() {
       return capacidadeTanqueCombustivel;
    }
 
    public void setTanqueCombustivel(Double capacidadeTanqueCombustivel) {
       this.capacidadeTanqueCombustivel = capacidadeTanqueCombustivel;
    }
 
    // Métodos Get e Set do atributo marca
 
    public String getMarca() {
       return marca;
    }
 
    public void setMarca(String marca) {
       this.marca = marca;
    }
 
    // Método para representar o farol de milha do carro utilitário
 
    public void ligarFarolMilha() {
       // Código aqui
    }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Perceba que, nas linhas destacadas, temos as características&amp;nbsp;que dizem respeito a apenas um dos tipos de veículos, isto é, no nosso modelo,&amp;nbsp;apenas jipes têm &lt;b&gt;tração 4x4&lt;/b&gt;, somente os carros de passeio têm opção de&lt;b&gt; ligar o ar&amp;nbsp;condicionado&lt;/b&gt; e os utilitários tem &lt;b&gt;farol de milha.&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Todas os demais estados e comportamentos&amp;nbsp;são idênticos, na verdade para criar estas&amp;nbsp;três classes foi realizado uma simples cópia e cola dos membros que são iguais. Agora, se a concessionária resolvesse criar mais 8 tipos de veiculos difrentes, teríamos que repetir todos esses códigos?&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Na verdade nada disto seria necessário se nós tivéssemos utilizado&amp;nbsp;corretamente o conceito de herança da programação Orientada a Objetos. Perceba&amp;nbsp;que com exceção das características que estão grifadas todas as demais&amp;nbsp;são comuns a todos os veículos, ou seja, é possível que tenhamos uma &lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;superclasse&lt;/span&gt;&lt;/b&gt;&amp;nbsp;(classe Pai) Veiculo e que todas as demais herdem estas características comuns dela.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
A nossa classe Veiculo ficaria da seguinte forma:&lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class Veiculo {

    private String marca;
    private Double capacidadeTanqueCombustivel;
 
    // Métodos Get e Set do atributo capacidadeTanqueCombustivel
 
    public Double getTanqueCombustivel() {
       return capacidadeTanqueCombustivel;
    }
 
    public void setTanqueCombustivel(Double capacidadeTanqueCombustivel) {
       this.capacidadeTanqueCombustivel = capacidadeTanqueCombustivel;
    }
 
    // Métodos Get e Set do atributo marca
 
    public String getMarca() {
       return marca;
    }
 
    public void setMarca(String marca) {
       this.marca = marca;
    }
}&lt;/pre&gt;
&lt;br /&gt;
Tudo o que era comum a todos os veículos foi concentrado na classe
Veiculo. Para que as demais classes &lt;b&gt;herdem&lt;/b&gt; estas características nós devemos
utilizar a palavra reservada&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt; extends&lt;/span&gt;&lt;/b&gt;.
&lt;br /&gt;
&lt;br /&gt;
Então, as classes que definimos anteriormente, seriam reescritas da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;// Classe que representa o Jipe 

public class Jipe extends Veiculo{
   public void ligarTracao4x4()
   {
      //Código aqui
   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;// Classe que representa o Carro de passeio 

public class CarroPasseio extends Veiculo{
   public void ligarArCondicionado()
   {
      //Código aqui
   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;// Classe que representa o Utilitário 

public class Utilitario extends Veiculo {
   public void ligarFarolMilha()
   {
      //Código aqui
   }
}&lt;/pre&gt;
&lt;br /&gt;
Graficamente podemos representar esta hierarquia de classes da seguinte
forma:
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-O2dvlH6yT64/Tzv7nEnQ6YI/AAAAAAAAA74/a318Gzcc6SI/s1600/heran%C3%A7a.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-O2dvlH6yT64/Tzv7nEnQ6YI/AAAAAAAAA74/a318Gzcc6SI/s1600/heran%C3%A7a.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Nesta nova hierarquia de classes toda a subclasse de Veiculo irá&amp;nbsp;compartilhar as suas características, dizemos que um jipe, carro de passeio ou&amp;nbsp;utilitário são todos do tipo Veiculo. E da mesma forma toda a subclasse de Jipe irá&amp;nbsp;herdar as características tanto de Veiculo quanto de Jipe.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/6424813112965897324/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/heranca.html#comment-form' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/6424813112965897324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/6424813112965897324'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/heranca.html' title='Herança'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-O2dvlH6yT64/Tzv7nEnQ6YI/AAAAAAAAA74/a318Gzcc6SI/s72-c/heran%C3%A7a.png" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-7257276139794464680</id><published>2012-02-14T11:32:00.001-08:00</published><updated>2012-02-16T05:30:12.660-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Encapsulamento"/><category scheme="http://www.blogger.com/atom/ns#" term="Getters"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Private"/><category scheme="http://www.blogger.com/atom/ns#" term="Setters"/><title type='text'>Encapsulamento</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Apesar do nome relativamente esquisito o conceito é simples.&amp;nbsp;&lt;b&gt;Encapsulamento&lt;/b&gt; refere-se ao isolamento entre as partes do programa. Uma das&amp;nbsp;principais formas de fazer isso é proibindo o acesso direto as variáveis de um objeto&amp;nbsp;por objetos externos.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Para isso,&amp;nbsp;utilizamos os modificadores de acesso existentes em java.&amp;nbsp;Estes modificadores funcionam da seguinte forma:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;public:&lt;/span&gt;&lt;/b&gt; Qualquer objeto pode acessar o membro;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;default:&lt;/span&gt;&lt;/b&gt; Qualquer objeto do mesmo pacote pode acessar o membro e&amp;nbsp;subclasses de outros pacotes;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;protected:&lt;/span&gt; &lt;/b&gt;O membro é acessível apenas por objetos do mesmo pacote;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;private:&lt;/span&gt;&lt;/b&gt; O membro é acessível apenas internamente (próprio objeto);&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;class Conta {  
          
    private double salario;  
    private String nome;
 
}&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Um atributo privado só pode ser acessado ou alterado por código escrito dentro da classe na&amp;nbsp;qual ele foi definido. Para acessá-los em outras partes do programa, utilizamos&amp;nbsp;os métodos &lt;b&gt;getters&lt;/b&gt; e&lt;b&gt; setters&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Getters&lt;/b&gt;: Método que retorna o atributo.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Setters:&lt;/b&gt; Método que atribui/modifica o valor de um atributo.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Exemplo:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:java&quot;&gt;/* classe que demonstra o uso do get e set, como os atributos são do tipo
 * private, somente poderão ser acessados fora desta classe com o uso destes
 * métodos.
*/

class Conta {           
    private double salario;  
    private String nome;
 
    // Declarando os métodos Get e Set do atributo salario
 
    public double getSalario() {
       return salario;
    }
 
    public void setSalario(double salario) {
       this.salario = salario;
    }

    // Declarando os métodos Get e Set do atributo nome
 
    public String getNome() {
      return nome;
    }

    public void setNome(String nome) {
       this.nome = nome;
    }
}&lt;/pre&gt;
&lt;br /&gt;
A seguir, a classe AcessaConta mostra como é feito o acesso aos atributos do tipo private.
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;class AcessaConta {  
   public static void main(String[] args) {  
  
     Conta c = new Conta();
  
     // Chama o método set dos atributos nome e salario&amp;nbsp;e altera os seus valores
     c.setNome(&quot;Oberdan Martins&quot;); 
     c.setSalario(100);
  
     // Chama o método get dos atributos nome e salario e retorna os seus valores
     System.out.println(c.getNome());
     System.out.println(c.getSalario());
  
   }
}&lt;/pre&gt;
&lt;br /&gt;
Normalmente, os métodos&amp;nbsp;são &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; (publicos) e os atributos &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;b&gt;private&lt;/b&gt;&lt;/span&gt; (privados), isto ocorre pois nós desejamos&amp;nbsp;que os atributos de um objeto só possam ser alterados por ele mesmo, desta forma&amp;nbsp;nós inviabilizamos situações imprevistas.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/7257276139794464680/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/encapsulamento.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/7257276139794464680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/7257276139794464680'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/encapsulamento.html' title='Encapsulamento'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-4854836408145357925</id><published>2012-02-12T04:31:00.000-08:00</published><updated>2012-02-16T05:29:59.189-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Métodos"/><category scheme="http://www.blogger.com/atom/ns#" term="Sobrecarga"/><title type='text'>Métodos</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Vimos no &lt;a href=&quot;http://aprendendojavajuntos.blogspot.com/2012/02/orientacao-objetos.html&quot; target=&quot;_blank&quot;&gt;artigo anterior&lt;/a&gt; como criar uma classe e definir os atributos do objeto. Agora, vamos ver como definimos os métodos, ou seja, os comportamentos do objeto.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Tomando por base o algoritmo feito no artigo passado,&amp;nbsp;é possível realizar diversas operações em uma conta:&amp;nbsp;depósito, saque, transferência,&amp;nbsp;consultas, etc.&amp;nbsp;Essas operações são realizadas em métodos definidos na própria classe Conta.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Normalmente, os métodos acessam ou alteram os valores armazenados nos atributos dos objetos. Para acessar os atributos, devemos&amp;nbsp;utilizar a palavra reservada&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt; this&lt;/b&gt;&lt;/span&gt;.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Por exemplo, para&amp;nbsp;realizar a operação de depósito, podemos acrescentar o seguinte método na classe Conta.Veja a sua sintaxe:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-vtPoURRhZtM/TzewnXorv9I/AAAAAAAAA5w/cq38oURQGhE/s1600/metodo.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-vtPoURRhZtM/TzewnXorv9I/AAAAAAAAA5w/cq38oURQGhE/s1600/metodo.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Com base nesses novos conhecimentos, o programa do artigo passado ficaria o seguinte:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:java&quot;&gt;class Conta {
   int numero = 1;      
   double saldo = 1000.0;   
   double limite = 500.0;
 
   void deposita(double valor) { //Declarando método Deposita.
       this.saldo += valor;      //Adicionando valor ao atributo Saldo.
   }
}

class OrientacaoObjetos {
   public static void main(String[] args) {
  
     Conta referencia = new Conta();  // Referência de um objeto
  
     referencia.deposita(1000); // Chama o método deposita()
                                // e passa a quantia 1000 a variável valor
   
     System.out.println(&quot;Saldo Disponível: &quot; + referencia.saldo);

  }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
O método &lt;b&gt;deposita()&lt;/b&gt; não possui nenhum retorno lógico. Por isso, foi marcado com &lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;void&lt;/span&gt;&lt;/b&gt;. Mas,&amp;nbsp;para outros métodos, pode ser necessário definir um tipo de retorno específico.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Por exemplo, suponha um método para realizar a operação que consulta o saldo disponível das&amp;nbsp;contas. Suponha também que o saldo disponível é igual a soma do saldo e do limite. Então, esse&amp;nbsp;método deve somar os atributos saldo e limite e devolver o resultado. Por outro lado, esse método&amp;nbsp;não deve receber nenhum valor, pois todas as informações necessárias para realizar a operação estão&amp;nbsp;nos atributos dos objetos que representam as contas.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Então o código ficaria assim:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:java&quot;&gt;class Conta {  // Criando uma classe para o objeto Conta
    int numero = 1;         // Atributo numero
    double saldo = 1000.0;  // Atributo saldo 
    double limite = 500.0;  // Atributo limite
 
    void deposita(double valor) { //Declarando método Deposita.
        this.saldo += valor;      //Adicionando valor ao atributo Saldo.
    }
 
    double limiteTotal(){                //Declarando método limiteTotal.
        return this.saldo + this.limite; // Faz a soma do saldo + limite
    }
}

class OrientacaoObjetos {  // Classe que contém o método principal
    public static void main(String[] args) {  // método principal
  
      Conta referencia = new Conta();  // Referência de um objeto
  
      referencia.deposita(1000); // Chama o método deposita()
                                 // e passa a quantia 1000 a variável valor
  
      double total = referencia.limiteTotal(); // Armazenando a resposta 
                                               // de um método em uma variável
  
      System.out.println(&quot;Saldo Disponível: &quot; + total); // Imprimindo

   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Sobrecarga de Métodos&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Nas nossas classes, podemos necessitar de criar métodos que tenham os&amp;nbsp;mesmos nomes, mas que funcionem de maneira diferente dependendo dos&amp;nbsp;argumentos que informamos. Esta capacidade é chamada de&lt;b&gt; sobrecarga de métodos&lt;/b&gt;, ou &lt;b&gt;overloading de&amp;nbsp;métodos&lt;/b&gt;.&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Uma sobrecarga de métodos só é válida se as listas de parâmetros dos métodos são&amp;nbsp;diferentes entre si. Veja o exemplo:&lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;/* Nesta classe de nome gerente temos dois métodos com o mesmo nome 
 * porém, o primeiro, responsável por aumentar o salário em 10% 
 * não recebe parâmetro nenhum, já o segundo, recebe uma variável 
 * que será utilizada para realizar o cálculo do aumento do salário. 
*/

class Gerente {
    String nome;
    double salario;
 
    void aumentaSalario() {
        this.aumentaSalario(10);
    }
 
    void aumentaSalario(double taxa) {
       this.salario += (this.salario * taxa) / 100;
    }
}


// ......... Classe que contém o método principal ......... 

public class ExemploSobrecarga {
    public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
  
      Gerente c = new Gerente();
      c.salario = 1000;
  
      c.aumentaSalario(); // Faz chamada ao primeiro método
                          // Note que não passa parâmetro nenhum.
  
      System.out.println(&quot;Salario aumentado em 10%: &quot; + c.salario);
  
      System.out.print(&quot;\nDigite o percentual de aumento: &quot;);
      int x = scanner.nextInt();
  
      c.aumentaSalario(x); // Faz chamada ao segundo método, passando 
                           // o valor de x a variável taxa.
    
      System.out.println(&quot;Aumento de salario em &quot; + x + &quot;%: &quot; + c.salario);
   }
}&lt;/pre&gt;
&lt;br /&gt;
Por hoje é isso, qualquer dúvida não hesite em comentar ai em baixo.&lt;br /&gt;
&lt;br /&gt;
Abraços...</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/4854836408145357925/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/metodos.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/4854836408145357925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/4854836408145357925'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/metodos.html' title='Métodos'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-vtPoURRhZtM/TzewnXorv9I/AAAAAAAAA5w/cq38oURQGhE/s72-c/metodo.JPG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-5571580255090766339</id><published>2012-02-11T10:02:00.000-08:00</published><updated>2012-02-16T05:29:46.941-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Atributos"/><category scheme="http://www.blogger.com/atom/ns#" term="Classes"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Objetos"/><category scheme="http://www.blogger.com/atom/ns#" term="Orientação a Objetos"/><title type='text'>Orientação a Objetos</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos problemas&amp;nbsp;enfrentados pela programação procedural.&lt;/div&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Objetos:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Objetos são “coisas” que temos no mundo real e abstraímos no mundo&amp;nbsp;virtual para que possamos manipulá-los na resolução de problemas. Um objeto no&amp;nbsp;mundo real sempre possui estado e comportamento, isto é, ele possui características&amp;nbsp;e ações que são pertinentes a sua natureza. Para clarificar nada melhor do que alguns&amp;nbsp;exemplos:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-ob0rEpUTgH4/TzatB2zbZVI/AAAAAAAAA5g/9lQLpLsaIiA/s1600/oo.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-ob0rEpUTgH4/TzatB2zbZVI/AAAAAAAAA5g/9lQLpLsaIiA/s1600/oo.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Utilizando o exemplo do objeto&lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt; Conta&lt;/b&gt;&lt;/span&gt;, vamos ver como é realizado a orientação a objetos em Java.&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
&lt;b&gt;&lt;u&gt;Classes:&lt;/u&gt;&lt;/b&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Antes de um objeto ser criado, devemos definir quais serão os seus &lt;b&gt;atributos&lt;/b&gt; e &lt;b&gt;métodos&lt;/b&gt;. Essa&amp;nbsp;definição é realizada através de uma classe.&lt;/div&gt;
&lt;br /&gt;
-&amp;gt; Definindo os atributos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt; // Declarando uma classe com nome Conta e seus atributos
 
 class Conta {
    int numero;      // tipo int armazena números inteiros.
    double saldo;    // Tipo double armazena numeros com casas decimais
    double limite;
 }
&lt;/pre&gt;
&lt;br /&gt;
-&amp;gt;&amp;nbsp;Criando objetos:&lt;br /&gt;
&lt;br /&gt;
Após definir a classe Conta, podemos criar objetos a partir dela.&amp;nbsp;O comando para criar objetos é o&lt;span style=&quot;color: #741b47;&quot;&gt;&lt;b&gt; new&lt;/b&gt;&lt;/span&gt;.&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;class OrientacaoObjetos {
    public static void main(String[] args) {
  
       new Conta();  // Criando um objeto

   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ao utilizar o comando &lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;, um objeto é alocado em algumlugar da memória. Para que possamos&amp;nbsp;acessar esse objeto, precisamos da referência dele. O comando&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt; new&lt;/b&gt;&lt;/span&gt; devolve a referência do objeto&amp;nbsp;que foi criado.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Para guardar as referências devolvidas pelo comando &lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;new&lt;/span&gt;&lt;/b&gt;, devemos utilizar variáveis não primitivas.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Exemplo:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Conta referecia = &lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; Conta();&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Com a referência definida, podemos&amp;nbsp;alterar ou acessar os valores guardados nos atributos de um objeto.&amp;nbsp;A sintaxe&amp;nbsp;para acessar um atributo utiliza o operador &quot;.&quot;.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:java&quot;&gt;// Declarando uma classe com nome Conta e seus atributos

class Conta {
   int numero;      
   double saldo;   
   double limite;
}

// Classe que contém o método principal do programa

class OrientacaoObjetos {
   public static void main(String[] args) {
  
     Conta referencia = new Conta();  // Instancia um objeto
  
     referencia.numero = 1;
     referencia.saldo = 1000.0;
     referencia.limite = 500.0;
  
     // Imprime as informações na tela
  
     System.out.println(referencia.numero + &quot;\n&quot; +
                        referencia.saldo + &quot;\n&quot; + referencia.limite);

  }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-dv58Y6Nk0Bw/Tzeol0wnoLI/AAAAAAAAA5o/xzWUYzV9UCo/s1600/Classes.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-dv58Y6Nk0Bw/Tzeol0wnoLI/AAAAAAAAA5o/xzWUYzV9UCo/s1600/Classes.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Bom, no próximo artigo vamos falar um pouco sobre os &lt;b&gt;métodos&lt;/b&gt;, então nos vemos lá...</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/5571580255090766339/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/orientacao-objetos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/5571580255090766339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/5571580255090766339'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/orientacao-objetos.html' title='Orientação a Objetos'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-ob0rEpUTgH4/TzatB2zbZVI/AAAAAAAAA5g/9lQLpLsaIiA/s72-c/oo.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-4458874684329281666</id><published>2012-02-09T10:01:00.000-08:00</published><updated>2012-02-16T05:29:33.072-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arrays"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Arrays</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Um array é um objeto que armazena um número pré-definido de&amp;nbsp;
elementos, isto é, o seu tamanho é definido no momento da sua construção. Seus&amp;nbsp;
elementos são acessados através de índices que iniciam-se sempre por 0 (zero), ou&amp;nbsp;
seja, um array de tamanho quatro terá índices 0, 1, 2 e 3.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-Y01F1iNqR0w/TzQQQ7bXO4I/AAAAAAAAA5Y/75wvJsVsl20/s1600/array.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-Y01F1iNqR0w/TzQQQ7bXO4I/AAAAAAAAA5Y/75wvJsVsl20/s1600/array.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Para conhecer o tamanho total de um array basta você acessar o atributo &lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;length&lt;/span&gt;&lt;/b&gt;. Este atributo retorna um valor inteiro (int) que indica qual a capacidade máxima de armazenamento deste array.
&lt;br /&gt;
&lt;br /&gt;
Lembretes:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Primeira posição (índice)&lt;/b&gt;: de qualquer array é sempre 0;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Última posição (índice):&lt;/b&gt; é sempre o seu tamanho - 1 (length - 1).&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;br /&gt;
Exemplo simples de um Array:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class Arrays {
 
    public static void main (String[] args) {
  
     int[] numeros = new int[] {23, 12, 55, 02, 07, 19}; //declarando um array
  
     for(int i = 0; i &amp;lt; numeros.length; i++) { //Percorrendo o array ate total
        System.out.print(numeros[i] + &quot;, &quot;); //exibindo os elementos do array
     }
   }
}&lt;/pre&gt;
&lt;br /&gt;
Se formos percorrer todos elementos de um array, podemos utilizar o &lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;for&lt;/span&gt;&lt;/b&gt; de uma outra forma. Veja:
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;/* Exemplo que soma todos os numeros de um array */

public class Arrays {

   public static void main(String[] args) {
  
     int[] numeros = {87, 68, 94, 100, 83, 78, 85, 91, 76, 87};
     int soma = 0;
  
     for (int numero : numeros) //comando for com uma sintaxe diferente
                                //ele percorre todo o array
       soma += numero; //Soma todos os elementos do array
    
       System.out.print(&quot;Soma total dos elementos: &quot; + soma);
   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Arrays Multidimensionais&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Arrays multidimensionais são implementados como arrays dentro de arrays. São declarados ao&amp;nbsp;atribuir um novo conjunto de colchetes depois do nome do array. Por exemplo:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;i&gt;// array inteiro de 512 x 128 elementos&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;int [][] two = new int[512][128];&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Acessar um elemento em um array multidimensional é semelhante a acessar elementos em&amp;nbsp;um array de uma dimensão. Por exemplo:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class Arrays {

    public static void main (String[] args) {  

       String[][] contatos = {{&quot;Layla&quot; , &quot;735-1234&quot;, &quot;New York&quot;} ,
                              {&quot;Joyce&quot; , &quot;983-3333&quot; , &quot;Londres&quot;} ,
                              {&quot;Jenifer&quot; , &quot;456-3322&quot;, &quot;Sidney&quot;}};
     
       System.out.println(&quot;Nome: &quot; + contatos[0][0]);
       System.out.println(&quot;Tel : &quot; + contatos[0][1]);
       System.out.println(&quot;End : &quot; + contatos[0][2] + &quot;\n&quot;);
     
       System.out.println(&quot;Nome: &quot; + contatos[1][0]);
       System.out.println(&quot;Tel : &quot; + contatos[1][1]);
       System.out.println(&quot;End : &quot; + contatos[1][2] + &quot;\n&quot;);
     
       System.out.println(&quot;Nome: &quot; + contatos[2][0]);
       System.out.println(&quot;Tel : &quot; + contatos[2][1]);
       System.out.println(&quot;End : &quot; + contatos[2][2]);
   }
}
&lt;/pre&gt;
&lt;br /&gt;
Resultado do programa acima:

&lt;br /&gt;
&lt;br /&gt;
Nome: Layla&lt;br /&gt;
Tel &amp;nbsp; &amp;nbsp;: 735-1234&lt;br /&gt;
End &amp;nbsp; : New York&lt;br /&gt;
&lt;br /&gt;
Nome: Joyce&lt;br /&gt;
Tel &amp;nbsp; &amp;nbsp;: 983-3333&lt;br /&gt;
End &amp;nbsp; : Londres&lt;br /&gt;
&lt;br /&gt;
Nome: Jenifer&lt;br /&gt;
Tel &amp;nbsp; &amp;nbsp;: 456-3322&lt;br /&gt;
End &amp;nbsp; : Sidney&lt;br /&gt;
&lt;br /&gt;
É isso pessoal, espero que deu para esclarecer um pouco sobre este assunto. Qualquer dúvida é só postar um comentário aqui em baixo.</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/4458874684329281666/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/arrays.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/4458874684329281666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/4458874684329281666'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/arrays.html' title='Arrays'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Y01F1iNqR0w/TzQQQ7bXO4I/AAAAAAAAA5Y/75wvJsVsl20/s72-c/array.JPG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-5132784266096149177</id><published>2012-02-08T09:34:00.000-08:00</published><updated>2012-02-14T05:12:56.989-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Entrada de dados"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Scanner"/><title type='text'>Entrada de dados</title><content type='html'>Como eu faço para ler algo que o usuário digita no teclado?&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
No Java existe uma classe chamada &lt;b&gt;scanner&lt;/b&gt; que engloba diversos métodos para realizar este serviço.&lt;/div&gt;
&lt;br /&gt;
Veja um exemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;import java.util.Scanner;

public class EntradaDeDados {

   public static void main(String[] args) {
  
      Scanner x = new Scanner(System.in);
      System.out.print(&quot;Digite seu nome: &quot;);
      String nome = x.next();
      System.out.println(&quot;Bem vindo &quot; + nome);
   }
}
&lt;/pre&gt;
&lt;br /&gt;
Inicialmente, definimos a chamada ao pacote que contém a classe Scanner: &lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java; toolbar: false&quot;&gt;import java.util.Scanner;&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Definimos uma variável, denominada x, que será criada a partir da classe Scanner e direcionada para a entrada padrão: &lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java; toolbar: false; first-line: 7&quot;&gt;     Scanner x = new Scanner(System.in);&lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
De forma semelhante, mostramos uma mensagem solicitando informação do usuário: &lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java; toolbar: false; first-line: 8&quot;&gt;     System.out.print(&quot;Digite seu nome: &quot;); &lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Utilizamos a variável x para chamarmos o método que fará o recebimento dos dados digitados: &lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java; toolbar: false; first-line: 9&quot;&gt;    String nome = x.next(); &lt;/pre&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
A classe Scanner possui diversos métodos que podem ser utilizados para realizar este serviço. Os principais métodos que podemos utilizar, neste caso, são: &lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java; toolbar: false&quot;&gt;String i = scanner.next() //Aguarda uma entrada em formato String 
int i = scanner.nextInt() //Aguarda uma entrada em formato Inteiro 
long i = scanner.nextLong() //Aguarda uma entrada em formato Inteiro Longo 
float i = scanner.nextFloat() //Aguarda uma entrada em formato Fracionário 
Double i = scanner.nextDouble() //Aguarda uma entrada em formato Fracionário &lt;/pre&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/5132784266096149177/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/entrada-de-dados.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/5132784266096149177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/5132784266096149177'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/entrada-de-dados.html' title='Entrada de dados'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-6452683290325205781</id><published>2012-02-07T10:01:00.000-08:00</published><updated>2012-02-14T05:14:32.689-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Estruturas de controles"/><category scheme="http://www.blogger.com/atom/ns#" term="For"/><category scheme="http://www.blogger.com/atom/ns#" term="If"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="While"/><title type='text'>Estruturas de controle de decisão</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Estruturas de controle de decisão são instruções em linguagem Java que permitem que blocos

específicos de código sejam escolhidos para serem executados, redirecionando determinadas

partes do fluxo do programa.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;IF - ELSE&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
O comando if permite que valores booleanos sejam testados. Se o valor passado como parâmetro

para o comando if for true(verdadeiro) o bloco do if é executado caso contrário o bloco do else é executado.

O parâmetro passado para o comando if deve ser um valor booleano, caso contrário o código

não compila. O comando else e o seu bloco são opcionais.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Exemplo: &lt;/div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class Controles {
   public static void main(String[] args) {
  
     int nota1 = 4;
     int nota2 = 3;
     int resultado = nota1 + nota2; 
  
     if (resultado &amp;gt; 6) { 
        System.out.print(&quot;Aluno aprovado&quot;);
     } else {
        System.out.print(&quot;Aluno reprovado&quot;);
     }
  
     //se resultado maior(&amp;gt;) que 6, aluno aprovado,
     //senao, aluno reprovado
   }
}&amp;nbsp;&lt;/pre&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;WHILE&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Através do comando while, é possível definir quantas vezes um determinado trecho de código deve ser executado pelo computador.&lt;/div&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;/* Este codigo ira imprimir os numeros inteiros ate que 
 * x seja menor(&amp;lt;) que 10. A instrucao x++ funciona como 
 * um contador, ela vai incrementando o valor de x com  mais
 * um valor a cada execucao do codigo. Se essa linha for removida
 * o codigo ficara em uma repeticao infinita. */

public class Controles {
   public static void main(String[] args) {
 
     int x = 0;
  
     while (x &amp;lt; 10) {
        System.out.println(x);
        x++;
     }
   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: large;&quot;&gt;DO - WHILE&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
A declaração do-while é similar ao while. Ele executa a instrução pelo menos uma vez e continua executando enquanto a expressão booleana for verdadeira.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class Controles {
   public static void main(String[] args) {
 
     int x = 0;
  
     // O do-while garante que pelo  menos uma vez o codigo seja executado
  
     do {
        System.out.println(x);
        x++;
     } while (x &amp;lt; 10);
   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: large;&quot;&gt;FOR&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
A declaração for, como nas declarações anteriores, permite a execução do mesmo código uma quantidade determinada de vezes.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
for possui três argumentos:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;for (&lt;span style=&quot;color: blue;&quot;&gt;declaração_inicial&lt;/span&gt;;&lt;span style=&quot;color: lime;&quot;&gt; &lt;span style=&quot;color: #bf9000;&quot;&gt;expressão_lógica&lt;/span&gt;&lt;/span&gt;; &lt;span style=&quot;color: #38761d;&quot;&gt;salto&lt;/span&gt;) {&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;instrução1;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;instrução2;
...&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;}&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
onde:&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;declaração_inicial:&lt;/span&gt; inicializa uma variável para o laço&lt;br /&gt;
&lt;span style=&quot;color: #bf9000;&quot;&gt;expressão_lógica:&lt;/span&gt; compara a variável do laço com um valor limite&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;salto:&lt;/span&gt; atualiza a variável do laço. &lt;br /&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;/* Neste exemplo, uma variável i, do tipo int, é inicializada com o valor zero. A expressão lógica
&quot;i é menor que 10&quot; é avaliada. Se for verdadeira, então a instrução dentro do laço é
executada. Após isso, a expressão i terá seu valor adicionado em 1 e, novamente, a condição
lógica será avaliada. Este processo continuará até que a condição lógica tenha o valor falso. */

public class Controles {
   public static void main(String[] args) {
 
     for (int i = 0; i &amp;lt; 10; i++) {
        System.out.print(&quot;item: &quot; + i);
     }
 }
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/6452683290325205781/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/vetores-e-matrizesarrays.html#comment-form' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/6452683290325205781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/6452683290325205781'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/vetores-e-matrizesarrays.html' title='Estruturas de controle de decisão'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-1058562983332654581</id><published>2012-02-06T10:12:00.000-08:00</published><updated>2012-02-14T05:15:45.000-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Operações matematicas"/><category scheme="http://www.blogger.com/atom/ns#" term="Potência"/><category scheme="http://www.blogger.com/atom/ns#" term="Variáveis"/><title type='text'>Operações matemáticas</title><content type='html'>Depois de vermos um exemplo básico de como é um código em Java, veremos agora como são feitas as operações matemáticas simples.&lt;br /&gt;
&lt;br /&gt;
Antes vamos ver 3 coisas importantes para entedermos os códigos que serão exibidos:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1 - operadores matemáticos:&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-D7uKPiYQlwI/TzAYs3mIZ-I/AAAAAAAAA5Q/F8RmAX_TYzE/s1600/operadores.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;186&quot; src=&quot;http://2.bp.blogspot.com/-D7uKPiYQlwI/TzAYs3mIZ-I/AAAAAAAAA5Q/F8RmAX_TYzE/s400/operadores.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;2 - Usando variáveis:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Uma variável é simplesmente um espaço vago, reservado e rotulado para armazenar dados. Toda variável tem um nome que a identifica univocamente e um valor, que corresponde à informação a ela atribuida.&lt;br /&gt;
A sintaxe é: &lt;u&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;b&gt;Tipo_de_variável&lt;/b&gt;&lt;/span&gt;&lt;/u&gt; &lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;nome_da_variável&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
Exemplo: &lt;span style=&quot;color: #741b47;&quot;&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt; x;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3 - Introduzindo comentários no código:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Um comentário é uma porção de texto que não tem função para o compilador Java, mas é útil ao leitor humano. Assim sendo, um comentário é identificado mas ignorado completamente pelo compilador Java. A utilidade dos comentários é óbvia: deve conter explicações sobre um particular desenvolvimento do código, permitindo ao leitor compreender claramente o que se deseja realizar.&lt;br /&gt;
&lt;br /&gt;
/* */ = &lt;span style=&quot;color: #38761d;&quot;&gt;/* utilizado para fazer blocos&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; de comentários durante a escrita do programa */&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
// =&lt;span style=&quot;color: blue;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;// Utilizado para fazer um comentário de apenas uma linha&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Agora vejamos um exemplo de um programa que some dois números:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class OperacoesSimples {

   public static void main(String[] args) {
  
      int n;
      int x = 10;
      int z = 7;
  
      n = x + z;
  
      // Podemos exibir o resultado exibindo a variavel
      System.out.println(&quot;O resultado da soma: &quot; + n);
  
      // Ou podemos realizar a operação direto na mensagem de exibição
      System.out.print(&quot;Resultado mostrado de outra forma: &quot; + (x + z));
   }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Agora exemplo dos outros operadores:&lt;/u&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class OperacoesSimples {

   public static void main(String[] args) {
  
     int x = 10;
     int y = 3;
  
     System.out.println(&quot;Subtraindo:............&quot; + (x - y));
     System.out.println(&quot;Multiplicando:.........&quot; + (x * y));
     System.out.println(&quot;Dividindo:.............&quot; + (x / y));
     System.out.println(&quot;Resultado da divisao:..&quot; + (x % y));
   }
}
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Resultado:&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
Subtraindo:............7&lt;br /&gt;
Multiplicando:.........30&lt;br /&gt;
Dividindo:.............3&lt;br /&gt;
Resultado da divisao:..1&lt;br /&gt;
&lt;br /&gt;
Agora, vamos realizar uma potencia, utilizando o seguinte comando: &lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;Math.pow(base, potencia).&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;public class OperacoesSimples {

   public static void main(String[] args) {
  
     int x = 5;
     int y = 2;
  
     int i = (int)(Math.pow(y, x));
  
     /* Poderiamos colocar diretamente numeros no 
     lugar de (y, x). Por exemplo: (2, 5) */
  
     System.out.print(&quot;A potencia 2 elevado a 5 e: &quot; + i);
   }
}
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/1058562983332654581/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/operacoes-matematicas-simples.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/1058562983332654581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/1058562983332654581'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/operacoes-matematicas-simples.html' title='Operações matemáticas'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-D7uKPiYQlwI/TzAYs3mIZ-I/AAAAAAAAA5Q/F8RmAX_TYzE/s72-c/operadores.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-2818237485693216494</id><published>2012-02-04T14:18:00.000-08:00</published><updated>2012-02-14T05:16:35.640-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="Hello"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Primeiro programa"/><title type='text'>Primeiro programa</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Bom, vamos conhecer a sintaxe dos programas desenvolvidos em Java. Você pode utilizar dois métodos para escrever, compilar e rodar os programas, a primeira é por intermédio de uma console e um editor de texto e a segunda é utilizando uma IDE como NetBeans ou Eclipse (que será utilizado para escrever os programas de exemplo).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Continuando, apresento nosso primeiro programa, o clássico &quot;Alô pessoal!&quot;. O objetivo deste programa é simplesmente escrever na tela a frase &quot;Alô pessoal!&quot;. Vejamos como é o código fonte:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush: java; toolbar: false&quot;&gt;public class Hello {
     public static void main(String[] args) {
          System.out.println(&quot;Alo pessoal&quot;);
     }
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Todo programa Java deve conter ao menos uma &lt;span style=&quot;color: #741b47;&quot;&gt;&lt;b&gt;&lt;u&gt;classe&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;, e que é dentro de uma classe que vão os dados e os procedimentos.&lt;/li&gt;
&lt;li&gt;O &lt;span style=&quot;color: #741b47;&quot;&gt;&lt;b&gt;&lt;u&gt;método main&lt;/u&gt;&lt;/b&gt;&lt;/span&gt; é o ponto onde se dá o início da execução do programa, isto é, um método chamado automaticamente pela JVM.&lt;/li&gt;
&lt;li&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;System.out.print&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&amp;nbsp;é o nome de uma função que serve para escrever informações textuais na tela. Os dados a serem escritos, devem estar delimitados entre os parênteses &quot;(&quot; e &quot;)&quot;. Pode ser:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;print:&lt;/b&gt;&lt;/span&gt; escreve o dado e mantém o cursor na mesma linha.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;println&lt;/b&gt;&lt;/span&gt;: escreve o dado e muda o cursor para próxima linha.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
Ex: Mostra cada palavra em uma linha.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush: java; toolbar: false&quot;&gt;public class Hello {
     public static void main(String[] args) {
          System.out.println(&quot;Alo &quot;);
          System.out.print(&quot;pessoal!&quot;);
     }
}
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;PARA PRATICAR!!!&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Altere o &amp;nbsp;programa para que mostre a seguinte mensagem:&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Bem vindo a programação&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Java [SeuNome]!!!&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/2818237485693216494/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/primeiro-programa.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/2818237485693216494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/2818237485693216494'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/primeiro-programa.html' title='Primeiro programa'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6110333558793187191.post-2205290527368134218</id><published>2012-02-03T16:01:00.000-08:00</published><updated>2012-02-14T05:17:33.236-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Conhecendo Java"/><category scheme="http://www.blogger.com/atom/ns#" term="J2EE"/><category scheme="http://www.blogger.com/atom/ns#" term="J2ME"/><category scheme="http://www.blogger.com/atom/ns#" term="J2SE"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Conhecendo Java</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;UM POUCO DE HISTÓRIA:&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-BiRHmkFprso/Ty2j1xiUydI/AAAAAAAAA24/vflH-060FOk/s1600/default.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-BiRHmkFprso/Ty2j1xiUydI/AAAAAAAAA24/vflH-060FOk/s1600/default.jpeg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems.&lt;br /&gt;&lt;br /&gt;A motivação original do Java era a necessidade de uma linguagem independente de plataforma que podia ser utilizada em vários produtos eletrônicos, tais como torradeiras e refrigeradores.&lt;/span&gt;&lt;/div&gt;
&lt;div id=&quot;__ss_3919781&quot; style=&quot;width: 425px;&quot;&gt;
&lt;b style=&quot;display: block; margin: 12px 0 4px;&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/tiinfnet/conhecendo-java&quot; target=&quot;_blank&quot; title=&quot;Conhecendo Java&quot;&gt;Conhecendo Java&lt;/a&gt;&lt;/b&gt; &lt;br /&gt;
&lt;iframe frameborder=&quot;0&quot; height=&quot;355&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://www.slideshare.net/slideshow/embed_code/3919781&quot; width=&quot;425&quot;&gt;&lt;/iframe&gt; 
&lt;br /&gt;
&lt;div style=&quot;padding: 5px 0 12px;&quot;&gt;
View more &lt;a href=&quot;http://www.slideshare.net/&quot; target=&quot;_blank&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/tiinfnet&quot; target=&quot;_blank&quot;&gt;TI Infnet&lt;/a&gt;&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Ambientes de desenvolvimento:&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
É possível desenvolver aplicações em Java através de vários ambientes de desenvolvimento integrado (IDEs). Dentre as opções mais utilizadas pode-se destacar:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;Eclipse&lt;/span&gt; — um projeto aberto iniciado pela IBM&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;JBuilder&lt;/span&gt; — um ambiente desenvolvido pela empresa Borland&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;NetBeans&lt;/span&gt; (software livre) — uma IDE desenvolvida pela Sun Microsystems&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;b&gt;Extensões em Java:&lt;/b&gt;&lt;/u&gt;&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;J2ME&lt;/span&gt; (Micro-Edition) - É a plataforma Java para dispositivos compactos, como celulares, PDAs, controles remotos, e uma outra gama de dispositivos.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;J2SE&lt;/span&gt; (Standard Edition) - É uma ferramenta de desenvolvimento para a plataforma Java. Ela contém todo o ambiente necessário para a criação e execução de aplicações Java, incluindo a máquina virtual Java (JVM), o compilador Java, as APIs do Java e outras ferramentas utilitárias para uma melhor funcionalidade.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;JEE &lt;/span&gt;(Enterprise Edition) - Inclui toda a funcionalidade existente na plataforma Java SE mais todas as funcionalidades necessárias para o desenvolvimento e execução de aplicações em um ambiente corporativo. Fornecem funcionalidade para implementar software Java distribuído, tolerante a falhas e multi-camada, baseada amplamente em componentes modulares executando em um servidor de aplicações, além disso, contém bibliotecas desenvolvidas para o acesso a base de dados, RPC, CORBA, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Se tiver um tempinho, assista a palestra realizada no Campus Party falando sobre Java e software livre:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;object class=&quot;BLOGGER-youtube-video&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot; data-thumbnail-src=&quot;http://0.gvt0.com/vi/1plw_BKBGxw/0.jpg&quot; height=&quot;266&quot; width=&quot;320&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/1plw_BKBGxw&amp;fs=1&amp;source=uds&quot; /&gt;



&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;



&lt;embed width=&quot;320&quot; height=&quot;266&quot;  src=&quot;http://www.youtube.com/v/1plw_BKBGxw&amp;fs=1&amp;source=uds&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Muito Obrigado pela atenção e continuaremos no próximo tópico!!!&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aprendendojavajuntos.blogspot.com/feeds/2205290527368134218/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/conhecendo-java.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/2205290527368134218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6110333558793187191/posts/default/2205290527368134218'/><link rel='alternate' type='text/html' href='http://aprendendojavajuntos.blogspot.com/2012/02/conhecendo-java.html' title='Conhecendo Java'/><author><name>Oberdan</name><uri>http://www.blogger.com/profile/10471621031589554545</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-BiRHmkFprso/Ty2j1xiUydI/AAAAAAAAA24/vflH-060FOk/s72-c/default.jpeg" height="72" width="72"/><thr:total>2</thr:total><georss:featurename>Três Corações - MG, Brasil</georss:featurename><georss:point>-21.7081462 -45.2695355</georss:point><georss:box>-21.944188200000003 -45.585392500000005 -21.4721042 -44.9536785</georss:box></entry></feed>