<?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: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-22406729</id><updated>2012-02-09T19:41:52.207-08:00</updated><title type='text'>O Ser e o Java</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22406729.post-8521221323468540829</id><published>2007-08-01T14:31:00.000-07:00</published><updated>2007-08-01T14:47:25.884-07:00</updated><title type='text'>3.3-Alguns erros a evitar.[repost7-Continuação]</title><content type='html'>&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;A chamada a &lt;b&gt;&lt;i&gt;bolha&lt;/i&gt;(a);&lt;/b&gt; faz executar um algoritmo de ordenação(do menor para o maior) conhecido como &lt;b&gt;BubbleSort&lt;/b&gt; que ordenará o array &lt;b&gt;a&lt;/b&gt;. Esse método é ótimo para demonstração, mas péssimo em eficiência (Quando precisar de eficiência, procure usar um algoritmo como &lt;b&gt;MergeSort&lt;/b&gt;, por exemplo). &lt;br /&gt; Repare que esse método faz várias passagens pelo array comparando pares sucessivos em cada passagem. Se um par estiver em uma ordem crescente, ou os valores forem iguais, nada será mudado. Se um par estiver na ordem decrescente, seus valores são trocados no array. &lt;br /&gt;No trecho: &lt;b&gt;&lt;i&gt;mudaValor&lt;/i&gt;(a,j,j+1);&lt;/b&gt; haverá uma chamada para trocar a posição de dois elementos para ficarem em ordem crescente. Deve ser notado que uma referência &lt;b&gt;ref&lt;/b&gt; é passada junto a dois números inteiros que representam os índices do array, e &lt;b&gt;temp&lt;/b&gt; será a variável que armazenará o conteúdo temporariamente de um dos valores para evitar que qualquer conteúdo seja perdido durante as atribuições. &lt;br /&gt; É necessário reparar bem nessa última assinatura do método &lt;b&gt;&lt;i&gt;mudaValor(int[] ref,int x,int y).&lt;/i&gt;&lt;/b&gt; É a popular operação de &lt;b&gt;swap &lt;/b&gt;(troca) de variáveis que veremos mais a fundo no próximo tópico.&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Uma provável solução para a classe &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;Confusao &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;pode ser &lt;span style="color: rgb(68, 68, 68);"&gt;:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; class &lt;/span&gt;&lt;span style="color: blue;"&gt;Solucao&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;{ &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//classe com as devidas correcoes&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; void mudaArray(int a[]){&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;         &lt;/span&gt;for(int i=0;i"menor"a.length;i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;        &lt;br /&gt;             &lt;/span&gt;a[i]+=17; &lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt; &lt;br /&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;br /&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; int mudaElemento(int a){ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;br /&gt;              &lt;/span&gt;a*=10;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;br /&gt;           return a;&lt;span style=""&gt;                  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; void troca(int[] ref,int x,int y){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt; &lt;br /&gt;&lt;/span&gt;        int temp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;br /&gt;  &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;temp=ref[x];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;br /&gt;  &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;ref[x]=ref[y];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;&lt;br /&gt;         &lt;/span&gt;ref[y]=temp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;   &lt;br /&gt;                                                 &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;&lt;br /&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; void bolha(int []a){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt; &lt;br /&gt;     &lt;/span&gt;for(int i=0;i"menor"a.length;i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt; &lt;br /&gt;      &lt;/span&gt;for(int j=0;j"menor"a.length-1;j++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;  &lt;br /&gt;&lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;if(a[j]"maior"a[j+1])&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt; &lt;br /&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;troca(a,j,j+1);&lt;span style=""&gt;      &lt;br /&gt;        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;                    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;}&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; void main(&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; []GUJ){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;  &lt;br /&gt;&lt;/span&gt;       int a[]={123,6111,52,13,2};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;&lt;br /&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; s="GUJ";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;br /&gt; &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt; &lt;br /&gt;  &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;mudaArray(a);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;  &lt;br /&gt;         &lt;/span&gt;for(int i=0;i"menor"a.length;i++) &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//para exibir os elementos modificados&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;br /&gt;   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.out.println(a[i]+"\n");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;a[2]=mudaElemento(a[2]); &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//passagem por valor&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;br /&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.out.println("Valor do elemento na posicao 3 do array:"+a[2]+"\n");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;s=s.concat(" O Maior Forum De Usuarios Java Do Brasil");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;br /&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.out.println(s+"\n");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;      &lt;br /&gt;          &lt;/span&gt;bolha(a); &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//ordena os elementos&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;    &lt;br /&gt;   &lt;/span&gt;for(int i=0;i"menor"a.length;i++) &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//para exibir os elementos ordenados&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;br /&gt;  &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println(a[i]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt; &lt;br /&gt;   &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;}&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;&lt;/span&gt;}&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; //fim da classe&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Acabamos com esse &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;overloading&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; desnecessário, o programador deve escrever os&lt;br /&gt;métodos mais intuitivos (de fácil compreensão) possíveis, logo foi eliminada aquela&lt;br /&gt; população de &lt;b&gt;&lt;i&gt;mudaValor&lt;/i&gt;&lt;/b&gt; em série por &lt;b&gt;&lt;i&gt;mudaArray&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;mudaIndice&lt;/i&gt;&lt;/b&gt; e troca(lembrando que&lt;br /&gt; o que manipulava String foi eliminado!). Para &lt;b&gt;&lt;i&gt;mudaArray&lt;/i&gt;&lt;/b&gt; e &lt;b&gt;&lt;i&gt;bolha&lt;/i&gt;&lt;/b&gt;(que já funcionavam no&lt;br /&gt; exemplo anterior) apenas incluímos o laço for para correta exibição dos elementos na tela.&lt;br /&gt; Em :&lt;span style=""&gt; &lt;br /&gt;     &lt;/span&gt;&lt;b&gt;a[2]=mudaElemento(a[2]);&lt;/b&gt;&lt;br /&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Fez-se necessária essa atribuição porque é o único modo de se receber o resultado da&lt;br /&gt;cópia passada como parâmetro para &lt;b&gt;&lt;i&gt;mudaElemento&lt;/i&gt;&lt;/b&gt;(), devido a passagem ser por valor.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Já para a &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;String&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; eliminamos o gasto de ter aquele método inútil na memória e fizemos a&lt;br /&gt;concatenação (via &lt;b&gt;&lt;i&gt;concat&lt;/i&gt;&lt;/b&gt;()) que adiciona uma &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;String&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; ao final da &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;String&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; &lt;b&gt;s &lt;/b&gt;(de valor "GUJ").&lt;br /&gt; É importante perceber que o objeto &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;String&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; é imutável(na verdade, nem tanto, veja em http://blog.caelum.com.br/)&lt;br /&gt;mas sua variável de referência na &lt;b&gt;stack&lt;/b&gt; não!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Nesse exemplo, existem 3 objetos &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;String&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; em heap&lt;br /&gt; ("GUJ"," O Maior Forum De Usuarios Java Do Brasil" e "GUJ O Maior Forum De Usuarios Java Do Brasil"),&lt;br /&gt;mas apenas um está sendo referenciado("GUJ O Maior Forum De Usuarios Java Do Brasil").&lt;br /&gt;Os demais são considerados perdidos! Já pensou num programa ter zilhões de concatenações e&lt;br /&gt;Strings novas sendo criadas á todo momento? Um &lt;b&gt;OutOfMemoryError&lt;/b&gt; na sua aplicação&lt;br /&gt;poderia ser catastrófico! Pense bem antes de precisar concatenar muitas Strings&lt;br /&gt;(A classe &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;StringBuffer&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; e &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;StringBuilder&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; são para isso!).E a &lt;b&gt;heap&lt;/b&gt; pode ser relativamente&lt;br /&gt;vasta. Mas não é infinita.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Essa classe de “Solução” é perfeita?Não. Longe disso. Ela apenas serve para ilustrar que é&lt;br /&gt;melhor que a anterior, mas várias otimizações podem (e devem!) ser feitas. O uso do&lt;br /&gt;modificador &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;static&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; em excesso é uma forma pobre de programação (e &lt;b&gt;proceduralização&lt;/b&gt;&lt;br /&gt;do Java!) e o único intuito no exemplo em uso é evitar a criação de instâncias da classe&lt;br /&gt;para chamar os métodos. E o método &lt;b&gt;&lt;i&gt;mudaElemento&lt;/i&gt;&lt;/b&gt; poderia ser eliminado apenas&lt;br /&gt;colocando um &lt;b&gt;if&lt;/b&gt; em &lt;b&gt;&lt;i&gt;mudaArray&lt;/i&gt;&lt;/b&gt; verificando se é dado elemento do array e efetuar a&lt;br /&gt;operação desejada quando este for encontrado. Na vida real de programador é necessário&lt;br /&gt;ser mais atencioso (e menos preguiçoso!) para observar as melhorias que sempre podem&lt;br /&gt;ser feitas em um programa.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Nota&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;: O tamanho da &lt;b&gt;heap&lt;/b&gt; é calculado baseado na memória física (&lt;b&gt;RAM&lt;/b&gt;) da máquina e é&lt;br /&gt;feito pelo algoritmo que faz alocação de espaço para tenta usar o máximo possível.&lt;br /&gt;Na verdade, ele tenta usar metade da memória disponível, mas se a memória for inferior a&lt;br /&gt; 160MegaBytes, ele (o algoritmo alocador de espaço) tentará usar o máximo possível.&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Nota2&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;: Deve-se salientar que em Java o programador não é responsável pela &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;liberação&lt;br /&gt;de memória, não possuindo qualquer capacidade de manipulação direta dos objetos&lt;br /&gt;residentes em memória &lt;b&gt;heap&lt;/b&gt;. Em C, por exemplo, o programador é responsável pela&lt;br /&gt;liberação da memória em uso.Isso é perigoso!Em Java, o coletor de lixo(&lt;b&gt;Garbage&lt;/b&gt; &lt;b&gt;&lt;br /&gt;Collector&lt;/b&gt;) se encarrega de &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;limpá-la pelo programador, evitando erros como acesso a&lt;br /&gt;dados que foram desalocados e estouro pela não liberação de objetos.O programador não&lt;br /&gt; tem o menor controle sobre o coletor de lixo, que é uma &lt;b&gt;thread&lt;/b&gt; de baixa prioridade da&lt;br /&gt;Máquina Virtual, cuida de todo o processo.O máximo que é possível fazer é chamar &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;&lt;br /&gt;System&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;.&lt;b&gt;&lt;i&gt;gc&lt;/i&gt;&lt;/b&gt;(); para solicitar a execução do coletor, mas não é garantida a sua execução.&lt;br /&gt;Cuide para que o objeto que tenha que ser coletado não possua nenhuma referência a ele&lt;br /&gt; (ou uma atribuição &lt;b&gt;null&lt;/b&gt; depois &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;de&lt;span style="color: rgb(68, 68, 68);"&gt; seu uso),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;pois só assim o coletor poderá entrar em ação.&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 12pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-8521221323468540829?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/8521221323468540829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=8521221323468540829' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/8521221323468540829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/8521221323468540829'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2007/08/33-alguns-erros-evitarrepost7-continuao.html' title='3.3-Alguns erros a evitar.[repost7-Continuação]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-577105456540706698</id><published>2007-08-01T14:22:00.000-07:00</published><updated>2007-08-01T14:31:16.504-07:00</updated><title type='text'>3.3-Alguns erros a evitar.[repost6]</title><content type='html'>&lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Veja a seguinte classe:&lt;br /&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; class &lt;/span&gt;&lt;span style="color: blue;"&gt;Confusao&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;{ &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//classe com muitos erros propositais!!! ;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; s;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; void mudaValor(&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; a[]){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;         &lt;/span&gt;for(&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; i=0;i"menor"a.length;i++)&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;           &lt;/span&gt;a[i]+=17; &lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; mudaValor(&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; a){ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;a*=10;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;       &lt;/span&gt;return a;&lt;span style=""&gt;                       &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;                                       &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; mudaValor(&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; s){ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;s=s.concat(" O Maior Forum De Usuarios Java Do Brasil");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;          &lt;/span&gt;return s;&lt;span style=""&gt;                          &lt;/span&gt;}&lt;span style=""&gt;       &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; void mudaValor(&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;[] ref,&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; x,&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; y){ &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//troca os&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//elementos&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;em&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;um&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;array&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; temp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;temp=ref[x];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;ref[x]=ref[y];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;ref[y]=temp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;                                               &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;}&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; void bolha(&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; []a){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;for(&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; i=0;i"menor"a.length;i++) &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//controla o número de passagens&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;for(&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; j=0;j"menor"a.length-1;j++) &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//controla as comparações e&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//trocas&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;if(a[j]"maior"a[j+1]) &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//compara o elemento com o seguinte,se for&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//maior&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;b&gt;&lt;i&gt;mudaValor&lt;/i&gt;&lt;/b&gt;(a,j,j+1); &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//haverá a troca&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.&lt;span style=""&gt;                &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;                              &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;} &lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;                                               &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; void main(&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; []GUJ){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; a[]={123,6111,52,13,2};&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;s=&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;("GUJ");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//super exemplo de Overloading-sobrecarga de métodos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;b&gt;&lt;i&gt;mudaValor&lt;/i&gt;&lt;/b&gt;(a); &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//muda o valor do array&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.out.println(a); &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//array eh um objeto sera exibido seu&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;              &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//endereço Heap&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;b&gt;&lt;i&gt;mudaValor&lt;/i&gt;&lt;/b&gt;(a[2]); &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//muda o valor da variavel&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println(a[2]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;mudaValor&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;(s); &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//tenta mudar o valor da String&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println(s);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;i&gt;bolha&lt;/i&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;(a);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.out.println(a);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;}&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Compile (&lt;b&gt;&lt;i&gt;javac&lt;/i&gt;&lt;/b&gt; &lt;b&gt;&lt;i&gt;Confusao&lt;/i&gt;&lt;/b&gt;.&lt;b&gt;&lt;i&gt;java&lt;/i&gt;&lt;/b&gt; )e rode (&lt;b&gt;&lt;i&gt;java&lt;/i&gt;&lt;/b&gt; &lt;b&gt;&lt;i&gt;Confusao&lt;/i&gt;&lt;/b&gt;).Uma classe perfeita não?&lt;br /&gt;Ela é perfeita para se jogar no lixo!Os piores erros são o que passam na compilação e na&lt;br /&gt;execução, pois estes são difíceis de serem depurados!Nesse exemplo será fácil de ver os&lt;br /&gt;erros, mas nem sempre será assim!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; Temos 5 métodos de classe além do &lt;b&gt;&lt;i&gt;main&lt;/i&gt;&lt;/b&gt;(), sendo&lt;br /&gt;que 4 deles com mesmo nome(&lt;b&gt;mudaValor&lt;/b&gt;), mas assinaturas distintas(a assinatura de um&lt;br /&gt; método é composta de nome+lista de parâmetros).  &lt;br /&gt;A essa possibilidade de métodos possuírem mesmo nome, mas lista de argumentos&lt;br /&gt;diferente é chamada de &lt;b&gt;&lt;i&gt;overloading&lt;/i&gt;&lt;/b&gt; (sobrecarga), cabendo ao &lt;i&gt;Interpretador&lt;/i&gt; selecionar&lt;br /&gt;qual método deve ser executado combinando a lista de argumentos com o parâmetro&lt;br /&gt;passado a chamada do método.   &lt;br /&gt;A essa associação de atributos feita em tempo de compilação, é chamada de &lt;b&gt;&lt;i&gt;early binding&lt;/i&gt;&lt;/b&gt; (ligação prematura)&lt;br /&gt; ou &lt;b&gt;&lt;i&gt;static&lt;/i&gt;&lt;/b&gt; &lt;b&gt;&lt;i&gt;binding&lt;/i&gt;&lt;/b&gt; (ligação estática); que é executada pelo Carregador de Classe &lt;br /&gt;(&lt;b&gt;ClassLoader&lt;/b&gt;), procurando os membros estáticos na sua classe. Se existirem, eles serão &lt;br /&gt;carregados!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; &lt;br /&gt;NOTA&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;:Quando executamos métodos não estáticos, ou algum método sofre &lt;b&gt;&lt;i&gt;overriding&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;(é subscrito) numa subclasse, o compilador não sabe qual método será chamado e isso&lt;br /&gt;só é resolvido em tempo de execução, processo chamado de &lt;b&gt;late&lt;/b&gt; &lt;b&gt;binding&lt;/b&gt; (ligação tardia),&lt;br /&gt;&lt;b&gt;dinamic&lt;/b&gt; &lt;b&gt;binding&lt;/b&gt;(ligação dinâmica) ou a melhor definição, &lt;b&gt;virtual&lt;/b&gt; &lt;b&gt;method&lt;/b&gt; &lt;b&gt;invocation &lt;/b&gt;(invocação de método virtual)&lt;br /&gt;pois os métodos "existem" no momento da execução(nenhum código extra é gerado).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;br /&gt;  Em teoria essa classe deveria adicionar 17 á todos os membros do array a, através da&lt;br /&gt;chamada a primeira função &lt;b&gt;&lt;i&gt;mudaValor&lt;/i&gt;&lt;/b&gt;() e mostrá-lo na tela. Deveria através da chamada&lt;br /&gt; a &lt;b&gt;&lt;i&gt;mudaValor&lt;/i&gt;(a[2]);&lt;/b&gt; mudar o valor da variável (o que não ocorre). A terceira chamada&lt;br /&gt;era para retornar a String modificada "GUJ O Maior Forum De Usuarios Java Do Brasil",&lt;br /&gt;mas só GUJ é retornado. E a chamada ao método bolha, era para permitir exibir no&lt;br /&gt;método println() o array a ordenado do menor para o maior. Nota-se que é exibido uns&lt;br /&gt;caracteres estranhos (do tipo &lt;b&gt;[I&lt;i&gt;@&lt;/i&gt;10b62c9&lt;/b&gt;) assim como na primeira chamada a &lt;b&gt;&lt;i&gt;println&lt;/i&gt;&lt;/b&gt;().&lt;br /&gt; Porque isso ocorre?Porque é passado uma referência a um array em ambos os casos!&lt;br /&gt;Todos os objetos tem associados a eles uma referência a própria classe, quando uma &lt;br /&gt;referência a um array é passada ao método &lt;b&gt;&lt;i&gt;println&lt;/i&gt;&lt;/b&gt;() há uma chamada ao método &lt;b&gt;&lt;i&gt;ToString&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;que retornará o nome da classe a qual esse objeto é uma instância(no caso [I-de Inteiro),&lt;br /&gt;um separador "@", e uma representação hexadecimal representando o código &lt;i&gt;hash&lt;/i&gt; desse&lt;br /&gt; objeto. &lt;br /&gt; Veja o formato:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);" lang="EN-US"&gt;getClass().getName() + '@' + Integer.toHexString(hashCode()) &lt;br /&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Nota-se que nas duas chamadas a &lt;b&gt;&lt;i&gt;println&lt;/i&gt;&lt;/b&gt;(a) serão retornadas a mesma String!Isso se&lt;br /&gt;deve porque o objeto está num único local na tabela &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;hash&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt; (esse endereço de memória de&lt;br /&gt;mentirinha que é @numero_hexadecimal).Não devemos passar um objeto a &lt;b&gt;&lt;i&gt;println&lt;/i&gt;&lt;/b&gt;() a&lt;br /&gt;menos que se queira mostrá-lo dessa forma, senão poderá ser necessário subscrever o&lt;br /&gt;método &lt;b&gt;&lt;i&gt;println&lt;/i&gt;&lt;/b&gt;()(para retornar um objeto).&lt;br /&gt;  Prosseguindo com a análise do código, a chamada ao primeiro &lt;b&gt;&lt;i&gt;mudaValor&lt;/i&gt;(a)&lt;/b&gt; e ao&lt;br /&gt;método &lt;b&gt;&lt;i&gt;bolha&lt;/i&gt;(a)&lt;/b&gt; tem êxito, o problema foi passar uma referência ao método &lt;b&gt;&lt;i&gt;println&lt;/i&gt;&lt;/b&gt;()&lt;br /&gt;para exibir na tela! Deve-se usar um laço for para poder exibir os valores corretos na tela:&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);" lang="EN-US"&gt;for(int i=0;i"menor"a.length;i++)&lt;br /&gt;&lt;span style=""&gt;                    &lt;/span&gt;System.out.println(a[i]);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;Dessa forma, todos os índices serão percorridos, pois ocorre uma passagem por valor&lt;br /&gt;(índice após índice) a cada interação do laço.(Nota: &lt;b&gt;a&lt;/b&gt;.&lt;b&gt;length&lt;/b&gt; retorna o tamanho total do&lt;br /&gt;vetor).&lt;br /&gt;&lt;br /&gt;Prosseguindo, temos a segunda chamada a &lt;b&gt;&lt;i&gt;mudaValor&lt;/i&gt;()&lt;/b&gt; na qual é passado &lt;b&gt;a[2].&lt;/b&gt;Exibirá&lt;br /&gt;69 na tela, logo a operação teve êxito, certo?ERRADO!Deveria exibir 690, correspondente&lt;br /&gt; ao &lt;b&gt;mudaValor()&lt;/b&gt; que recebe um tipo inteiro e multiplica por 10, mas o valor da posição 3&lt;br /&gt; do array (assim como o array todo) foi modificado pela chamada ao primeiro&lt;br /&gt;&lt;b&gt;mudaValor()&lt;/b&gt;na qual foi passado o array &lt;b&gt;a&lt;/b&gt;.Ele não pode ser exibido(o array &lt;b&gt;a&lt;/b&gt; modificado&lt;br /&gt; com os novos valores) porque foi passado erroneamente a &lt;b&gt;println()&lt;/b&gt; também! Além do&lt;br /&gt; mais, quando se passa um índice (um elemento) individual de um array de tipo de dados&lt;br /&gt;primitivos essa passagem é feita por valor como uma simples variável! Elementos&lt;br /&gt;individuais de um array de tipo referência(&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;Object&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;, &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;String&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;...) são passados como uma&lt;br /&gt;referência a esse objeto!O valor passado (69) não foi modificado, pois a cópia de &lt;b&gt;a[2] &lt;/b&gt;&lt;br /&gt;ficou limitada a execução no escopo do método!&lt;br /&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;A terceira chamada a &lt;b&gt;mudaValor()&lt;/b&gt; é tudo o que você não pode fazer em Java! Não há&lt;br /&gt;como mudar o valor de uma determinada String numa passagem para um método porque&lt;br /&gt;&lt;b&gt;Strings&lt;/b&gt; são &lt;b&gt;&lt;u&gt;imutáveis&lt;/u&gt;&lt;/b&gt;!E nesse caso, o gasto de memória foi um desperdício! (Em relação&lt;br /&gt; ao que pode ser feito!). Jamais tente modificar &lt;b&gt;Strings&lt;/b&gt; via método. Quando precisar de&lt;br /&gt; &lt;b&gt;Strings&lt;/b&gt; modificáveis, use java.lang.&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;StringBuffer&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;(com sincronização) ou &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;StringBuilder&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;br /&gt;(sem sincronização, portanto mais rápida!).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-577105456540706698?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/577105456540706698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=577105456540706698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/577105456540706698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/577105456540706698'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2007/08/33-alguns-erros-evitarrepost6.html' title='3.3-Alguns erros a evitar.[repost6]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-8494498336561211699</id><published>2007-06-11T14:39:00.000-07:00</published><updated>2007-06-11T14:41:09.389-07:00</updated><title type='text'>Tutorial[parte5repost]</title><content type='html'>&lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 12pt; color: rgb(68, 68, 68);"&gt;3.2-Passagens de Parâmetro em Java:&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;Existe um mito em Java que precisa ser esclarecido:&lt;br /&gt;-Objetos são passados por referência, tipos primitivos são passados por valor.Certo?&lt;b&gt;ERRADO&lt;/b&gt;!&lt;b&gt;Todos&lt;/b&gt; &lt;b&gt;os&lt;/b&gt; &lt;b&gt;parâmetros&lt;/b&gt; &lt;b&gt;em&lt;/b&gt; &lt;b&gt;Java&lt;/b&gt; &lt;b&gt;são&lt;/b&gt; &lt;b&gt;passados&lt;/b&gt; &lt;b&gt;por&lt;/b&gt; &lt;b&gt;valor&lt;/b&gt;, a diferença é que, no caso de objetos, são passados referências a esses objetos, nunca os próprios objetos! Deve ser observado que os valores das variáveis são sempre primitivos ou &lt;u&gt;referências&lt;/u&gt; a objetos, jamais os objetos propriamente ditos!Vamos a exemplos práticos : &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; class &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;Parametros&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;void&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; main(&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; []args){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; y=0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;Object&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; x=null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;tipoPrimitivo(y);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;tipoReferencia(x);&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println(y); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style=""&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println(x);&lt;span style=""&gt;                  &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;                                   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; tipoPrimitivo(&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; parametro){&lt;/span&gt;&lt;span style="color: red;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;            &lt;/span&gt;parametro=30*10;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;return&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; parametro; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;                                        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;Object&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; tipoReferencia(&lt;/span&gt;&lt;span style="color: blue;"&gt;Object&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; o){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; a= "GUJ"; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;o=a; &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;/*NOTA:atribuição permitida pois&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;String também é um Object(todas&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;as classes extendem java.lang.Object).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;Poderia ser executada a atribuição o="GUJ"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;&lt;span style=""&gt;               &lt;/span&gt;diretamente sem problemas. */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;return&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; o;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;                                                &lt;/span&gt;}&lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;                         &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;} &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//fim da classe Parametros&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Compile e rode.(&lt;b&gt;javac&lt;/b&gt; &lt;b&gt;Parametros&lt;/b&gt;.&lt;b&gt;java&lt;/b&gt; e &lt;b&gt;java&lt;/b&gt; &lt;b&gt;Parametros&lt;/b&gt; )&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Reparou na tela?Veja: &lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;0&lt;br /&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;E não: &lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;300&lt;br /&gt;GUJ&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Porque? Porque na chamada a &lt;b&gt;&lt;i&gt;tipoPrimitivo&lt;/i&gt;(y);&lt;/b&gt; uma cópia do valor inicial da variável (&lt;b&gt;0&lt;/b&gt;) é passado como parâmetro ao método, não a variável em si, quando esse método termina, a variável permanece inalterada, o mesmo vale para a chamada a &lt;b&gt;&lt;i&gt;tipoReferencia&lt;/i&gt;(x)&lt;/b&gt; , pois uma cópia da variável é passada, não a própria! É o mesmo tipo de cópia que acontece quando fazemos uma instrução de atribuição a uma variável!Jamais será passado a própria variável ao método, pois se fosse possível fazê-lo em Java, seu conteúdo seria modificado e isso caracterizaria uma passagem por referência! Na próxima seção veremos mais sobre esse assunto e alguns erros que devemos evitar programando! &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-8494498336561211699?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/8494498336561211699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=8494498336561211699' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/8494498336561211699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/8494498336561211699'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2007/06/tutorialparte5repost.html' title='Tutorial[parte5repost]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-7365723914673200514</id><published>2007-06-11T14:34:00.000-07:00</published><updated>2007-06-11T14:37:44.353-07:00</updated><title type='text'>Tutorial[4parteRepost]</title><content type='html'>&lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="font-size: 12pt; color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;       &lt;/span&gt;.::3-Alocação em Memória e Passagens de Parâmetros::.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="font-size: 12pt; color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;u&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;u&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;3.1-As áreas em memória.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;u&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;Passagens de parâmetro em Java é um assunto que mesmo programadores experientes na linguagem tropeçam ao tentar explicar como ela ocorre. Antes de irmos direto ao assunto, é necessário termos idéia de como as variáveis são alocadas na memória. Como já foi dito antes, uma variável é um nome associado a uma posição (endereço hexadecimal) de memória.Na sua declaração, o compilador "arranja" (aloca) um espaço para ela. Como isso ocorre?É simples: A VM (máquina virtual em inglês) define várias áreas de execução de dados que são utilizadas durante a execução de um programa (algumas criadas no &lt;i&gt;start&lt;/i&gt;-&lt;i&gt;up&lt;/i&gt; da VM e destruídas quando ela termina seu trabalho, outras existentes durante o ciclo de vida de uma &lt;b&gt;thread&lt;/b&gt;), mas devemos considerar duas áreas cruciais para a alocação e execução de dados na sua memória principal (RAM) que são utilizadas pela Java Virtual Machine (JVM) durante a execução de um programa: a &lt;b&gt;stack&lt;/b&gt; e o &lt;b&gt;heap&lt;/b&gt;. Vamos á elas e as demais áreas de dados em execução:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;A &lt;b&gt;stack&lt;/b&gt; ("pilha") é uma área com suporte direto ao processador, através de seu apontador de pilha(stack pointer-sp).Ele empilha ( faz um"push") para criar nova memória, e desempilha("pop") para liberar aquela memória;ou seja, cabe ao sp guardar o endereço do próximo endereço vago na &lt;b&gt;stack&lt;/b&gt; (o topo da stack). A &lt;b&gt;stack&lt;/b&gt; é uma forma extremamente rápida para alocar espaço, perdendo apenas para registradores (que são localizados dentro dos processadores), mas o programador não tem qualquer controle ou evidência de que seu programa fará uso deles. O compilador sabe (durante a criação do .&lt;b&gt;&lt;i&gt;class&lt;/i&gt;&lt;/b&gt;) o tamanho e o tempo de vida de cada dado que será armazenado na &lt;b&gt;stack&lt;/b&gt;, porque através desse conhecimento é que será gerado o código para movimentar o &lt;b&gt;sp&lt;/b&gt; (conforme aloca ou libera espaço na memória).O limite da pilha (por default o tamanho da &lt;b&gt;stack&lt;/b&gt; é 220KB na VM da Sun em máquinas usando Windows) restringe o que pode ser armazenado nela.Em geral, armazena variáveis locais, chamadas a métodos com seus parâmetros, variáveis temporárias para algum cálculo e referências a objetos (não os objetos em si, que ficam na &lt;b&gt;heap&lt;/b&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;A &lt;b&gt;heap&lt;/b&gt; ("monte") é um local da memória que armazena todos os objetos que serão utilizados no seu programa (por isso é conhecido também como pool de memória). Quando um objeto é &lt;/span&gt;&lt;span style=""&gt;instanciado &lt;span style="color: rgb(68, 68, 68);"&gt;(geralmente através do operador &lt;/span&gt;&lt;span style="color: red;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;), esses objetos criados e seus respectivos parâmetros são automaticamente alocados na &lt;b&gt;heap&lt;/b&gt; (através de seu construtor). Quando um método que utiliza o objeto é finalizado, uma exceção ocorre, ou o número de referências ao objeto cai a zero, ou &lt;b&gt;threads&lt;/b&gt; que utilizam o mesmo morrem (são finalizadas); Ele -o objeto- fica passível de ser coletado pelo &lt;b&gt;Garbage&lt;/b&gt; &lt;b&gt;Collector&lt;/b&gt;, apesar de não sabermos quando isso ocorrerá (ficará a cargo da Máquina Virtual).&lt;br /&gt;&lt;span style=""&gt;  &lt;/span&gt;Existem outras áreas de dados em execução como a&lt;span style=""&gt;  &lt;/span&gt;&lt;b&gt;MethodArea&lt;/b&gt; (área de método), compartilhada entre todas as &lt;b&gt;threads&lt;/b&gt; da JVM, armazenando estruturas como o Pool de Constantes, campos e dados de métodos; o &lt;b&gt;Pool&lt;/b&gt; &lt;b&gt;de&lt;/b&gt; &lt;b&gt;Constantes&lt;/b&gt; (pertencente a &lt;b&gt;MethodArea&lt;/b&gt;), que contém vários tipos de constantes, incluindo de literais numéricas (&lt;b&gt;int&lt;/b&gt;, &lt;b&gt;float&lt;/b&gt;...) que são conhecidas em tempo de compilação até métodos e campos de referências que devem ser resolvidas em tempo de execução; e a &lt;b&gt;pilha de métodos nativos&lt;/b&gt;, que permite usar métodos escritos em outras linguagens, como C, mas sua existência depende da implementação da JVM(algumas permitem,outras não), e o &lt;b&gt;pc&lt;/b&gt; &lt;b&gt;register&lt;/b&gt; . A VM pode suportar diversas &lt;b&gt;threads&lt;/b&gt; ao mesmo tempo (na verdade quase, elas são &lt;b&gt;concorrentes&lt;/b&gt;, não &lt;b&gt;simultâneas&lt;/b&gt;!). Cada &lt;b&gt;thread&lt;/b&gt; possui seu próprio registrador contador de programas (&lt;b&gt;pc&lt;/b&gt; &lt;b&gt;register&lt;/b&gt;). De qualquer ponto, cada &lt;b&gt;thread&lt;/b&gt; está executando o código de um único método, o método corrente para aquela &lt;b&gt;thread&lt;/b&gt;. Se o método não é nativo, o registrador contém o endereço da instrução da VM que está sendo executada, se o método não é nativo, seu valor é indefinido. Esse registrador (pc) é grande o suficiente para armazenar um endereço de retorno, ou um ponteiro nativo específico de uma dada plataforma. O programador não possui qualquer controle direto sobre esse registrador ou qualquer área de dados que alocam/liberam memória (são transparentes ao programador)!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;Essas áreas de memória são apenas para dar uma visão maior da plataforma Java em si, mas para nós, programadores, o que nos interessa é a &lt;b&gt;stack&lt;/b&gt; e a &lt;b&gt;heap,&lt;/b&gt; pois precisamos delas para saber como se processam as passagens de parâmetro em Java. O leitor já se perguntou o que ocorre em memória quando um simples objeto é alocado?Dada uma classe &lt;b&gt;Guj&lt;/b&gt;, resolvemos criar uma instância &lt;b&gt;g&lt;/b&gt; em memória de &lt;b&gt;Guj&lt;/b&gt;. Ao fazermos:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;                              &lt;/span&gt;&lt;b&gt;Guj&lt;/b&gt; &lt;b&gt;g&lt;/b&gt;=&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;b&gt;Guj&lt;/b&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;É utilizada uma área em memória da &lt;b&gt;stack&lt;/b&gt; (com a variável de referência "g") para armazenar o endereço de memória &lt;b&gt;heap&lt;/b&gt; aonde foi criada (logicamente) a estrutura do objeto &lt;b&gt;Guj&lt;/b&gt;! Note que ao ser feita a declaração na &lt;b&gt;stack&lt;span style=""&gt;  &lt;/span&gt;(&lt;/b&gt;de&lt;span style=""&gt;  &lt;/span&gt;&lt;b&gt;Guj&lt;/b&gt; &lt;b&gt;g; ) &lt;/b&gt;o objeto ainda não existe em memória realmente!Pois só quando fazemos &lt;b&gt;new Guj();&lt;/b&gt; alocamos esse objeto na área &lt;b&gt;heap&lt;/b&gt; (aonde nossos objetos residem!). Quando criamos uma nova instância de &lt;b&gt;Guj&lt;/b&gt; e atribuímos g a essa instância, passam a existir apenas uma área de memória em &lt;b&gt;heap&lt;/b&gt;, mas existem duas áreas para as variáveis de referência na nossa pilha (&lt;b&gt;stack&lt;/b&gt;). Exemplo:&lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Guj&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;b&gt;&lt;i&gt;g1&lt;/i&gt;&lt;/b&gt;=&lt;/span&gt;&lt;span style="color: red;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;b&gt;Guj&lt;/b&gt;();&lt;br /&gt;&lt;b&gt;&lt;i&gt;g1&lt;/i&gt;&lt;/b&gt;=&lt;b&gt;g&lt;/b&gt;; &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//apontam para o mesmo local em heap!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Apesar de ser relativamente grande, o espaço na &lt;b&gt;stack&lt;/b&gt; e na &lt;b&gt;heap&lt;/b&gt; são limitados (pelo algoritmo empregado em dada VM e pelo seu espaço físico de memória principal disponível). Um sistema prevalente (que aloja todos os seus objetos em RAM) armazenando milhões de objetos na memória ou um programa que&lt;span style=""&gt;  &lt;/span&gt;abusasse de recursividade criando inúmeras variáveis locais a cada iteração fatalmente estourariam os limites da &lt;b&gt;heap&lt;/b&gt; e da &lt;b&gt;stack&lt;/b&gt; . Alguns comandos que devemos saber para otimizar nossos programas:&lt;br /&gt;*&lt;b&gt;&lt;i&gt;&lt;u&gt;Atenção&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;!Não são aplicáveis a todas as VMs (mas principalmente a HotspotVM )!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Alterar o tamanho da sua &lt;b&gt;stack&lt;/b&gt; padrão:&lt;br /&gt;&lt;span style=""&gt;                          &lt;/span&gt;&lt;b&gt;java&lt;/b&gt; -&lt;b&gt;Xss&lt;/b&gt;:&lt;b&gt;tamanho&lt;/b&gt; &lt;b&gt;&lt;i&gt;SeuPrograma&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Maior tamanho da &lt;b&gt;stack&lt;/b&gt; possível:&lt;br /&gt;&lt;span style=""&gt;                          &lt;/span&gt;&lt;b&gt;java&lt;/b&gt; –&lt;b&gt;Xoss&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Maior tamanho possível da &lt;b&gt;heap&lt;/b&gt;:&lt;br /&gt;&lt;span style=""&gt;                          &lt;/span&gt;&lt;b&gt;java&lt;/b&gt; -&lt;b&gt;XX&lt;/b&gt;:+&lt;b&gt;AggressiveHeap&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Isso foi só uma curiosidade, mas tome cuidado ao passar esses parâmetros, pois gerar um caos no seu programa!Dê uma passada em &lt;a href="http://java.sun.com/docs/hotspot/VMOptions.html" target="_blank"&gt;http://java.sun.com/docs/hotspot/VMOptions.html&lt;/a&gt; para saber mais!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 12pt; color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-7365723914673200514?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/7365723914673200514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=7365723914673200514' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/7365723914673200514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/7365723914673200514'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2007/06/tutorial4parterepost.html' title='Tutorial[4parteRepost]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-2087400259347304503</id><published>2007-06-10T16:45:00.000-07:00</published><updated>2007-06-10T16:46:39.633-07:00</updated><title type='text'>Tutorial[parte3-repost]</title><content type='html'>&lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="font-size: 12pt; color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;                           &lt;/span&gt;&lt;u&gt;2- Acessibilidade á Membros&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="font-size: 12pt; color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;Antes de falar de modificadores, devemos lembrar que se uma classe não está acessível para outra, seus membros também não estarão, não importando os modificadores usados para eles.&lt;br /&gt;Vamos aos principais modificadores (não só de variáveis, como de classes e métodos também):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Modificador de classe, método e atributo &lt;b&gt;public&lt;/b&gt;:&lt;br /&gt;Classes &lt;b&gt;public&lt;/b&gt; podem ser instanciadas por qualquer objeto livremente.&lt;br /&gt;Métodos e atributos são acessados sem restrições.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Modificador de classe e método &lt;b&gt;abstract&lt;/b&gt;:&lt;br /&gt;Só se aplica a classes, interfaces e métodos.&lt;br /&gt;Classes com o modificador abstract não permitem ser instanciadas por qualquer objeto, sendo indicado para definir superclasses genéricas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Obs&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.: Toda interface é implicitamente pública e abstrata;&lt;br /&gt;métodos abstratos não possuem corpo, mas devem ser implementados na classe que implementa a interface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Modificador de classe, método e variável &lt;b&gt;final&lt;/b&gt;:&lt;br /&gt;Uma classe &lt;b&gt;final, &lt;/b&gt;é uma classe que não permite que seja criada subclasses dela.Ou seja, não permite herança.&lt;br /&gt;Métodos &lt;b&gt;final&lt;/b&gt; impedem que um método seja subscrito na subclasse que extende a classe a qual este método faz parte.&lt;br /&gt;Variáveis declaradas &lt;b&gt;final&lt;/b&gt; não podem possuir valor ou referências que sejam alteradas (são uma constante), incluso nisso argumentos passados a métodos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Obs&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.: No caso de objetos, a referência para eles que é &lt;b&gt;final&lt;/b&gt;, não o próprio objeto.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Modificador de classe &lt;b&gt;default&lt;/b&gt;:&lt;br /&gt;É quando não é declarado explicitamente nenhum dos outros modificadores, sendo acessível por classes contidas no mesmo pacote.&lt;br /&gt;&lt;b&gt;Obs&lt;/b&gt;.: Variáveis com escopo de método(locais) continuam locais a onde foram declaradas, e não podem ser acessadas fora deles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Modificador de método e atributo &lt;b&gt;protected&lt;/b&gt;:&lt;br /&gt;Permite que um método somente possa ser invocado na classe em que é definido e nas suas subclasses. O mesmo vale para o acesso aos atributos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Modificador de método e atributo &lt;b&gt;private&lt;/b&gt;:&lt;br /&gt;O modificador &lt;b&gt;private&lt;/b&gt; permite a invocação do método somente na classe a qual foi definido.&lt;br /&gt;Um atributo &lt;b&gt;private&lt;/b&gt; possui somente escopo de classe, não podendo ser acessado diretamente de qualquer classe ou subclasse que implemente a classe a qual está definido.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Modificador de método, classes aninhadas e variáveis de classe &lt;b&gt;static&lt;/b&gt;:&lt;br /&gt;O modificador &lt;b&gt;static&lt;/b&gt; permite que um método possa ser invocado sem a utilização de um objeto.&lt;br /&gt;O uso de &lt;b&gt;static&lt;/b&gt; permite que uma variável de classe possua uma única referência em memória.&lt;br /&gt;Métodos &lt;b&gt;static&lt;/b&gt; não conseguem acessar diretamente variáveis ou métodos não &lt;b&gt;static&lt;/b&gt;, não podem ser sobrescritos, mas podem ser redefinidos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Variáveis e métodos &lt;b&gt;static&lt;/b&gt; são membros unicamente da classe a qual estão inseridos, não fazendo parte de nenhuma instância em particular.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style=""&gt;Obs&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.(1): As variáveis estáticas(&lt;b&gt;static&lt;/b&gt;) não são estáticas no sentido que não podem ser mudadas(isso seria &lt;b&gt;final&lt;/b&gt;), mas sim por não permitirem serem criadas dinamicamente (leia-se em execução) para uma dada instância de um objeto.&lt;br /&gt;&lt;b&gt;Obs&lt;/b&gt;.(2): Uma classe aninhada é uma classe definida dentro de outra classe.&lt;br /&gt;Há muitos outros modificadores como &lt;/span&gt;&lt;span style="color: red;"&gt;synchronized&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; (para permitir acesso de apenas uma &lt;/span&gt;&lt;span style="color: red;"&gt;thread&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; por vez a um método ou bloco), &lt;/span&gt;&lt;span style="color: red;"&gt;transient&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; (permite a JVM excluir uma variável de instância da lista de seriação (muito importante para se poupar memória quando não se deseja persistir esse atributo em disco), entre outros. Mas os mostrados aqui são os principais para quem está começando com o Java. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;br /&gt;Depois dessa carga teórica, está na hora de fixarmos os conceitos aqui comentados, pois serão úteis na sua vida de programador.Vamos a prática observando as três classes a seguir:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: blue;" lang="EN-US"&gt;package&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; acessibilidade;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; class &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;Membros&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; tipoDoUsuario= "";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: yellow;" lang="EN-US"&gt;protected&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; verificarStatus(&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;int&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; id){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;(id==1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;           &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;tipoDoUsuario= "&lt;/span&gt;&lt;span style="color: rgb(255, 102, 0);" lang="EN-US"&gt;Administrador&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="EN-US"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;           &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;(id&lt;=10)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;           &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;tipoDoUsuario= "&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="ES-TRAD"&gt;Moderador&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt; &lt;span style=""&gt;           &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="ES-TRAD"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt; &lt;span style=""&gt;           &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;tipoDoUsuario= "&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="ES-TRAD"&gt;Usuario&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt; &lt;span style=""&gt;           &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="ES-TRAD"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; tipoDoUsuario;&lt;span style=""&gt;             &lt;/span&gt;}&lt;span style=""&gt;        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;                                         &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;      &lt;/span&gt;}&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;br /&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: blue;"&gt;package&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; acessibilidade; &lt;/span&gt;&lt;span style="color: blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; java.io.*;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; class &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;Arquivo&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 51, 153);" lang="EN-US"&gt;extends&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;Membros&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;PrintWriter&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; grava;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;BufferedReader&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; lerArq;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; arquivo;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;public &lt;/span&gt;&lt;span style="color: blue;"&gt;Arquivo&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; arquivo){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;       &lt;/span&gt;this.arquivo=arquivo;&lt;span style=""&gt;      &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;// método g&lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;ravarArquivo();&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; void gravarArquivo(&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; nome,int id){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="EN-US"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;         &lt;/span&gt;{&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;              &lt;/span&gt;grava = &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;              &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;PrintWriter&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;BufferedWriter&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;              &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;FileWriter&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;("c:\\"+(arquivo),&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;true&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;),1*1024*1024));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;              &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;/* crio um arq no dir C para receber um nome dado pelo usuário */&lt;span style=""&gt;            &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;              &lt;/span&gt;grava.println("Nome:"+nome);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;              &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;grava.println("Id:"+id);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;              &lt;/span&gt;grava.println("Status:"+verificarStatus(id));&lt;span style=""&gt;                             &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;grava.close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;         &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="EN-US"&gt;catch &lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;(IOException erro)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;{&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.err.println("Erro ao Gravar Arquivo!!!");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;             &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;erro.printStackTrace();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;             &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.exit(1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;                                      &lt;/span&gt;} &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;//fim de grava arquivo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;&lt;span style=""&gt; &lt;/span&gt;// método exibeArquivo();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; void exibirArquivo(){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="EN-US"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;       &lt;/span&gt;{&lt;span style=""&gt;    &lt;/span&gt;lerArq=&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;BufferedReader&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;(&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;FileReader&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;(arquivo));&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;               &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; linha= &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;;&lt;span style=""&gt;       &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;&lt;span style=""&gt;                &lt;/span&gt;// le linha por linha do arquvo e mostra na tela &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;               &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="EN-US"&gt;while&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; ((linha = lerArq.readLine()) != &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;null&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;                  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println(linha); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;           &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;               &lt;/span&gt;lerArq.close(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;           &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);" lang="EN-US"&gt;catch&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; (IOException erro) { &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.err.println("Erro de Leitura!!!: "+ erro); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;                 &lt;/span&gt;erro.printStackTrace(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;           &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt; &lt;/span&gt;}&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;//fim da&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;classe&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;Arquivo&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; acessibilidade.Arquivo;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; class &lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;Principal&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; void main(&lt;/span&gt;&lt;span style="color: blue;" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; []guj){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;Arquivo&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; a=&lt;/span&gt;&lt;span style="color: red;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: blue;"&gt;Arquivo&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;("&lt;/span&gt;&lt;b&gt;guj&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.&lt;b&gt;&lt;i&gt;txt&lt;/i&gt;&lt;/b&gt;");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;a.gravarArquivo("Paulo",1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;a.gravarArquivo("Daniel",10);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;a.gravarArquivo("Ana",100);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;a.exibirArquivo();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;span style=""&gt;       &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;} &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//fim da classe Principal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Observando a classe Membros, logo na primeira linha está escrito:&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;package acessibilidade;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;O que é isso?&lt;br /&gt;Um pacote(&lt;b&gt;package&lt;/b&gt;) serve para agrupar classes relacionadas, ao compilar um dos seus componentes (por exemplo &lt;b&gt;Membros&lt;/b&gt;.java)será criado um diretório com o nome do pacote criado(no caso acessibilidade), com o .&lt;b&gt;class&lt;/b&gt; do membro compilado. Para compilar um &lt;b&gt;package&lt;/b&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;javac pacote/Programa.Java&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;e para rodar:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;java pacote.Programa &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;(no nosso caso será necessário compilar &lt;b&gt;Principal&lt;/b&gt;, que contém nosso método &lt;b&gt;main&lt;/b&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Nota&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;: a instrução &lt;/span&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; nome.Do.Package.Classe; permite uma classe utilizar uma classe dentro desse &lt;/span&gt;&lt;b&gt;&lt;span style=""&gt;package&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; (no caso de nome &lt;b&gt;Classe&lt;/b&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Depois de compilar os 3 arquivos e rodar Principal.java veremos a saída no prompt de comando(tela):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;Nome:Paulo&lt;br /&gt;Id:1&lt;br /&gt;Status:Administrador&lt;br /&gt;Nome:Daniel&lt;br /&gt;Id:10&lt;br /&gt;Status:Moderador&lt;br /&gt;Nome:Ana&lt;br /&gt;Id:100&lt;br /&gt;Status:Usuario&lt;br /&gt;Press any key to continue...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Veremos também, que foi criado no diretório C: um arquivinho de nome &lt;b&gt;guj&lt;/b&gt;.&lt;b&gt;txt&lt;/b&gt; com os mesmos itens mostrados no prompt. Analisando a classe Membros, notamos uma variável de classe &lt;b&gt;&lt;i&gt;tipoDoUsuario ,&lt;/i&gt;&lt;/b&gt; que é privada, logo nenhuma outra classe ou subclasse poderá acessá-la!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Qual será a vantagem disso? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;É simples: -Além do acesso, quanto mais restritivo for um atributo, maior será o controle de um programador sobre ele, evitando uma futura inconsistência nos dados do seu programa. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Continuando, temos nessa mesma classe, um método protegido chamado &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;verificarStatus()&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; que retornará o tipo de usuário de acordo com o Id(que seria o número de registro) passado para o método. O fato de ser protegido permite ao método ser visível apenas para suas subclasses e classes no mesmo pacote (no caso &lt;b&gt;Arquivo&lt;/b&gt; que &lt;i&gt;herda&lt;/i&gt; de &lt;b&gt;Membros&lt;/b&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Observando a classe &lt;b&gt;Arquivo&lt;/b&gt;, temos 3 variáves de classe(grava,lerArq e arquivo) e 2 métodos de classe, &lt;i&gt;gravarArquivo&lt;/i&gt; e &lt;i&gt;exibirArquivo&lt;/i&gt; (obs.:métodos de classe possuem o modificador static, métodos de instância, não).Note o construtor da classe recebendo arquivo como parâmetro.Isso deixa nossa variável inicializável quando criarmos uma instância de &lt;b&gt;Arquivo&lt;/b&gt;(o que será feito na classe &lt;b&gt;Principal&lt;/b&gt;).Observando o método &lt;i&gt;gravarArquivo&lt;/i&gt;, vemos que ele recebe 2 parâmetros(um nome e um id) e que dentro de um bloco &lt;b&gt;try&lt;/b&gt;-&lt;b&gt;catch&lt;/b&gt; esses dados serão persistidos para o disco.O bloco dentro desse método é quase igual ao dentro da classe &lt;b&gt;Variaveis&lt;/b&gt; (de tópicos anteriores), exceto pela presença de um &lt;b&gt;BufferedWriter&lt;/b&gt; e dos parâmetros &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;true&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; e 1*1024*1024 passados a &lt;b&gt;FileWriter&lt;/b&gt; e &lt;b&gt;BufferedWriter&lt;/b&gt; respectivamente.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;O que é um &lt;b&gt;buffer&lt;/b&gt;?&lt;b&gt;Buffer&lt;/b&gt; é uma área reservada da memória que armazena temporariamente os dados que serão persistidos pelo seu arquivo. Ela é muito mais rápida do que gravar/ler diretamente do disco, o que gera uma otimização na sua entrada/saída para o disco. Por isso usamos um &lt;b&gt;BufferedWriter&lt;/b&gt; e um &lt;b&gt;BufferedReader&lt;/b&gt;. O valor &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;true&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; em &lt;b&gt;FileWriter&lt;/b&gt; permite o modo &lt;i&gt;append&lt;/i&gt;(anexar) no arquivo &lt;b&gt;guj&lt;/b&gt;.&lt;b&gt;txt&lt;/b&gt;. Se executarmos esse programa 2 vezes veremos que o arquivo foi duplicado e não sobscrito!O valor 1*1024*1024 especifica o valor de &lt;b&gt;BufferedWriter&lt;/b&gt;.Quando o &lt;b&gt;buffer&lt;/b&gt; se enche, os dados são realmente persistidos em disco.É importante notar a chamada de á &lt;b&gt;&lt;i&gt;verificarStatus&lt;/i&gt;(id) &lt;/b&gt;dentro de &lt;b&gt;grava&lt;/b&gt;.&lt;b&gt;&lt;i&gt;println&lt;/i&gt;&lt;/b&gt;(); pois isso fará que seja persistida o retorno do método da classe &lt;b&gt;Membros&lt;/b&gt; que é o nosso atributo privado &lt;i&gt;tipoDoUsuario&lt;/i&gt;!Algo que o mecanismo de herança de Java sabe aproveitar muito bem!&lt;br /&gt;Vejamos o método &lt;b&gt;&lt;i&gt;exibirArquivo&lt;/i&gt;&lt;/b&gt;(): temos um leitor de caracteres(&lt;b&gt;FileReader&lt;/b&gt;) que lerá nosso arquivo &lt;b&gt;guj&lt;/b&gt;.&lt;b&gt;txt&lt;/b&gt; e usamos a variável &lt;i&gt;lerArq&lt;/i&gt;,que é uma instância de &lt;b&gt;BufferedReader&lt;/b&gt; que através de seu método &lt;b&gt;&lt;i&gt;readLine&lt;/i&gt;&lt;/b&gt;() nos permite ler linha a linha &lt;b&gt;guj&lt;/b&gt;.&lt;b&gt;txt&lt;/b&gt; e mostrar na tela o seu conteúdo, o que é feito no trecho:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;           &lt;/span&gt;while ((linha = lerArq.readLine()) != null)&lt;br /&gt;&lt;span style=""&gt;                          &lt;/span&gt;System.out.println(linha);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Depois temos nossa classe &lt;b&gt;Principal&lt;/b&gt;, que contém o método &lt;b&gt;&lt;i&gt;main&lt;/i&gt;&lt;/b&gt;() aonde criaremos a instância de &lt;b&gt;Arquivo&lt;/b&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;a&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;,que recebe &lt;/span&gt;&lt;b&gt;&lt;span style=""&gt;guj&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.&lt;b&gt;txt&lt;/b&gt; como parâmetro, e chamamos 3 vezes &lt;b&gt;&lt;i&gt;gravarArquivo&lt;/i&gt;&lt;/b&gt;() passando diferentes parâmetros(o que fará &lt;b&gt;&lt;i&gt;verificarStatus&lt;/i&gt;&lt;/b&gt;() de &lt;b&gt;Membros&lt;/b&gt; trabalhar!). Depois exibiremos seu conteúdo na tela através de &lt;/span&gt;&lt;span style="color: red;"&gt;a&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.&lt;b&gt;&lt;i&gt;exibirArquivo&lt;/i&gt;&lt;/b&gt;(). Veja que na primeira linha importamos &lt;i&gt;acessibilidade&lt;/i&gt;.&lt;b&gt;Arquivo&lt;/b&gt;; que nos permite trabalhar com os métodos dessa classe.O leitor pode estar se perguntando:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;-Se eu importar &lt;i&gt;acessibilidade&lt;/i&gt;.&lt;b&gt;Membros&lt;/b&gt;; e criar uma instância de classe:&lt;br /&gt;&lt;b&gt;Membros m=new Membros(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;Chamando:&lt;b&gt;&lt;br /&gt;m.verificarStatus(10); &lt;/b&gt;&lt;br /&gt;Posso acessar diretamente o método &lt;b&gt;&lt;i&gt;verificarStatus&lt;/i&gt;&lt;/b&gt;() certo?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;ERRADO&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;!Será recebida uma msg do tipo:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;verificarStatus(int) has protected access in acessibilidade.Membros&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;A instanciação (criação) só funcionaria se &lt;b&gt;&lt;i&gt;verificarStatus&lt;/i&gt;&lt;/b&gt;() tivesse acesso público (&lt;b&gt;public&lt;/b&gt;).&lt;br /&gt;Como não custa nada lembrar, só conseguimos acessar membros protegidos no mesmo pacote ou via herança! Jamais por instância!(Isso serve para atributos e métodos!). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-2087400259347304503?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/2087400259347304503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=2087400259347304503' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/2087400259347304503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/2087400259347304503'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2007/06/tutorialparte3-repost.html' title='Tutorial[parte3-repost]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-4622594390214107977</id><published>2007-06-08T14:14:00.000-07:00</published><updated>2007-06-08T14:32:38.376-07:00</updated><title type='text'>Tutorial de Variáveis[parte2]repost</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt;1.1.1-Quanto á atribuição de valores:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;Devemos levar em conta que uma variável é um nome associado a uma posição (endereço hexadecimal) de memória.Na sua declaração, o compilador "arranja" (aloca) um espaço para ela. A variável tem um tipo associado, por vezes conhecido como "tipo em tempo de compilação", que possui um dos tipos anteriormente citados.Uma variável de um tipo primitivo sempre armazena um valor de seu tipo exato.Em uma variável de tipo referência, deve-se ter uma atenção especial:&lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;Se ela é uma variável de referência do tipo Classe:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;Considerando uma classe &lt;span style="color: rgb(51, 102, 255);"&gt;Guj&lt;/span&gt;, ela pode armazenar uma referência a &lt;span style="color: rgb(51, 102, 255);"&gt;null&lt;/span&gt; ou uma referência a uma instância de &lt;span style="color: rgb(51, 102, 255);"&gt;Guj&lt;/span&gt;, ou qualquer subclasse de &lt;span style="color: rgb(51, 102, 255);"&gt;Guj&lt;/span&gt;.&lt;b&gt;&lt;span style=""&gt;             &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;-Se ela é uma variável de referência do tipo Interface:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;Ela pode armazenar uma referência a &lt;span style="color: rgb(51, 102, 255);"&gt;null&lt;/span&gt; ou uma referência a qualquer instância de qualquer classe que implementa essa interface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt;-&lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;Se ela é referência do tipo Objeto:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt;a)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;Se ela é pertencente a um &lt;span style="color: rgb(51, 153, 102);"&gt;Array&lt;/span&gt;:&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3"&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Se &lt;b&gt;x&lt;/b&gt; é de um tipo primitivo então uma variável do tipo &lt;span style="color: rgb(51, 153, 102);"&gt;Array&lt;/span&gt; de &lt;b&gt;x&lt;/b&gt;, pode armazenar uma referência a &lt;span style="color: rgb(51, 102, 255);"&gt;null&lt;/span&gt; ou uma referência a qualquer &lt;span style="color: rgb(51, 153, 102);"&gt;Array&lt;/span&gt; do tipo "&lt;span style="color: rgb(51, 153, 102);"&gt;Array&lt;/span&gt; de &lt;b&gt;x&lt;/b&gt;"; se &lt;b&gt;x&lt;/b&gt; é do tipo referência, então a variável do tipo "&lt;span style="color: rgb(51, 153, 102);"&gt;Array&lt;/span&gt; de &lt;b&gt;x&lt;/b&gt;" pode armazenar uma referência a &lt;span style="color: rgb(51, 102, 255);"&gt;null&lt;/span&gt;, ou uma referência a qualquer &lt;span style="color: rgb(51, 153, 102);"&gt;Array&lt;/span&gt; de um tipo &lt;b&gt;y&lt;/b&gt;, considerando que &lt;b&gt;y&lt;/b&gt; tem tipo atribuível à &lt;b&gt;x&lt;/b&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:11;"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt;b)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;Se ela é um Objeto:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:11;"&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;u&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;Uma variável do tipo &lt;span style="color:blue;"&gt;Object&lt;/span&gt; pode armazenar uma referência a &lt;span style="color: rgb(51, 102, 255);"&gt;null&lt;/span&gt; ou uma referência a qualquer Objeto; seja instância de uma Classe, Interface ou Array. Nunca é demais lembrar que &lt;span style="color:blue;"&gt;Object&lt;/span&gt; é a superclasse de todas as outras classes.Portanto, qualquer classe que o leitor crie, já é herdeira (é uma subclasse) de &lt;span style="color:blue;"&gt;Object&lt;/span&gt; e seus respectivos 11 métodos.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:11;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;                        &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt;1.1.2-tipos identificáveis em uma classe:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;Existem 7 tipos de variáveis identificáveis em uma classe Java&lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;São eles:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;1-Variável de Classe:&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;É um campo declarado com a palavra-chave &lt;span style="color:blue;"&gt;static&lt;/span&gt; dentro de uma declaração de classe, ou com (ou sem) &lt;span style="color:blue;"&gt;static&lt;/span&gt; dentro de uma declaração de interface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;2-Variável de Instância:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;É um campo declarado dentro de uma declaração de classe sem a palavra-chave &lt;span style="color:blue;"&gt;static&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;3-componentes de um Vetor(Array):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;São variáveis sem nome que são criadas e inicializadas com valores padrão sempre que um novo objeto que é um array é criado.&lt;/span&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt;&lt;/span&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;"&gt;4-parâmetros para método:&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;São nomes de argumentos cujos valores são passados para um método.Para cada parâmetro declarado em uma declaração de método, uma nova variável de parâmetro é criada cada vez que um método é invocado.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;5-parâmetros para Construtor:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;São nomes de argumentos em que seus valores são passados para um construtor. Para cada parâmetro declarado em uma declaração de um construtor, uma nova variável de parâmetro é criada cada vez que uma instância é criada ou uma chamada explícita ao construtor é executada.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;6-parâmetro para tratar uma exceção:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;" &gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;É&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt; criado cada vez que uma exceção é capturada por uma cláusula catch em um bloco &lt;b&gt;try&lt;/b&gt;-&lt;b&gt;catch&lt;/b&gt;. A nova variável é inicializada com o Objeto associado com a exceção.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-family:Verdana;font-size:11;"  &gt;7-variáveis locais:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;São variáveis locais aquelas limitadas ao escopo (alcance) de uma instrução ou método. Quando um fluxo de controle entra em um bloco ou uma instrução for, uma nova variável é criada para cada variável local declarada nessas instruções ou campos. Uma instrução de declaração de uma variável local pode conter uma expressão que inicializa a variável. Uma variável local com uma expressão de inicialização não é inicializada, entretanto, até a sua instrução de declaração que a declara ser executada. Se não fosse uma excepcional situação, poderíamos dizer que uma variável local é sempre criada quando uma instrução ou bloco a qual foi declarada é executada. Uma excepcional condição ocorre quando em uma instrução &lt;span style="color:blue;"&gt;switch&lt;/span&gt;, aonde é possível o controle de entrada no bloco pular a execução de uma instrução que declara uma variável local.Seu ciclo de vida é no máximo o método a qual está inserida.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Vejamos um simples código para reforçar o que foi escrito:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;span  lang="EN-US" style="color:blue;"&gt;import&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; java.io.*;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;public class &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;Variaveis&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span  lang="EN-US" style="color:red;"&gt;private&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; float sal; &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//1&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span  lang="EN-US" style="color:red;"&gt;private&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span  lang="EN-US" style="color:blue;"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; nome; &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span  lang="EN-US" style="color:red;"&gt;private&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span  lang="EN-US" style="color:yellow;"&gt;final&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span  lang="EN-US" style="color:blue;"&gt;static&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;  &lt;/span&gt;int ID=10; &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//3&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span  lang="EN-US" style="color:red;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Variaveis&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;(){ &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;//4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;                &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Variaveis&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;(float x,&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; y){ &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;//5&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.sal=x;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;this&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.nome=y;&lt;span style=""&gt;              &lt;/span&gt;}&lt;span style=""&gt;         &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span  lang="EN-US" style="color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;public static void main(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;String&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; []args){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Variaveis&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; v = &lt;/span&gt;&lt;span style="color:red;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Variaveis&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;(); &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;//6 v é local a main&lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;v.sal=5000; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;nome="Paulo";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;Object&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; o[] = &lt;/span&gt;&lt;span  lang="EN-US" style="color:red;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;Object&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;[]{"J","U","G"}; &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//7&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;exibir(o);//8&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println(+v.sal); &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//9&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println(nome);&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//10&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println(id);&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//11&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;try{ &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//12&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;PrintWriter&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; grava = &lt;/span&gt;&lt;span  lang="EN-US" style="color:red;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;PrintWriter&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;(&lt;/span&gt;&lt;span  lang="EN-US" style="color:red;"&gt;new&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;FileWriter&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;("c:\\entrada.&lt;/span&gt;&lt;span style="color: rgb(0, 204, 255);" lang="EN-US"&gt;txt&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;"));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;grava.println("Registro :"+id);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;grava.println("Nome :"+nome);&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;grava.println("Salario :"+v.sal);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;grava.close();&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;catch(Exception erro){ &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//13&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;erro.printStackTrace();&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;.err.println("Erro de Arquivo!"); &lt;span style=""&gt;        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;}&lt;span style=""&gt;                       &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;         &lt;/span&gt;&lt;span style=""&gt;                           &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;protected static void exibir(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;Object&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt; []object){ &lt;/span&gt;&lt;span style="color: rgb(153, 204, 0);" lang="EN-US"&gt;//14&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;for(int i=2;i&gt;=0;i--){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.print(object[i]);&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;}&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;System&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;.out.println();&lt;span style=""&gt;                                    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);" lang="EN-US"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style=""&gt;                   &lt;/span&gt;&lt;span style=""&gt;                        &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;                       &lt;/span&gt;} &lt;/span&gt;&lt;span style="color: rgb(51, 153, 102);"&gt;//fim da classe Variáveis&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoBodyText3" style=""&gt;  &lt;/p&gt;&lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Nessa classe temos a presença de vários tipos de variáveis.Vamos analisar cada trecho (siga os comentários numerados): &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;E&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;m &lt;b&gt;(1),&lt;/b&gt; temos uma variável de instância &lt;span style="color: rgb(0, 204, 255);"&gt;sal&lt;/span&gt; do tipo &lt;span style="color:red;"&gt;float&lt;/span&gt;; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Em &lt;b&gt;(2),&lt;/b&gt; temos uma variável de classe (repare o &lt;span style="color:blue;"&gt;static&lt;/span&gt;) chamada nome do tipo &lt;span style="color:blue;"&gt;String&lt;/span&gt;; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Temos &lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;em &lt;b&gt;(3)&lt;/b&gt; uma outra variável de classe (&lt;span style="color:blue;"&gt;ID&lt;/span&gt;) com a palavra-chave &lt;b&gt;final&lt;/b&gt;.Isso indica que a ela só pode ser atribuído um valor uma única vez.E uma vez atribuído, ela terá sempre esse mesmo valor (é uma &lt;i&gt;constante&lt;/i&gt;). &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Temos &lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;em &lt;b&gt;(4)&lt;/b&gt; e &lt;b&gt;(5)&lt;/b&gt; um construtor vazio (sem parâmetros) e um recebendo os parâmetros de construtores &lt;b&gt;x&lt;/b&gt; e &lt;b&gt;y&lt;/b&gt; respectivamente.Esse trecho de código referentes a construtores é totalmente desnecessário (é apenas para ilustrar o tipo de variável), pois nenhuma variável é passada na criação da instância de classe em &lt;b&gt;(6).&lt;/b&gt; Poderia deixar sem construtor nenhum, pois java proveria um vazio para classe. Mas jamais poderia deixar somente o construtor com parâmetros -em &lt;b&gt;(5)-,&lt;/b&gt; pois daria um erro de compilação, uma vez que em &lt;b&gt;(6):&lt;/b&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span style=""&gt;               &lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="color: rgb(51, 102, 255); letter-spacing: 0pt;font-size:12;" &gt;Variaveis&lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt; v=&lt;span style="color:red;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;Variaveis&lt;/span&gt;(); &lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Nenhum valor é passado a instância da classe criada no método main!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt;Nota:v é uma instância de classe, mas é local a &lt;b&gt;main&lt;/b&gt;, ela pode acessar variáveis de classe e de instância, mas não pode ser acessada de lugar algum senão o próprio método em que é criada.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Continuando:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Em &lt;b&gt;v.sal=5000;&lt;/b&gt; atribuímos a variável de instância &lt;span style="color: rgb(0, 204, 255);"&gt;sal&lt;/span&gt; o valor 5000 &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;repare que é necessário utilizar uma instância da classe (&lt;span style="color: rgb(0, 204, 255);"&gt;v&lt;/span&gt;) para acessar &lt;span style="color: rgb(0, 204, 255);"&gt;sal&lt;/span&gt;.Isso ocorre porque ela não é estática (&lt;span style="color:blue;"&gt;static&lt;/span&gt;).Em &lt;b&gt;nome= "Paulo";&lt;/b&gt; podemos atribuir diretamente porque ela é de classe.Esse modificador(&lt;span style="color:blue;"&gt;static&lt;/span&gt;) garante á variável que só haverá uma instância dela em memória.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Em &lt;b&gt;(7),&lt;/b&gt; criamos um array do tipo &lt;span style="color: rgb(51, 102, 255);"&gt;Object&lt;/span&gt; cujos índices receberam J, U e G como parâmetros.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Em &lt;b&gt;(8&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;),&lt;/b&gt; &lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;fazemos uma chamada ao método &lt;b&gt;exibir&lt;/b&gt;() passando a variável de referência o como parâmetro. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;E&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;m &lt;b&gt;(9),&lt;/b&gt; &lt;b&gt;(10)&lt;/b&gt; e &lt;b&gt;(11)&lt;/b&gt; passamos parâmetros ao método &lt;b&gt;println&lt;/b&gt;() para mostrá-los na tela.Repare que as duas variáveis de classe (com o &lt;span style="color:blue;"&gt;static&lt;/span&gt;) são passadas diretamente (sem a variável de referência &lt;span style="color: rgb(0, 204, 255);"&gt;v&lt;/span&gt;), &lt;span style="color: rgb(0, 204, 255);"&gt;sal&lt;/span&gt;, que é de instância, precisa ser acessada da forma &lt;b&gt;&lt;i&gt;objeto.variável;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Em &lt;b&gt;(12),&lt;/b&gt; temos o início de um bloco &lt;b&gt;try&lt;/b&gt;-&lt;b&gt;catch&lt;/b&gt;, &lt;b&gt;try&lt;/b&gt; tenta executar o código para gravar um arquivo de texto em disco. Para isso usamos um reescritor de caracteres da classe java.io.&lt;span style="color: rgb(51, 102, 255);"&gt;FileWriter&lt;/span&gt; (por isso é necessário dar um &lt;span style="color:blue;"&gt;import&lt;/span&gt; java.io.*&lt;/span&gt;&lt;/span&gt;;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt; e uma instancia chamada &lt;b&gt;grava&lt;/b&gt; de java.io.&lt;span style="color: rgb(51, 102, 255);"&gt;PrintWriter&lt;/span&gt; que através das chamadas ao método println(parametro) nos permite gravar em disco os dados.Logo depois fechamos o recurso utilizado através de &lt;b&gt;grava&lt;/b&gt;.&lt;b&gt;close&lt;/b&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Colocando o programa para executar( &lt;b&gt;&lt;i&gt;javac Variaveis.java&lt;/i&gt;&lt;/b&gt; ) Será visto na&lt;span style=""&gt;  &lt;/span&gt;tela:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;GUJ &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;5000.0 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;Paulo &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;E, no seu drive &lt;b&gt;C&lt;/b&gt;: será criado o arquivo &lt;b&gt;entrada&lt;/b&gt;.&lt;b&gt;txt&lt;/b&gt; com os dados:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;Registro :10 &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;Nome: &lt;/span&gt;&lt;/span&gt;P&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;aulo &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;Salario :5000.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;font-size:12;" &gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Nota-se que na tela e no arquivo o numero inteiro 5000 passado a &lt;b&gt;float&lt;/b&gt; sal foi convertido para 5000.0. Isso ocorre porque a conversão do tipo &lt;b&gt;float&lt;/b&gt; para &lt;b&gt;int&lt;/b&gt; é permitida.Veremos uma tabela de conversão de tipos primitivos no final desse tópico. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;E&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;m &lt;b&gt;(13),&lt;/b&gt; temos uma cláusula &lt;b&gt;catch&lt;/b&gt; com o parâmetro &lt;b&gt;erro&lt;/b&gt; (do tipo &lt;span style="color: rgb(51, 102, 255);"&gt;Exception&lt;/span&gt;).Se um erro ao tentar gravar esse arquivo &lt;b&gt;entrada.txt&lt;/b&gt; ocorrer, a execução do programa será desviada para catch,e a chamada a &lt;b&gt;erro&lt;/b&gt;.&lt;b&gt;printStackTrace&lt;/b&gt;(); exibirá na tela a pilha de erros a partir do ponto em que ocorreram.A chamada a &lt;span style="color: rgb(51, 102, 255);"&gt;System&lt;/span&gt;.&lt;b&gt;err&lt;/b&gt;.&lt;b&gt;println&lt;/b&gt;() é somente para tornar mais explícita (e personalizado)ao programador que um erro ocorreu.&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;E temos, finalmente em &lt;b&gt;(14),&lt;/b&gt; o corpo do método &lt;b&gt;exibir()&lt;/b&gt; que recebe um array de &lt;span style="color: rgb(51, 102, 255);"&gt;Object&lt;/span&gt; como parâmetro, conta seus índices do final para o início, para mostrá-los na tela(transformará J,U,G em &lt;b&gt;GUJ&lt;/b&gt;). &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Nesse exemplo( &lt;b&gt;Variaveis&lt;/b&gt;.&lt;span style="color: rgb(51, 102, 255);"&gt;java&lt;/span&gt;) vimos vários tipos de variáveis, mas devemos observar que isso é apenas um humilde pedaço do poderoso mundo que é Java.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;"&gt;No que tange a variáveis vale a pena salientar que:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;"&gt;-&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Quando instanciamos uma variável com um Objeto associado, essa variável não guarda o próprio objeto, e sim um endereço (uma “referência”) para esse objeto ser acessado na memória.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-Uma dada variável não pode ser declarada mais de uma única vez, ou ocorreria um erro de compilação. Ela pode ser inicializada uma única vez, e escrita/lida quantas vezes for necessário. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-O custo de declarações locais é &lt;b&gt;NULO&lt;/b&gt; em termos de instruções utilizadas pela CPU para alocação de espaço. Já o custo de inicializar essas variaveis deve ser considerado. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-variáveis locais também são chamadas de variáveis de pilha, temporárias e ou de método. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-Variáveis de instância também são chamadas de atributos, propriedades ou campos. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-Uma variável de instância e uma variável de método podem possuir o mesmo nome; nesse caso uma referência &lt;span style="color: rgb(51, 102, 255);"&gt;this&lt;/span&gt; deve ser usada dentro do método a onde está localizada a variável local para chamar a variável de instância.(&lt;span style="color: rgb(51, 102, 255);"&gt;this&lt;/span&gt; faz referencia ao objeto "classe" a qual está inserido). &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-&lt;b&gt;Toda&lt;/b&gt; variável local tem que ser inicializada antes de ser usada. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-Variáveis de Instância são inicializadas com valores padrão caso não seja feito explicitamente pelo Programador assim que um objeto da classe a qual está inserida é instanciado. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-Variáveis de um tipo mais restritivo (por exemplo &lt;b&gt;int&lt;/b&gt;) não podem receber um conteúdo de um tipo mais abrangente(por exemplo &lt;span style="color: rgb(51, 102, 255);"&gt;double&lt;/span&gt;), pois dará erro de compilação!Será necessário uma &lt;b&gt;coerção&lt;/b&gt; (ou &lt;span style="color: rgb(51, 102, 255);"&gt;casting&lt;/span&gt;) para permitir isso. Ex:&lt;span style=""&gt;                               &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;double&lt;/span&gt; &lt;b&gt;d&lt;/b&gt;=(&lt;span style="color: rgb(51, 102, 255);"&gt;double&lt;/span&gt;)&lt;b&gt;i&lt;/b&gt;; &lt;span style="color: rgb(51, 153, 102);"&gt;//onde i é um inteiro&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Vejamos uma tabela de valores &lt;b&gt;default&lt;/b&gt; de variáveis não explicitamente inicializadas:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;i&gt; byte=0&lt;br /&gt;short=0&lt;br /&gt;int=0&lt;br /&gt;long=0l&lt;br /&gt;float=0.0f&lt;br /&gt;double=0.0d&lt;br /&gt;char='\u0000'(caracter null)&lt;br /&gt;boolean=false&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;O número de conversões e tipos são tão grandes em Java, que esse assunto merece um tutorial á parte só para isso.Por hora, mostraremos uma tabela com as conversões permitidas entre os tipos primitivos (as que ocorrem com mais frequência) em seus programas Java, só a título de curiosidade:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;Comversão de ampliação de tipo primitivo(são 19 possíveis):&lt;br /&gt;&lt;br /&gt;É permitido de:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;byte para short,int,long, float ou double&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;short para int,long,float  ou double&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;char para int,long, float ou double&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;int para long,float ou double&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;long para float ou double&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;float para double   &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt;Nota: Conversões de Ampliação de um tipo numérico primitivo não causam perda no valor da ordem de grandeza da variável, desde que ela(a classe ou método) esteja com o modificador &lt;b&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;strictfp&lt;/span&gt;&lt;/b&gt;, que força todos os métodos a aderirem as regras &lt;b&gt;&lt;span style="color: black;"&gt;IEE754&lt;/span&gt;&lt;/b&gt;, tornando possível saber o comportamento de números &lt;b&gt;double&lt;/b&gt; ou &lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="color: rgb(51, 153, 102); letter-spacing: 0pt;"&gt;float&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt;, independente da plataforma.Caso não esteja com esse modificador, poderão ocorrer perdas em números &lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="color: rgb(51, 153, 102); letter-spacing: 0pt;"&gt;float&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt; e &lt;b&gt;double&lt;/b&gt;.Em números &lt;b&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;int&lt;/span&gt;&lt;/b&gt; e &lt;b&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;long&lt;/span&gt;&lt;/b&gt;, o uso de &lt;b&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;strictfp&lt;/span&gt;&lt;/b&gt; evita uma perda de valores na sua conversão para &lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="color: rgb(51, 153, 102); letter-spacing: 0pt;"&gt;float&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt; ou &lt;b&gt;double&lt;/b&gt; arredondando para um valor válido mais próximo possível.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  Conversão de redução do tipo primitivo(são 23 possíveis):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;byte para char&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;short para byte ou char&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;char para byte ou short&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;int para byte,short ou char&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;long para byte,short,char ou int&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;float para byte,short,char,int ou long&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;double para byte,short,char,int,long ou float&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;    &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;i&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt;Nota: Conversões de Redução de um tipo numérico primitivo podem causar perdas na ordem de grandeza da variável e perder a precisão quanto ao seu valor real. &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;span style="letter-spacing: 0pt;"&gt;Obs&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;: Variáveis de instância e métodos, também são chamados de membros de classe e podem fazer uso de modificadores de acesso, ao contrário das variáveis locais.Veremos mais sobre o assunto no próximo tópico.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;p class="MsoBodyText3" style=""&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoBodyText3" style=""&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoBodyText3" style=""&gt;&lt;br /&gt;&lt;span style="color: rgb(68, 68, 68);"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoBodyText3" style=""&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText3" style=""&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-4622594390214107977?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/4622594390214107977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=4622594390214107977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/4622594390214107977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/4622594390214107977'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2007/06/tutorial-de-variveisparte2repost.html' title='Tutorial de Variáveis[parte2]repost'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-1525241188488149138</id><published>2007-06-06T15:49:00.000-07:00</published><updated>2007-06-06T15:54:34.654-07:00</updated><title type='text'>Tutorial de Variáveis[REPOST]</title><content type='html'>&lt;p class="MsoBodyText"&gt;O estado das variáveis: tipos, acessibilidade e passagens de parâmetro.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;" lang="ES-TRAD"&gt;Por D. &lt;b&gt;Ironlynx&lt;/b&gt;(2004)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt;" lang="ES-TRAD"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="" lang="ES-TRAD"&gt;1&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 10pt;" lang="ES-TRAD"&gt;-&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;&lt;span style="" lang="ES-TRAD"&gt;Introdução:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 10pt;" lang="ES-TRAD"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;pre style=""&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;" lang="ES-TRAD"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="ES-TRAD"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText2"&gt;Nesse artigo, o leitor terá uma breve noção de como se comportam as variáveis no Java, quais são os seus tipos associados, como são acessadas, armazenas em memória e como são passadas para métodos.Esse tutorial está longe de esgotar esses assuntos, mas será uma boa visão aos iniciantes na linguagem Java.&lt;br /&gt;&lt;br /&gt;A compreensão de como uma passagem de parâmetro é efetuada, ou como uma variável é acessada e modificada, é fundamental ao aprendizado de qualquer linguagem de programação. Como nunca custa nada lembrar, aí vão alguns conceitos básicos envolvidos que o programador &lt;b&gt;deve saber&lt;/b&gt;: &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;br /&gt;-&lt;b&gt;Classe&lt;/b&gt;: É o modelo ou a forma a partir da qual um objeto é criado.Nela existe a definição das variáveis e seus atributos e como as coisas irão funcionar no seu escopo (dentro dessa classe).Toma-se como padrão a primeira letra do nome da classe em maiúscula (como &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;String&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;, &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;Math&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;, &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: blue;"&gt;System&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;, entre outras).&lt;br /&gt;-&lt;b&gt;Objeto&lt;/b&gt;: É uma instância da classe, componente na memória com seus atributos e dados próprios, que utilizam seus métodos para manipular os seus dados internos e que se comunicam entre si através de mensagens (chamadas) a esses objetos.&lt;br /&gt;-&lt;b&gt;Instância&lt;/b&gt;: é a ocorrência em memória (&lt;b&gt;heap&lt;/b&gt;) de uma determinada classe, cujos dados são definidos pela classe a qual essa instância faz parte. Só existe após o objeto ser criado.&lt;br /&gt;Percebeu a diferença entre objeto e instância?Exemplo prático (repare os comentários):&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; class &lt;span style="color: blue;"&gt;Classe&lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;"&gt;private&lt;/span&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;String&lt;/span&gt; variavel_de_classe ="Sou local a Classe"; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: red;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;String&lt;/span&gt; i = "Sou uma variável de instância";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;static&lt;/span&gt; void main(String []guj){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;                        &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;Classe&lt;/span&gt; c; &lt;span style="color: rgb(153, 204, 0);"&gt;/*declara um objeto(referência) c do tipo Classe, na sua stack(pilha).*/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                        &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                        &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;c=&lt;span style="color: red;"&gt;new&lt;/span&gt; &lt;span style="color: blue;"&gt;Classe&lt;/span&gt;(); &lt;span style="color: rgb(153, 204, 0);"&gt;/*instância,é a ocorrência de c na heap, criada a partir do new(). Agora , a variável c é visível em memória----representa a classe Classe */ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(153, 204, 0);"&gt;&lt;span style=""&gt;                        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;System&lt;/span&gt;.out.println(variavel_de_classe);&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                        &lt;/span&gt;&lt;span style=""&gt;                                 &lt;/span&gt;} &lt;span style="color: rgb(153, 204, 0);"&gt;//fim do main&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;  &lt;/span&gt;} &lt;span style="color: rgb(153, 204, 0);"&gt;//fim da classe Classe&lt;/span&gt;&lt;span style=""&gt;                                 &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                        &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/p&gt;  &lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Times New Roman&amp;quot;; letter-spacing: 0pt;"&gt;Por hora, tudo que precisamos saber é que a &lt;b&gt;stack&lt;/b&gt; armazena variáveis com escopo de método (que serão executadas dentro de métodos) e que a &lt;b&gt;heap&lt;/b&gt; armazena nossos objetos. Na verdade, fazem muito mais do que isso. Não se preocupe, pois exploraremos bem o assunto mais adiante.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-family: Verdana; letter-spacing: 0pt;"&gt;&lt;span style=""&gt;                            &lt;/span&gt;:::&lt;b&gt;Variáveis e acessibilidade&lt;/b&gt;:::&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-family: Verdana; letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Verdana; letter-spacing: 0pt;"&gt;1.1-As variáveis no Java.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-family: Verdana; letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;Antes de seguir em frente, devemos levar em conta que a linguagem Java é fortemente tipada, isto é, toda e qualquer variável ou expressão tem um tipo associado conhecido em tempo de compilação. O nome de uma variável deve começar com uma letra e pode possuir os seguintes caracteres:'A'-'Z','a'-'z'.'0'-'9','_' ou qualquer caracter &lt;b&gt;unicode&lt;/b&gt; que represente uma letra, lembrando que todo nome de variável é sensível a alteração de caixa(case sensitive).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;Os tipos em Java são divididos em 2 categorias : &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana;" lang="EN-US"&gt;1ª) &lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Em tipos primitivos (&lt;b&gt;short&lt;/b&gt;, &lt;b&gt;int&lt;/b&gt;, &lt;b&gt;boolean&lt;/b&gt;, &lt;b&gt;char&lt;/b&gt;, &lt;b&gt;byte&lt;/b&gt;, &lt;b&gt;long&lt;/b&gt;, &lt;b&gt;float&lt;/b&gt; e &lt;b&gt;double&lt;/b&gt;). &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;Esses tipos primitivos podem ser &lt;span style="color: blue;"&gt;booleanos&lt;/span&gt; (&lt;b&gt;boolean&lt;/b&gt;) ou &lt;span style="color: blue;"&gt;numéricos &lt;/span&gt;(os demais). &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;Os numéricos por sua vez podem ser &lt;i&gt;&lt;u&gt;Integrais&lt;/u&gt;&lt;/i&gt;(&lt;b&gt;byte&lt;/b&gt;, &lt;b&gt;short&lt;/b&gt;, &lt;b&gt;int&lt;/b&gt;, &lt;b&gt;long&lt;/b&gt; e &lt;b&gt;char&lt;/b&gt;) ou &lt;i&gt;&lt;u&gt;Pontos&lt;/u&gt;&lt;/i&gt; &lt;i&gt;&lt;u&gt;Flutuantes&lt;/u&gt;&lt;/i&gt;(&lt;b&gt;float&lt;/b&gt; e &lt;b&gt;double&lt;/b&gt;). &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-limites e valores que cada tipo armazena: &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;para &lt;b&gt;byte&lt;/b&gt;, de -128 até 127, (inclusive)-armazena 8bits.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;para &lt;b&gt;short&lt;/b&gt;, de -32768 até 32767, (inclusive)-armazena 16bits. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;para &lt;b&gt;int&lt;/b&gt;, de -2147483648 até 2147483647, (inclusive)-armazena 32bits. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;para &lt;b&gt;long&lt;/b&gt;, de -9223372036854775808 até 9223372036854775807,(inclusive)-armazena 64bits. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;para &lt;b&gt;char&lt;/b&gt;, de '\u0000' até '\uffff'(inclusive), que é, de 0 até 65535 do &lt;b&gt;Unicode&lt;/b&gt;. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;-tipos &lt;b&gt;booleanos&lt;/b&gt; podem assumir apenas um dos 2 valores: &lt;span style="color: blue;"&gt;true&lt;/span&gt; ou &lt;span style="color: red;"&gt;false&lt;/span&gt;. Armazenam 8 bits.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;para &lt;b&gt;float&lt;/b&gt;, de -3.4E38 a 3.4E38-32 bits. &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana;"&gt;&lt;br /&gt;&lt;span class="postbody1"&gt;&lt;span style="letter-spacing: 0pt;"&gt;para &lt;b&gt;double&lt;/b&gt;, de -1.7E308 a 1.7E308-64 bits.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;2ª)Em tipos referência (que são Classes, Objetos e Interfaces).&lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="font-family: Verdana; letter-spacing: 0pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;Veremos mais detalhes sobre esse tipo no próximo tópico.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 11pt; font-family: Verdana; letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-family: Verdana; letter-spacing: 0pt;"&gt;Obs: &lt;/span&gt;&lt;/span&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; letter-spacing: 0pt;"&gt;Há um terceiro tipo(&lt;b&gt;Null&lt;/b&gt; &lt;b&gt;Type&lt;/b&gt;) que não iremos nos ocupar pois ele não pode ser declarado, por não possuir um nome; nem permitir coerção(conversão de tipo-casting) para esse tipo. Uma referência nula é apenas um possível valor para uma expressão de tipo &lt;span style="color: blue;"&gt;null&lt;/span&gt;.Essa referência pode sempre ser convertida para qualquer tipo referência.Na prática, a única coisa que o programador precisa saber é que &lt;span style="color: blue;"&gt;null&lt;/span&gt; é um literal que pode ser de qualquer tipo referência.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; letter-spacing: 0pt;"&gt;-&gt;&lt;b&gt;Unicode&lt;/b&gt; é um padrão (regulamentado pela norma ISO-10646) que permite definir caracteres cuja representação interna no computador utiliza mais de um byte (ou octeto na&lt;span style=""&gt;  &lt;/span&gt;nomenclatura ISO) e permite representá-los de forma única não importando o idioma, programa ou plataforma.&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="postbody1"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; letter-spacing: 0pt;"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(68, 68, 68);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-1525241188488149138?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/1525241188488149138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=1525241188488149138' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/1525241188488149138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/1525241188488149138'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2007/06/tutorial-de-variveisrepost.html' title='Tutorial de Variáveis[REPOST]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-117149076906323363</id><published>2007-02-14T14:00:00.001-08:00</published><updated>2007-02-14T14:06:09.080-08:00</updated><title type='text'>Primeiro Computador Quântico</title><content type='html'>Estou ainda cético, ainda esperando análise de terceiros, mas um momento desses não posso deixar passar em branco!&lt;br /&gt;Foi lançado ontem(13/02) o primeiro computador quântico da história, sendo apresentado pela Dwave um modelo de 16qubits.É necessário salientar que toda a informática atual terá que ser repensada, diante desse novo horizonte computacional.Mais aqui:&lt;br /&gt;&lt;a href="http://www.dwavesys.com/"&gt;http://www.dwavesys.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-117149076906323363?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/117149076906323363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=117149076906323363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/117149076906323363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/117149076906323363'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2007/02/primeiro-computador-quntico_14.html' title='Primeiro Computador Quântico'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-116172459123905336</id><published>2006-10-24T14:14:00.000-07:00</published><updated>2006-10-24T14:16:31.256-07:00</updated><title type='text'>Tudo a ver com nossos políticos</title><content type='html'>&lt;span style="font-size:130%;"&gt;De tanto ver triunfar as nulidades, de tanto ver prosperar a desonra, de tanto&lt;br /&gt;ver crescer a injustiça,de tanto ver agigantar-se os poderes nas mãos dos maus,&lt;br /&gt; o homem chega a desanimar da virtude, a rir-se da honra, a ter vergonha de ser&lt;br /&gt; honesto.&lt;br /&gt;&lt;br /&gt; Rui Barbosa&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-116172459123905336?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/116172459123905336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=116172459123905336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/116172459123905336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/116172459123905336'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/10/tudo-ver-com-nossos-polticos.html' title='Tudo a ver com nossos políticos'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-115804678845180997</id><published>2006-09-12T00:37:00.000-07:00</published><updated>2006-09-12T00:39:48.463-07:00</updated><title type='text'>Será que esse roda o Windows Vista?</title><content type='html'>O Departamento de Energia americano encomendou á IBM uma super máquina que operaráa até 1.6 petaflops(1,6 quatrilhão de operações de ponto flutuante por segundo) chamado Roadrunner, com a finalidade de gerenciar o arsenal nuclear americano e fazer algumas simulações.O curioso é que ele será integrado por 16000 chips Opterons(da AMD) e 16000 Cells(Da IBM) usando uma distribuiçã o Linux(Red Hat) como SO.&lt;br /&gt;Provavelmente os Cells serão coprocessadores dos Opterons, utilizando uma nova tecnologia da AMD para otimizar a performance de sistemas multicore.O preço inicial é uma bagatela: US$35milhões iniciais.Acho que vou comprar 2!&lt;br /&gt;&lt;br /&gt;OBS.: Imagino que venha uma usina termoelétrica de brinde, porque a quantidade de calor que esses processadores vão dissipar... haja ar condicionado!&lt;br /&gt;&lt;br /&gt;Saiba mais aqui: &lt;a href="http://www.forumpcs.com.br/noticia.php?b=180563"&gt;http://www.forumpcs.com.br/noticia.php?b=180563&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-115804678845180997?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/115804678845180997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=115804678845180997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115804678845180997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115804678845180997'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/09/ser-que-esse-roda-o-windows-vista.html' title='Será que esse roda o Windows Vista?'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-115803727186466182</id><published>2006-09-11T21:59:00.000-07:00</published><updated>2006-09-11T22:01:11.876-07:00</updated><title type='text'>Conexão Java 2006</title><content type='html'>Já estão abertas as inscrições para o conexão java 2006!Alguns detalhes:&lt;br /&gt;Capacitação em DesenvolvimentoBásico, Intermediário e Avançado&lt;br /&gt;- Tutoriais de 3 horas&lt;br /&gt;- 1 congressista por micro&lt;br /&gt;- Palestras Técnicas&lt;br /&gt;- Palestras Conceituais&lt;br /&gt;- Painéis de Debate&lt;br /&gt;- Networking, jogos e descontração&lt;br /&gt;- Exposição das Principais Soluções&lt;br /&gt;&lt;br /&gt;Dias 17 e 18 de Novembrodas 9h00 às 18h00Anhembi Morumbi - Vila OlimpiaSão Paulo-São Paulo&lt;br /&gt;Mais informações aqui:&lt;a href="http://www.temporealeventos.com.br/?area=5"&gt;http://www.temporealeventos.com.br/?area=5&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-115803727186466182?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/115803727186466182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=115803727186466182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115803727186466182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115803727186466182'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/09/conexo-java-2006.html' title='Conexão Java 2006'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-115766557126394993</id><published>2006-09-07T14:29:00.000-07:00</published><updated>2006-09-15T11:15:26.190-07:00</updated><title type='text'>Responsabilidade Energética 3</title><content type='html'>Vamos agora a um jogo rápido com prós e contras de cada uma das principais fontes alternativas de energia.&lt;br /&gt;&lt;br /&gt;Energia Solar:&lt;br /&gt;Está entre as mais promissoras fontes de energias alternativas, até porque indiretamente, o Sol é responsável por todas as outras fontes de energia, e fornece anualmente a atmosfera terrestre dez mil vezes mais do que o consumo mundial de energia.&lt;br /&gt;Prós:&lt;br /&gt;É abundante no país, pode ser utilizada para uma infinidade de coisas como aquecedor de água(por meio de coletores solares) até a produção em larga escala de energia(por meio de células fotovoltáicas que convertem a radiação solar em calor). No verão, a economia na conta de luz chega a 20% em locais ensolarados que usam boilers com coletor de energia solar.O semi-árido nordestino tem uma das maiores índices de incidência de radiação solar do mundo, chegando até a 2.1KWh por metro quadrado.Um painel fotovoltaico chega a durar até 25 anos.&lt;br /&gt;&lt;br /&gt;Contras:&lt;br /&gt;A eficiência depende de condições climáticas (já sabe, se nublar é fria!), os painéis fotovoltaicos ainda são caros e a eficiência ainda está na casa dos 15% a 20% de energia aproveitável.Isso significa que se 1000 watts incidirem durante 1 hora em um painel de 1M², apenas 150(se a eficiência for de 15%)serão aproveitados.O excedente de energia tem que ser armazenado em baterias, geralmente bem pesadas e altamente poluentes.&lt;br /&gt;&lt;br /&gt;Energia eólica:&lt;br /&gt;É a mais difundida fonte de energia alternativa, representando cerca de 23% da geração de energia em países como a Dinamarca,cerca de 10% na Espanha e 5% na Alemanha.A União Européia pretende que 10% de toda a sua energia consumida seja proveniente da força dos ventos até 2030.&lt;br /&gt;&lt;br /&gt;Prós:&lt;br /&gt;Tem uma eficiência relativamente boa no aproveitamento da energia proveniente dos ventos, e chega-se a casa de 30% de aproveitamento da força aerodinâmica nos rotores(o limite é 59% de aproveitamento previstos pelo físico Albert Betz, por isso chamado 'limite de Betz').Após feitos estudos preliminares(como estudos de viabilidade econômica e de impacto ambiental), um pequeno parque eólico pode ser erguido em apenas 3 meses.Já existem rotores capazes de produzir energia para até 5000 residências.No Brasil, o Nordeste apresenta um potencial formidável para a exploração da energia eólica.&lt;br /&gt;&lt;br /&gt;Contras:&lt;br /&gt;Depende muito da incidência de ventos no local(recomenda-se pelo menos ventos constantes de 16KMh para que a instalação de uma turbina seja viável), a instalação de uma "fazenda eólica"(ou parque eólico) demanda estudos de impacto ambiental(muitas aves migratórias acabam indo "para o saco" tragadas pelos rotores de vento).As melhores áreas para instalação de parques eólicos são as áreas costeiras, onde os ventos não possuem contato com nenhuma superfície(como morros e prédios), chegando "mais puros" (sem perder força) as fontes geradoras(os rotores), o que encarece muito o projeto de um sistema de energia eólica.É necessário também um bom conjunto de baterias para assegurar um correto armazenamento e sustento no fornecimento de energia nos momentos de calmaria.Os gastos com armazenamento chegam a representar quase 50% dos custos de projeto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Energia Geotérmica:&lt;br /&gt;A energia geotérmica é proveniente do calor que permaneceu na Terra há bilhões de anos, quando o planeta era um corpo incandescente, acrescentando-se a esse calor a energia de átomos radioativos que se desintegram ao longo do tempo.É aproveitada pela captação da água quente proveniente de poços perfurados a até 2 mil metros de profundidade. Essa água tem origem das chuvas, que se infiltram no solo e quando aquecidas, tendem a retornar a superfície. Comparado com outros países, o Brasil tem um potencial de extração de energia geotérmica muito pequeno, porque não há atividade vulcânica recente como no Japão, na Itália, nos Estados Unidos e os países do Círculo de Fogo do Pacífico.No Brasil, o poço pioneiro foi perfurado em Presidente Prudente(SP).&lt;br /&gt;&lt;br /&gt;Prós:&lt;br /&gt;Pode ser tanto usado para aquecimento como para resfriamento, gerando um ganho ambiental muito grande, além de uma economia de energia na produção de água quente para banheiros, e uma vez instalada, os custos de manutenção são reduzidos.Há países com até 75% de sua produção de energia proveniente de energia geotérmica (como El Salvador).&lt;br /&gt;&lt;br /&gt;Contras:&lt;br /&gt;Dependem demais do potencial geológico da área, pois as rochas devem funcionar como um "retentor" de calor. Para gerar eletricidade, as fontes devem ter um vapor d´agua de pelo menos 150 graus centígrados.No Brasil, as fontes dificilmente ultrapassam os 70 graus.O potencial no país é de cerca de 3mil Megawatts, ou um quarto da potência da usina elétrica de Itaipu. Muito pouco comparado com outras fontes de energia alternativa.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Energia proveniente de Biomassa(BioDiesel):&lt;br /&gt;Já é uma realidade no país, com programa de governo prevendo 5% de BioDiesel adicionadosao Diesel comum até 2008. O BioDiesel possui fontes distintas podendo vir tanto de fontes animais(como sebo bovino), vegetais(mamona, bagaço de cana,soja...) e resíduos de detritos humanos(escuma do esgoto e o chorume dos aterros de lixo).&lt;br /&gt;&lt;br /&gt;Prós:&lt;br /&gt;Matriz de produção diversificada(soja,mamona,girassol,babaçu,amendoim,esgoto...), podendo substituir o Diesel comum no todo ou em parte, tendo o uso mais diversificado possível como geradores elétricos e em motores de veículos.Possui um ciclo de renovação constante, em virtude de poder ser "colhido" dependendo da safra da matéria-prima(como soja e demais grãos), mas o proveniente de esgoto possui virtualmente "infinita" fonte de matéria-prima, pois sua produção é contínua.Não dá nem para falar das vantagens que seriam geradas para o agronegócio e toda a produção de insumos agrícolas e suas respectivas cadeias de produção.Além de tudo isso, possui um baixo risco de explosão, pois necessita de fonte de calor superior a 150 graus para explodir.O biodiesel derivado do etanol(alcool proveniente da cana-de-açucar) é o que está em estágio mais avançado de viabilidade comercial em grande escala e puro(chamado B100) devido a cultura já consolidade principalmente para a produção de álcool.&lt;br /&gt;&lt;br /&gt;Contras:&lt;br /&gt;Não é totalmente limpo como muitos anunciam.O biodiesel puro não emite enxofre (componente do óleo diesel que provoca a chuva ácida),e produz bem menos dióxido de carbono(CO2), mas emite NOx(óxido de nitrogênio), que é um grande poluidor do ar de São Paulo(pode ser reduzido com a adição de aditivos especiais). Em climas muito frios, há o mesmo problema de formação de cristais que existe no diesel comum.O biodiesel tem potencial calorífico de 3 a 4% menor que o diesel comum.&lt;br /&gt;&lt;br /&gt;O Hidrogênio:&lt;br /&gt;É o chamado "combustível do futuro" sendo limpo, fácil de obter(é o elemento mais abundante no Universo) e já sendo usado em células a combustível cujo único resíduo é o vapor d´água.&lt;br /&gt;&lt;br /&gt;Prós:&lt;br /&gt;É a única fonte de energia que pode ser fabricada de outras fontes de energia. Seu uso como combustível em geral produz água como resultado. Uma boa nova:Foi descoberto um material capaz de armazenar o hidrogênio em forma sólida, nas CNTP(condições normais de temperatura e pressão).O avanço dessa pesquisa acabará com um dos maiores problemas que é seu armazenamento.Esse novo material consegue armazenar hidrogênio o suficiente para mover um automóvel pela mesma distância que um volume equivalente de gasolina consegue fazer hoje.&lt;br /&gt;&lt;br /&gt;Contras:&lt;br /&gt;A molécula do Hidrogênio não é encontrada livremente na natureza.É sempre encontrada em associações com outros elementos.A forma de obtê-la pode ser muito custosa e mesmo poluente!!!Isso depende da fonte primária que produz o hidrogênio. Se for de um hidrocarboneto(como petróleo), haverá como um dos subprodutos, o carbono, que reagindo com o oxigênio atmosférico resultará no dióxido de carbono, altamente poluente.A forma menos custosa para a natureza para obtenção de hidrogênio é a hidrólise da molécula de água(H2O), mas muita energia é utilizada no processo tornando-o muito caro.Outro problema é que o hidrogênio é altamente inflamável e ainda ocupa muito espaço e rende relativamente pouco(comparado com combustíveis fósseis).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Há ainda outras fontes diversas de obtenção de energia, como a energia obtida pelas ondas (já está entrando em testes um protótipo de usina maremotriz no Ceará), que não polui, mas apresenta alguns problemas quando as marés atingem seus limites máximos e mínimos(o que ocorre de 6 em 6 horas).No brasil, apenas o Sul e o Sudeste teriam uma capacidade de geração da ordem de 40mil MW(megawatts).E há ainda a vantagem de usar usinas maremotrizes associadas a usinas eólicas, pois onde há boas ondulações, há bons ventos.Com 8500 quilômetros de litoral, o Brasil é virtualmente candidato a virar uma potência nessa forma de produção de energia.&lt;br /&gt;&lt;br /&gt;É importante salientar, que os custos de instalação de uma fonte de energia elétrica são altos, principalmente devido a necessidade de investimento em linhas de transmissão para o seu mercado consumidor.No caso das chamadas fontes de energia alternativa, há ainda um gasto extra em baterias para armazenar o excedente de produção e manter a alimentação quando não houver geração.As baterias são hoje o "calcanhar de Aquiles" do mundo da eletricidade. A explicação do porquê disso fica para um outro tópico....&lt;br /&gt;&lt;br /&gt;Para saber mais:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.biodiesel.gov.br/"&gt;http://www.biodiesel.gov.br/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pick-upau.org.br/mundo/alternativas_combustivel/alternativas_energia.htm"&gt;http://www.pick-upau.org.br/mundo/alternativas_combustivel/alternativas_energia.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Wind_power"&gt;http://en.wikipedia.org/wiki/Wind_power&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-115766557126394993?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/115766557126394993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=115766557126394993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115766557126394993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115766557126394993'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/09/responsabilidade-energtica-3.html' title='Responsabilidade Energética 3'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-115747974887397036</id><published>2006-09-05T11:04:00.000-07:00</published><updated>2006-09-14T21:10:52.506-07:00</updated><title type='text'>Responsabilidade Energética 2.</title><content type='html'>É necessário salientar que antes de qualquer política de construção de hidrelétricas, usinas atômicas ou seja lá o que for, muito pode ser feito para melhorar o aproveitamento da energia que está disponível para o consumidor.&lt;br /&gt;Além do já citado exemplo de lâmpadas LED, há itens indispensáveis no dia-a-dia que poderiam ser substituídos por opcionais de consumo menor.Um monitor CRT(de Tubo) de 15"(quinze polegadas) consome aproximadamente 65Wh.Um monitor de LCD de 19", consome 38Wh!Ou seja, um campo de visão muito maior por quase a metade do consumo!O problema(tava bom demais para ser verdade...) é que o preço do CRT é apenas 30% do LCD. Custava ter alguma política de redução de impostos para baratear esses monitores?Ainda tem a vantagem de não fazer mal a vista e serem beeem mais leves.Por curiosidade, pesquisando achei um Samsung 940B no Submarino por R$1099(com tempo de resposta nada mal de 8milissegundos!).Um televisor Philips LCD de 32" consome 130Wh, um similar de plasma, 285Wh.Já sacou a economia no fim do mês?&lt;br /&gt;Continuando, um aquecedor solar de 200 litros custa aproximadamente R$1300, e dependendo da localização, o investimento é recuperado entre 18 e 24 meses.Nunca é demais lembrar que o chuveiro elétrico responde por cerca de 20% da conta de luz de uma casa.&lt;br /&gt;Os incentivos em produtos (e alternativas) para um consumo de energia menor ainda são tímidos e é necessário o barril de petróleo bater os 70 dólares para que alternativas como o biodiesel sejam tocadas para frente com bons olhos, mesmo sabendo que essa alternativa já estava sendo pesquisada desde a década de 70.&lt;br /&gt;Na continuação deste, publicarei os prós e os contras de cada fonte alternativa de energia de forma objetiva.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-115747974887397036?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/115747974887397036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=115747974887397036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115747974887397036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115747974887397036'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/09/responsabilidade-energtica-2.html' title='Responsabilidade Energética 2.'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-115747937817099135</id><published>2006-09-05T10:58:00.000-07:00</published><updated>2006-09-05T11:11:57.453-07:00</updated><title type='text'>BrazilUtils</title><content type='html'>Para os "Seres do Java" e programadores Java em geral, eu abri um blog só para discutirmos idéias do projeto.&lt;br /&gt;http://brazilutils.blogspot.com/&lt;br /&gt;Aguardem em breve nosso primeiro release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-115747937817099135?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/115747937817099135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=115747937817099135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115747937817099135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115747937817099135'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/09/brazilutils.html' title='BrazilUtils'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-115717635002898684</id><published>2006-09-01T22:39:00.000-07:00</published><updated>2006-09-14T21:11:59.360-07:00</updated><title type='text'>Responsabilidade Energética.</title><content type='html'>&lt;p&gt;É incrivel como governo vem, governo vai, e nós continuamos á deriva em termos de sistema elétrico.Uns querem Angra 3, outros mais usinas hidroelétricas, mas não atentam para o óbvio: Não é só a planta elétrica nacional que tem que ser revista, mas também a responsabilidade ambiental para os projetos em vigor e as necessidades de busca por fontes alternativas de produção de energia.&lt;/p&gt;&lt;p&gt;O Brasil é um país rico em opções de fontes de produção de energia alternativa(até demais...), e estamos deixando passar uma oportunidade de ouro para um grande progresso nesse campo. O país tem uma capacidade em energia solar de vários Gigawatts(alguns falam que é o maior potencial do mundo na área), e uma capacidade de geração de energia eólica igualmente espantosa.&lt;/p&gt;&lt;p&gt;O custo da energia solar(em relação a hidrelétrica) era 9 vezes mais cara em 2001. Hoje, é entre 3-4 vezes mais.Mas as células solares ainda são caras(principalmente as de silício monocristalino, mais puras e difíceis de serem obtidas).A queda de preços é questão de tempo pois os maiores fabricantes(como Siemens e Kyosera) estãopesquisando novos produtos com maior aproveitamento da energia por um custo menor.&lt;/p&gt;&lt;p&gt;Quanto á energia eólica, análises dos recursos eólicos medidos em vários locais do país, mostram a possibilidade de geração elétrica com custos da ordem de R$200 por MWh para um potencial eólico de estúpidos 143.000 MW!!!.Sim isso é energia pra caramba!Lembra do cálculo das lâmpadas de LED(no post A evolução das Lâmpadas X Consumo Elétrico)? Então, se 1 milhão de lâmpadas incandescentes consomem 40MWh, vocês já notam o quanto é um potencial desperdiçado não investir nessa forma de produção de energia.&lt;/p&gt;&lt;p&gt;Há também, a alternativa da energia da biomassa, como o uso do bagaço de cana(custo de R$95 por Megawatt), e uso do chorume e da escuma do esgoto(Sim, isso é possível!). Na verdade, os experimentos para produção de biodiesel da escuma do esgoto já estão em andamentos(por uma empresa incubada na UFRJ). E é maravilhoso saber que algo que antes a Cia. de Água pagava para removerem para um aterro(e haja problemas ambientais nesse processo...), possa ser usado para geração elétrica. Algo até outrora%&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-115717635002898684?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/115717635002898684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=115717635002898684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115717635002898684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115717635002898684'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/09/responsabilidade-energtica.html' title='Responsabilidade Energética.'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-115554001485030003</id><published>2006-08-14T00:15:00.000-07:00</published><updated>2006-08-14T00:20:14.863-07:00</updated><title type='text'>Para o pessoal lé de Brasília...</title><content type='html'>“REUNIÃO DE BACANA”&lt;br /&gt;&lt;br /&gt;E quem não acredita grita então:&lt;br /&gt;Se gritar "pega ladrão" &lt;br /&gt;Não fica um, meu irmão&lt;br /&gt;Se gritar "pega ladrão"&lt;br /&gt;Não fica um&lt;br /&gt;&lt;br /&gt;Você me chamou para esse pagode&lt;br /&gt;E me avisou: "aqui não tem pobre"&lt;br /&gt;Até me pediu pra pisar de mansinho&lt;br /&gt;Porque sou da cor, eu sou escurinho&lt;br /&gt;Aqui realmente está toda a nata &lt;br /&gt;Doutores, senhores, até magnata &lt;br /&gt;Com a bebedeira e a discussão &lt;br /&gt;Tirei a minha conclusão&lt;br /&gt;&lt;br /&gt;Se gritar "pega ladrão" &lt;br /&gt;Não fica um, meu irmão &lt;br /&gt;Se gritar "pega ladrão" &lt;br /&gt;Não fica um&lt;br /&gt;&lt;br /&gt;Lugar meu amigo é minha baixada &lt;br /&gt;Que ando tranqüilo e ninguém me diz nada &lt;br /&gt;E lá camburão não vai com a justiça &lt;br /&gt;Pois não há ladrão e é boa a polícia &lt;br /&gt;Lá até parece a Suécia bacana &lt;br /&gt;Se leva o bagulho e se deixa a grana &lt;br /&gt;Não é como esse ambiente pesado &lt;br /&gt;Em que você me trouxe para ser roubado&lt;br /&gt;&lt;br /&gt;Se gritar "pega ladrão" &lt;br /&gt;Não fica um, meu irmão &lt;br /&gt;Se gritar "pega ladrão" &lt;br /&gt;Não fica um&lt;br /&gt;&lt;br /&gt;Autores: Ary do Cavaco &amp; Bebeto di São João.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-115554001485030003?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/115554001485030003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=115554001485030003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115554001485030003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/115554001485030003'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/08/para-o-pessoal-l-de-braslia.html' title='Para o pessoal lé de Brasília...'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-114686428812180502</id><published>2006-05-05T14:16:00.000-07:00</published><updated>2006-05-11T21:45:43.883-07:00</updated><title type='text'>Não há saída fácil.</title><content type='html'>O que será que falta ao país para crescer?Eu diria que faltam cinco reformas a serem feitas no brasil.&lt;br /&gt;-Quais são essas reformas?&lt;br /&gt;Seriam a Trabalhista, a Tecnológica, a do Judiciário, a do Estado e a da Educação.&lt;br /&gt;A trabalhista, necessária porque os encargos sociais são muito altos para o empregador, o que onera em demasia o custo de um empregado, chegando a consumir o mesmo que lhe é pago em encargos e tributos.Diminuindo a tributação, diminui os custos do empregador, diminui as desculpas para aumentos de salários e por conseguinte, diminui o valor agregado de cada produto. Claro que cabe ao governo garantir que uma eventual diminuição dos encargos seja em parte repassada ou trabalhador(na forma de aumentos), e em parte aos produtos(na forma de preçosbaixos); evitando que empresários inescrupulosos revertam um benefício geral, apenas em lucros para o próprio bolso e que restrições de benefícios sociais sejam impostas aos trabalhadores.&lt;br /&gt;&lt;br /&gt;A tecnológica, porque com uso de computadores, poderíamos agilizar processos(já pensou tudo digitalizado, processos e súmulas vinculantes???), identificação de acidentes e criminosos,e todo o processo licitatório de serviços públicos(já estamos chegando lá...).O problema da reforma tecnológica, é que ela traria a diminuição da burocracia, o que desagradariamuita gente pois qual o político que gostaria de um serviço público(como o sistema de saúde)que funcionasse???&lt;br /&gt;Se ao invés de ter que carregar uma série de documentos(CPF,RG,Título Eleitoral, Certidão disso ou daquilo...), fosse tudo centralizado(como um cadastro universal), com o cidadão atualizando seus dados anualmente(quase como uma declaração de IR), seria muito difícil de existirem golpistas comRG e Certidões falsas, porquê a original estaria a disposição para quem possa checar(claro que apenas com permissão de leitura, caso contrário um cracker faria uma festa...).&lt;br /&gt;&lt;br /&gt;No judiciário, porque o tempo dos trâmites processuais, e os inúmeros recursos, permitem que um bom advogado protele uma ação até sua extinção, o que favorece a corrupção, e prejudica aos mais pobres, que nãopodem pagar por uma boa defesa. E a lei deveria ser mais dura para que fosse do serviço público e fizesse algo errado. Algo como um adicional de 50% na pena por uma "quebra de confiança pública" nesses funcionários depositados(ou tornar essa quebra de confiança um crime hediondo).Os políticos pensariam duas vezes antes de sacanear os eleitores.&lt;br /&gt;&lt;br /&gt;No Estado, porque o Estado(Governo) brasileiro tem que ser "menor" e intervir menos nas suas unidades federativas, e os cargos comissionados tem que ser cortados no mínimo pela metade.Imagine um concursado do BNDES, ralando feito um puto, e vem o governo e indica um cara sem experiência em uma função de consultoria, só pq é companheiro de partido e ganha 30mil pormês para uma reunião de conselho quinzenal emitir sua opnião...E talvez fosse interessante que houvesse uma mini-câmara(ou mini-senado) em cada estado pois assim os políticos se reuniriam por videoconferência, e seria fácil cortar auxilios gasolina, avião e outrso que os eleitores otários(NÓS!), pagam para eles irem a Brasília e trabalharem praticamente 3 dias na semana.&lt;br /&gt;&lt;br /&gt;-Na educação, porque essa é simplesmente a mais importante.Investir sério em ensino básico e médio.É a única chance de melhorarmos a longo prazo.A nossa repetência(até a 4ªsérie) é comparável a do Camboja, e num teste de conhecimentos feito com 32 países ficamos em último lugar.Não vi quase ninguém se apavorar com isso... E também inibir medidas popularescas como política de cotas raciais.Imagine o recrutador:&lt;br /&gt;Branco -&gt;Profissional muito mais qualificado, pois conseguiu estudar mesmo com boa parte dasvagas destinadas as cotas.&lt;br /&gt;Negro -&gt; Profissional menos capaz que só conseguiu estudar pela política de cotas.&lt;br /&gt;Um indivíduo negro tem tanta capacidade quanto um branco, e não se reparará a injustiça histórica da escravidão criando um caos racial. Quem defende política de cotas não pode estar com uma boa intenção!!!&lt;br /&gt;Mas o maior problema da Educação vem mais uma vez por culpa dos interesses políticos pois crianças de primeira série demoram muito até começarem a votar, o que prejudica os interesses dos poderosos, pois isso é um investimento para médio prazo.&lt;br /&gt;Infelizmente, não há saída fácil...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-114686428812180502?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/114686428812180502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=114686428812180502' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114686428812180502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114686428812180502'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/05/no-h-sada-fcil.html' title='Não há saída fácil.'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-114625619694045421</id><published>2006-04-28T13:24:00.000-07:00</published><updated>2006-09-01T13:43:39.390-07:00</updated><title type='text'>A evolução das Lâmpadas X Consumo Elétrico</title><content type='html'>É incrível como os micros atuais consomem energia. Hds com mais rotações, montes de ram e placas de vídeo sedentas por fontes potentes, além do aumento das frequencias de operaçãodos processadores, trouxe a catástrofe para as contas de luz, e a Intel, num surto de "descoberta do óbvio", resolveu adotar como fator para mensurar desempenho de seus novos processadores a "performance por Watt" quando outrora era defensora do alto clock(antes tarde do que nunca!). Mas não é sobre frequencias de operação e processadores que iremos tratar,pois isso foi só umadesculpa para o assunto que iremos realmente discutir que são as lâmpadas.Lâmpadas?!Isso mesmo.Por quê?Porque talvez a maior revolução em termos de economia de energia a curto prazo, venha desse segmento.&lt;br /&gt;Imagine trocar uma lâmpada incandescente de 40Wh(Watt-hora) por uma flourescente de 9Wh com a mesma iluminação.Bom isso já e o normal... mas imagine trocar essa fluorescente por uma de 1.2Whcom a mesma luminescência! Sim, isso já existe(e no brasil!)! Tratam-se de lâmpadas LED(Diodo Emissor de Luz) que na verdade são um circuito único em estado sólido, sem partes móveis; e por isso com alta durabilidade(até 11 anos) e com alta eficiência em transformação da energiaem luminosidade (cerca de 85%), o que faz com que ela praticamente não esquente!(Obs.: as crianças não acharão muita graça em por a mão...).&lt;br /&gt;No Brasil, infelizmente só possuímos um grande fabricante(&lt;a href="http://www.sunlab.com.br/"&gt;http://www.sunlab.com.br/&lt;/a&gt;), logo o preço não é lá muito convidativo(cerca de R$57 na &lt;a href="http://www.atera.com.br/"&gt;http://www.atera.com.br/&lt;/a&gt; e 46 no site do fabricante para 3 ou mais peças).&lt;br /&gt;A maioria deve pensar: "Pagar 57 reais numa lâmpada é muito caro!"Sim, em uma é mesmo, mas R$ 460 em 10 seriam tão caros assim???Depende da onde vc mora e o custo por KWh na sua região.Aqui no Rio, com os impostos, beiram os 50 centavos por KWh!Para uma maior compreensão, vamos a uma matemática básica das coisas:&lt;br /&gt;Consideraremos que eu só compro lâmpadas fluorescentes de 9Wh, que possuem em média 2 anos deduração(5 a 8 mil horas uso), e custam cerca de 3 reais.&lt;br /&gt;Se eu utilizo 10 delas, eu gasto 30 paus por compra.Beleza?Vamos considerar o "universo" de11 anos (a durabilidade das lâmpadas LED), usando as lâmpadas 10 horas dia.&lt;br /&gt;Em 11 anos, eu trocarei as fluorescentes 4 vezes, as de LED, nenhuma.Isso fará que eu gaste150 reais na compra de 50 dessas ao longo desse tempo.Lembrando que nas de LED, somente os460 paus iniciais nesse período.Não parece vantajoso... mas e o consumo ao longo do tempo?Vamos lá(considerando o preço de 50 centavos o KWh):&lt;br /&gt;Usando 10 florescentes de 9Wh 10 h ao dia, teremos em um mês 27KWh, ou 13,5 reais de gasto. Isso dá em 11 anos, 13,5X132 meses o que dá R$1782 reais!!! Com as LED, teremos 1.2Wh x 10x10x 1 mês o que dará 3,6KWh ou 1,80 por mês.Em 11 anos teremos 237,60 reais de gasto!!!Sentiu "a" diferença?Continuando, como nosso custo total envolve o consumo elétrico + o custo das lâmpadas nós teremos:&lt;br /&gt;==&gt; 150+1782 reais= &lt;font color="red"&gt;1932 reais&lt;/font&gt; gastos com as fluorescentes ao longo de 11 anos.&lt;br /&gt;==&gt; 460+237,60 reais = &lt;font color="blue"&gt;697,60 reais&lt;/font&gt; gastos ao longo de 11 anos.&lt;br /&gt;Teremos uma estúpida economia de mais de 1200 reais ao longo desse tempo!Imagine substituir 1 milhão de incandescentes de 40Wh por essas!Seriam quase 39MW de economia por hora!E com certeza se o governo necessitasse de uma quantidade de lâmpadas dessao preço seria bem mais baixo que esses 46 reais, pois pagamos o chamado "custo de inovação".&lt;br /&gt;Como cálculo preciso, é cálculo comprovado, eu em breve estarei adiquirindo uma dessas para testes e se eu achar a iluminação satisfatória, trocarei 10 fluorescentes por essas. Postarei minhas impressões de "leigo atento"(sou analista de sistemas, não engenheiro elétrico!) aqui com maiores observações!&lt;br /&gt;Os sítios para venda e info:&lt;br /&gt;&lt;a href="http://www.sunlab.com.br/bulbo_sunlux.htm"&gt;http://www.sunlab.com.br/bulbo_sunlux.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.atera.com.br/"&gt;http://www.atera.com.br/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-114625619694045421?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/114625619694045421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=114625619694045421' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114625619694045421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114625619694045421'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/04/evoluo-das-lmpadas-x-consumo-eltrico.html' title='A evolução das Lâmpadas X Consumo Elétrico'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-114039000996078345</id><published>2006-02-19T14:56:00.000-08:00</published><updated>2006-02-19T15:10:21.760-08:00</updated><title type='text'>ExperiMENTA</title><content type='html'>Agora quem não sabe "ingrêiz" não tem mais desculpas!!!O site do Mentawai agora é bilíngue, e esse framework é uma boa oportunidade para os que estão entrando para o mercado web agora,&lt;br /&gt;os que estão de saco cheio do Struts, e os que detestam macarronada com XML(like me!!!).&lt;br /&gt;A maior feature do Mentawai(IMHO) não é não precisar reestartar o contexto, não é a independência dos XMLs entre tantas outras features, mas sim a sua simplicidade.&lt;br /&gt;O Mentawai não é o Santo Graal da programação Web, mas funciona direitinho ao que se propõe e&lt;br /&gt;ainda é simples! ;]&lt;br /&gt;&lt;br /&gt;Ops! Ia esqueçendo o site: http://www.mentaframework.org/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-114039000996078345?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/114039000996078345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=114039000996078345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114039000996078345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114039000996078345'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/02/experimenta.html' title='ExperiMENTA'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-114038978765792477</id><published>2006-02-19T14:53:00.000-08:00</published><updated>2006-02-21T13:18:59.766-08:00</updated><title type='text'>Monocore X Multicore.</title><content type='html'>Muitos se perguntam:&lt;br /&gt;-"Quando será que eu devo trocar meu humilde computador por um multicore?"&lt;br /&gt;Depende.Se vc é um gamer e possui um FX57, fique onde está, que está muuuito bem. Se vc programa e  tem um desses, fique por aí também. Agora, se você programa, escuta radio online, roda antivírus e ainda deixa umas "aplicaçõezinhas" rodando de fundo, um dualcore é para você.&lt;br /&gt;  A maioria das aplicações atuais, ainda não estão preparadas para rodar em 64 bits e fazer um uso completo dos  multicores(claro, não estou falando de ambiente de servidores!) e devemos lembrar também aos heavy gamers que não adianta ter um processador top(como o FX57  ou FX60)  pois a grande maioria das placas de vídeo serão um gargalo em comparação ao processador.&lt;br /&gt; Para os gamers, um dualcore ainda não é ideal, pois só agora estão surgindo patches e otimizações de performance dos drivers para tirar proveito dos multicores(e das placas de vídeo atuais). Se vc é um jogador inveterado e tem grana de sobra para gastar, go ahead; senão, espere.&lt;br /&gt;Se vc é um programador que goste de novas tendências, vá em frente, mas saiba que a maioria&lt;br /&gt;dos programas ainda não faz o correto uso do multiprocessamento e eu(na minha modesta opnião) esperaria até o lançamento dos AM2 para tomar uma decisão, pois os preços dos 939 cairão muito, e se vc não quiser ficar com algo defasado(e com preço depreciado), parta direto para esse novo soquete.&lt;br /&gt;Me preocupa a adesão em massa aos multicores e aos 64 bits, sem a correta adaptação das softwarehouses a eles. Apesar do inegável ganho de performance quando se abre vários programas ao mesmo tempo num dualcore, o aproveitamento ainda é longe do ideal do que deveria ser.&lt;br /&gt;Fora uma degradação de performance quando a memória é insuficiente(esperado em qualquer micro), e o preço ainda longe do ideal das memos DDR2, não anima muito o mercado. A conclusão que posso lhes oferecer é que se o ambiente importante é o multitarefa, o mundo multicore já lhes serve.Se o importante for o multiprocessamento, melhor esperar um pouco mais...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-114038978765792477?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/114038978765792477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=114038978765792477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114038978765792477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114038978765792477'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/02/monocore-x-multicore.html' title='Monocore X Multicore.'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-114005170874360719</id><published>2006-02-15T16:59:00.000-08:00</published><updated>2006-02-15T17:01:48.750-08:00</updated><title type='text'>Um pouco de Haskell[REPOST]</title><content type='html'>&lt;p&gt;A pedidos de um amigo, taí:&lt;/p&gt; &lt;p&gt;Haskell é uma linguagem funcional, toda escrita baseada em funções.Conta com  uma biblioteca padrão,chamada Prelude, que contém algumas funções básicas como  raiz quadrada(sqrt), e funções para manipulações de listas.&lt;/p&gt; &lt;p&gt;Exemplo de sintaxe de uma função:&lt;/p&gt; &lt;p&gt;média aritimética entre dois nums:&lt;/p&gt; &lt;p&gt;media::Float-&gt;Float-&gt;Float&lt;/p&gt; &lt;p&gt;media x y = (x+y)/2.0 &lt;/p&gt; &lt;p&gt;onde media é o nome da função(em minúscula),os 2 primeiros Float são as 2  entradas,e o último Float é a saída(resultado).&lt;/p&gt; &lt;p&gt;Para sua execução o exemplo deve ser salvo por um Editor de Textos com a  extensão .HS e ser executado pelo interpretador hugs,q pode ser baixado em  haskell.org . Exemplo de execução via prompt:&lt;/p&gt; &lt;p&gt;media 8.0 e 9.0 --retornará 8.5&lt;/p&gt; &lt;p&gt;Para saber mais:&lt;/p&gt; &lt;p&gt;&lt;a href="http://cs.wwc.edu/%7Ecs_dept/KU/PR/Haskell.html"&gt;http://cs.wwc.edu/~cs_dept/KU/PR/Haskell.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.marcosrodrigues6.hpg.ig.com.br/cap2.htm"&gt;http://www.marcosrodrigues6.hpg.ig.com.br/cap2.htm&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;E aqui vai um Script com algumas funções(salvar como testes.hs , por  exemplo):&lt;br /&gt;&lt;br /&gt;&lt;p&gt;--Teste de funções em Haskell-16/12/2004-Por &lt;b style="color: black; background-color: rgb(255, 255, 102);"&gt;Ironlynx&lt;/b&gt;(c)&lt;br /&gt;--cubo de um  número&lt;br /&gt;cubo::Int-&gt;Int&lt;br /&gt;cubo c= c*c*c&lt;/p&gt; &lt;p&gt;--cubo de n nums-outra forma&lt;br /&gt;saidacubo=[3^n|n&lt;-[0..15]]&lt;/p&gt; &lt;p&gt;--exemplo de tabuada&lt;br /&gt;tabuada=[5*n|n&lt;-[1..9]] --tabuada de 5&lt;/p&gt; &lt;p&gt;--exponencial&lt;br /&gt;exponencial::Int-&gt;Int-&gt;Int&lt;br /&gt;exponencial b  e&lt;br /&gt;            | e==0=1&lt;br /&gt;            | e==1=b&lt;br /&gt;            | otherwise  =b*exponencial b (e-1)  &lt;/p&gt; &lt;p&gt;--fatorial&lt;br /&gt;fat::Int-&gt;Int&lt;br /&gt;fat n&lt;br /&gt;    | n==0=1&lt;br /&gt;    | otherwise  =n*fat(n-1)&lt;br /&gt;--a função product substitui o uso de fatorial  exemplo:&lt;br /&gt;produto::Int&lt;br /&gt;produto=product[1..10]&lt;/p&gt; &lt;p&gt;--Sequencia de Fibonnacci-inicia em 0 e 1 e cada num q se segue é a soma &lt;br /&gt;--dos 2 anteriores&lt;br /&gt;fibo::Int-&gt;Int&lt;br /&gt;fibo n&lt;br /&gt;     | n==0=0&lt;br /&gt;     |  n==1=1&lt;br /&gt;     | otherwise =fibo(n-1)+fibo(n-2)--melhor usar n&gt;1pois  negativos darão erro!&lt;/p&gt; &lt;p&gt;--diagonal de um paralelepípedo de lados a,b e  c&lt;br /&gt;diagonal::Float-&gt;Float-&gt;Float-&gt;Float&lt;br /&gt;diagonal a b c  =sqrt(a*a+b*b+c*c)&lt;/p&gt; &lt;p&gt;--Equação do  2º(ax^2+bx-c=0)--&lt;br /&gt;equacao::Float-&gt;Float-&gt;Float-&gt;[Float] --produz um  resultado do tipo lista&lt;br /&gt;equacao a b c=[bmais a b c,bmenos a b  c]&lt;br /&gt;bmais::Float-&gt;Float-&gt;Float-&gt;Float&lt;br /&gt;bmais a b c = (-b +  sqrt(delta a b  c))/(2*a)&lt;br /&gt;bmenos::Float-&gt;Float-&gt;Float-&gt;Float&lt;br /&gt;bmenos a b c = (-b +  sqrt(delta a b c))/(2*a)&lt;br /&gt;delta::Float-&gt;Float-&gt;Float-&gt;Float&lt;br /&gt;delta  a b c = (b^2)-(4*a*c)&lt;/p&gt; &lt;p&gt;--escrever numeros de 1 a 10-usando uma  lista&lt;br /&gt;numers::[Int]&lt;br /&gt;numers=[1..10]&lt;/p&gt; &lt;p&gt;--imprimir os numeros entre 2 valores dados(inferior e superior) de acordo &lt;br /&gt;--com o passo escolhido pelo usuário-por exemplo: valores 2 20 4 &lt;br /&gt;--exibirá a lista  [2,6,10,14,18]&lt;br /&gt;valores::Int-&gt;Int-&gt;Int-&gt;[Int]&lt;br /&gt;valores inf sup  passo=[inf,(inf+passo)..sup]  &lt;/p&gt; &lt;p&gt;--implementando funções mod(retorna o resto) e div(retorna o  quociente)&lt;br /&gt;--já existem no prelude----&gt;é apenas um  exercício&lt;br /&gt;funcaomod::Int-&gt;Int-&gt;Int&lt;br /&gt;funcaomod x y&lt;br /&gt;          |  (x-y)&gt;=y=funcaomod (x-y) y&lt;br /&gt;          | (x==y)=0&lt;br /&gt;          |  (x&gt;y)=x-y&lt;/p&gt; &lt;p&gt;--funcaodiv::Int-&gt;Int-&gt;Int&lt;br /&gt;--funcaodiv x y = (x - funcaomod x y )/y  &lt;/p&gt; &lt;p&gt;--Compreendendo listas,estrutura de uma lista:&lt;br /&gt;--[corpo|geradores,filtros]  onde:&lt;br /&gt;--corpo:são os elementos componentes da lista&lt;br /&gt;--geradores:fornece os  candidatos a lista de saída&lt;br /&gt;--filtros: qualificam os elementos q farão parte  da lista de saída&lt;br /&gt;--Exemplos:&lt;/p&gt; &lt;p&gt;--ler 100 numeros inteiros e imprimir quais são pares e quais são  ímpares&lt;br /&gt;pares=[n|n&lt;-[1..100],n`mod`2==0]&lt;br /&gt;impares=[i|i&lt;-[1..100],i`mod`2==1]&lt;/p&gt; &lt;p&gt;--múltiplos de 4 entre 1 e 100&lt;br /&gt;multiplos=[n|n&lt;-[4..100],n`mod`4==0]&lt;/p&gt; &lt;p&gt;--Receber uma Frase(por ex. "hoje e sabado") e exibir&lt;br /&gt;--essa frase  invertida("sabado e hoje"):&lt;br /&gt;frase::String-&gt;String&lt;br /&gt;frase  f=unwords(reverse(words f))&lt;/p&gt; &lt;p&gt;--explicação sobre algumas funções:&lt;br /&gt;--words transforma String em uma  Lista&lt;br /&gt;--unwords transforma lista em String&lt;br /&gt;--reverse inverte uma  lista&lt;br /&gt;--concat concatena 2 listas&lt;br /&gt;--map transforma todos os elementos de  uma lista Ex.:&lt;br /&gt;--map (^2) [2,3] mostrará [4,9]&lt;br /&gt;  &lt;br /&gt;--Banco de Dados(na  verdade tuplas) em Haskell-parece Struct de C-&lt;br /&gt;--tipos Tuplas são sempre  maíusculas--&lt;br /&gt;--exemplo simples usando uma sextupla de videolocadora  representando as&lt;br /&gt;--aquisições de filmes&lt;br /&gt;type Usuario = String&lt;br /&gt;type  Filme = String&lt;br /&gt;type Diretor = String&lt;br /&gt;type Genero = String&lt;br /&gt;type Sexo =  Char&lt;br /&gt;type Dia = Int&lt;br /&gt;type Mes = Int&lt;br /&gt;type Ano = Int&lt;br /&gt;type DataAluguel =  (Dia,Mes,Ano)&lt;br /&gt;type Aquisicao =  (Usuario,Sexo,Filme,Diretor,Genero,DataAluguel)&lt;br /&gt;type BancoDeDados =  [Aquisicao]&lt;/p&gt; &lt;p&gt;banco::BancoDeDados&lt;br /&gt;banco=[("Ana Paula",'f',"ET","Steven  Spielberg","drama",(12,12,2004)),&lt;br /&gt;       ("José  Leonardo",'m',"Monella","Tinto Brass","comedia",(10,12,2004))]&lt;/p&gt; &lt;p&gt;usuarioDaFita::Aquisicao-&gt;Usuario&lt;br /&gt;usuarioDaFita(nomeDoUsuario,sexo,filme,diretor,genero,dataAluguel)=nomeDoUsuario&lt;/p&gt; &lt;p&gt;diretorFita::Aquisicao-&gt;Diretor&lt;br /&gt;diretorFita(nomeDoUsuario,sexo,filme,diretor,genero,dataAluguel)=diretor&lt;/p&gt; &lt;p&gt;nomeVideo::Aquisicao-&gt;Filme&lt;br /&gt;nomeVideo(nomeDoUsuario,sexo,filme,diretor,genero,dataAluguel)=filme&lt;/p&gt; &lt;p&gt;generoVideo::Aquisicao-&gt;Genero&lt;br /&gt;generoVideo(nomeDoUsuario,sexo,filme,diretor,genero,dataAluguel)=genero&lt;/p&gt; &lt;p&gt;--exemplo de relação que retorna o filme alugado pelo  usuario:&lt;br /&gt;aluguel::BancoDeDados-&gt;Usuario-&gt;[Filme]&lt;br /&gt;aluguel banco  usuario = [nomeVideo n|n&lt;-banco,usuarioDaFita n==usuario]&lt;/p&gt; &lt;p&gt;--repare que os tipos tuplas podem ser compostos(como a Data)&lt;/p&gt; &lt;p&gt;--boa prova plawng!!!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&gt;&gt;&gt;Originalmente postado em DEZ de 2004.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-114005170874360719?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/114005170874360719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=114005170874360719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114005170874360719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114005170874360719'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/02/um-pouco-de-haskellrepost.html' title='Um pouco de Haskell[REPOST]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-114005150291302812</id><published>2006-02-15T16:54:00.000-08:00</published><updated>2006-02-15T16:58:22.916-08:00</updated><title type='text'>Pequenas Notáveis[REPOST]</title><content type='html'>O alvorescer da Internet, trouxe inúmeras mudanças no comércio,mas uma que está  ficando marcante é as "insurgentes virtuais",que são lojas que só existem na  web.Sim,lojas que nunca existiram,nem possuem a pretensão de existir além do  mundo virtual.&lt;br /&gt;    Isso está ocorrendo principalmente devido ao alto custo de  manter uma loja "física" com muitos empregados,custos fixos altos(aluguel do  ponto, luz,  água, impostos, segurança, os próprios empregados e seus encargos  sociais...), além de outras despesas inerentes a qualquer comércio.&lt;br /&gt;   Na web, esses custos são drasticamente reduzidos, pois o maior custo, em geral,  será o de desenvolvimento da loja virtual Claro, depois há a necessidade de  pagar hospedagem, manutenção, ter um apoio logístico para a distribuição dos  produtos, marketing(-Não façam Spam!!!), bons fornecedores.. e por aí vai!&lt;br /&gt;    Mesmo com uma série de fatores que devem ser atentamente observados e seguidos  ao pé da letra, em geral,os custos de uma pequena loja virtual podem ser bem  menores que uma loja real.Já existem soluções prontas inclusive,com pacotes  fechados de  hospedagem+ divulgação+ notificação de pedidos+domínio na casa das 500  pratas mensais(ou até menos!), dependendo a quantidade de produtos e page views  que a loja terá.&lt;br /&gt;  Mas é bom salientar que esse mercado não é para todos,pois envolvem riscos(-o  que não envolve?), e um certo(-ou seria grande?) esforço, principalmente quanto o  é o dono da loja que fecha as compras e contata fornecedores/distribuidores, mas  em geral, alguns poucos empregados podem vir a ser necessários, principalmente  quando há um teleatendimento para fechar as compras(muitas fecham por  confirmação via email-menos seguro!).&lt;br /&gt;  Também se faz necessário definir o que a loja venderá(qual será o foco),pois  alguns produtos tem grande aceitação(livros, cds, dvds, componentes de hardware), e  outros, ainda sofrem da desconfiança do usuário como vestuário feminino pois a  maioria das mulheres ainda prefere ir a uma loja onde possam experimentar o  produto, algo ainda improvável via web...&lt;br /&gt;   Não se deve esquecer o item mais discutido de um comércio via web,que ainda é a  segurança da transação que o usuário irá efetuar, pois cartões de crédito são  facilmente clonáveis,o que leva a loja a possuir várias opções de pagamento como  boletos bancários e depósitos em conta corrente.&lt;br /&gt;   O lojista deve atentar  também para os prazos de entrega que é capaz de cumprir e se possível, contratar  uma terceirizada para cuidar da logística e entrega de produtos,claro que essa  solução já é para uma loja de bom porte, mas não se deve subestimar o  crescimento de uma loja online, basta ser competitiva e cumprir prazos que  muitos clientes virão.               &lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;Originalmente postado em NOV de 2004.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-114005150291302812?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/114005150291302812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=114005150291302812' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114005150291302812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114005150291302812'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/02/pequenas-notveisrepost.html' title='Pequenas Notáveis[REPOST]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-114005127603886975</id><published>2006-02-15T16:43:00.000-08:00</published><updated>2006-02-15T16:54:36.073-08:00</updated><title type='text'>Fim dos Tempos[REPOST]</title><content type='html'>É inconcebível que nos dias atuais ainda seguimos vínculos religiosos para se  tomarem decisões de cunho off-culto. A religião deve ficar aonde jamais deveria  ter saído:os templos,e os corações de seus seguidores.&lt;br /&gt;   Nunca é tarde para  lembrar que muitas das maiores atrocidades da humanidade,foram cometidas "em  nome de Deus", e atos ignorantes como a Santa Inquisição, o incêndio da biblioteca  de Alexandria, a reparação de Galileu, entre outros cuja extensa lista não convém  citar, pois faltaria espaço no hd do servidor...&lt;br /&gt;   A eleição dos EUA, mostra o quão  frágil e ignorante é o ser humano, não importa cor, sexo ou condição  social.Religião,ao contrário do que muitos pensam, não é apenas fé.É dogma+fé.O  problema,nunca é a fé. É o dogma.&lt;br /&gt;Um Ateu pode ter fé?Pode. dogma não.-Mas como???a palavra Fé, do hebraico  "emuná", entre diversos outros significados é dado pelos Hebreus: "é a certeza de  coisas que se esperam, a convicção de fatos que não se vêem."&lt;br /&gt;   Ou seja, ela é  intangível, não atingível pela racionalidade, pois não é passível de ser  mensurada. Um corredor olímpico bem treinado, um grande cientista, um grande  músico, podem ter fé sem dogma.Como?Crendo em si próprios, que deveria ser o  primordial do ser humano.&lt;br /&gt;  Um grande pesquisador quando está no ápice de seu potencial de pesquisa, muitas  vezes,fala para os demais:"olha,o resultado será obtido,descobriremos a cura."  Ele ainda nem sabe qual será o resultado, nem analisou o conjunto de resultados  possiveis,mas ele acredita no que pode fazer,mesmo tentando usar uma base  racional para isso. Se você não é capaz de definí-la(ainda), foge a razão,e no  campo do intangível, é fé. Até o mais Ateu dos cientistas, um dia teve que  acreditar em algo(pode ser sua própria teoria-ou teimosia), sem antes ser capaz  de definí-lo. Nunca é demais lembrar que: Fato é uma verdade absoluta,  real,existente, inequívoca, incontestável, declarada. A razão trabalha com  isso(fatos).&lt;br /&gt;  Dogma,é a definição e a explicitação da (suposta) verdade, condicionada a uma  fórmula perfeita. pode ser considerado nas palavras de um profeta(como maomé para  os muçulmanos), a verdade revelada por Deus e confirmada pela  igreja(catolicismo), ou outras tantas dependendo do credo. A negação do dogma de  qualquer religião constitui uma ofensa(ou heresia), por depor contra os pilares  aos quais essa religião se sustenta. Como não existe uma única religião, e  indubitavelmente o que é a verdade(dogma) para uma, não é para a outra, podemos  concluir que TODOS NÓS SOMOS HEREGES(Ateus,Agnósticos e Religiosos), depende  apenas do olhar de quem nos observa.&lt;br /&gt;  Voltando aos EUA, a política no mundo, há muito vem sendo manipulada, pelo lado  da ocasião,que hoje em dia, é o terrorismo no mundo.Bin Laden e seus seguidores  nada são que não uma representação atual da igreja católica do século de 16,que  era sedenta por sangue daqueles que violavam seus dogmas(ou interesses),e  praticava barbáries igualmente inconcebíveis para aqueles que se dizem  "seguidores" ou "enviados" por Deus.&lt;br /&gt;   A sociedade americana está balançada,  e no desespero,tenta se apegar em algo que não se pode ver,que supostamente é  maior que qualquer ser.Afinal,se Deus é justo, ele vencerá os implacáveis que  atormentam os pilares na hipócrita sociedade americana.Ora,convenhamos,Deus é  para todos certo?Cristãos tem Deus,Muçulmanos tem Deus. Se a força da fé de um  católico for igual a de um muçulmano,tão fodidos. A maior religião do mundo(com  1,6bilhão de adeptos) é a muçulmana. e a justiça é igual para todos, ela atenderá  a maioria, e a maioria...&lt;br /&gt;   ...a Maioria o quê?É terrorista?Sanguinária???Claro que não...os extremistas  são uma minoria,mas uma minoria que perturba,e muito!&lt;br /&gt;     Para existirem  extremistas(em qualquer credo), em algum ponto, esse credo que os alimenta  falhou, pois não deu limites a sua interpretação do dogma, e esta interpretação,  serviu de alicerce para todo um conjunto de loucuras que alguns chamam de  "verdadeira interpretação" disto ou daquilo. Não importa. É a insanidade com  embasamento na crença.&lt;br /&gt;  Hoje, é possível termos maletas atômicas de apenas 10-12Kg, com a potência próxima  da bomba de hiroshima. A bomba no japão tinha quase 1tonelada de massa, mas  hoje, com a miniaturização,e melhor técnica de produção, pode-se produzir um  estrago igual(ou muito maior devido a alta densidade populacional de alguns  locais), sendo muito mais difícil de serem encontradas do que as duas bombas  voadoras de centenas de toneladas que atingiram as duas torres. Mesmo com toda a  radiação dissipada no transporte.&lt;br /&gt;  O voto em Bush não foi feito com consciência, mas sim com medo, e esperança de  que o "intangível" e a "verdade" vencerão a maldade dos detratores do "Sonho  Americano". Torço que nenhuma das maletas atômicas desaparecidas dos depositos  russos caiam em mãos erradas, e não custa nada lembrar, muitos dos militares  russos que tomam conta das ogivas ainda existentes,ganham 150 dólares ao mês, e  a cobiça...bem, sabe como é né?É inerente do ser humano...&lt;br /&gt;  Espero que o povo  de tantos nobéis,da eletricidade,de Watson, Sagan, Wrigth,  Einstein(naturalizado), Welles entre tantos outros, passe a utilizar o  conhecimento já disponibilizado por esses tantos na nação mais rica do  planeta, pois onde a fé termina, começa o conhecimento(e vice-versa).Não devemos  misturar as coisas.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Respondendo aqueles que bateram no Daniel:Moral comum não existe, só na  teoria, pois moral é dependente de interpretação dogmática,e o que serve para  uns,não servirá para outros. Não cabe ao Estado definir o que é a moral, mas sim  o que é o bem comum,pois este é para todos.Um político não pode ser eleito  porque é ateu, cristão, muçulmano, bissexual, punk ou seja lá o que for. Deve ser  eleito por que é capaz de dar chances iguais á todos. Afinal, não é os Estados  Unidos o país(autoproclamado) das oportunidades? Deixo aqui essa questão. &lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;Originalmente postado em NOV de 2004.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-114005127603886975?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/114005127603886975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=114005127603886975' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114005127603886975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114005127603886975'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/02/fim-dos-temposrepost.html' title='Fim dos Tempos[REPOST]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-114005046968436905</id><published>2006-02-15T16:29:00.000-08:00</published><updated>2006-02-15T16:41:09.696-08:00</updated><title type='text'>Você sabe o que é um cache?[REPOST]</title><content type='html'>Cache é uma memória extremamente rápida que armazena dados e instruções que o  processador utiliza, permitindo um acesso mais rápido as mesmas. O cache passou a  ser utilizado quando os processadores efetivamente se tornaram mais rápidos do  que a memória RAM(o que aconteceu a partir do 386). Geralmente, quanto maior a  quantidade, ou quanto maior a velocidade, maior será a eficiência do cache. O  cache é dividido em níveis(L1,L2,L3), operando na mesma frequência do  processador.(Obs.:no início de seu uso, o cache L2 fazia parte da placa mãe,   ficando limitado obviamente a frequência da mesma-á época, entre 66 e 100MHz-o  que o tornava muito mais lento do que o L1, que funcionava na frequência do  processador). O cache L3 usado nos micros atuais também faz parte do  processador(como o Pentium 4 Xeon da Intel), mas quando começou a ser  implantado(no k6-3) era parte da placa-mãe, logo bem lento.&lt;br /&gt;&lt;br /&gt;Quando o processador não encontra o dado que necessita no cache(cache  hit), haverá um cache miss, pois como o dado não está disponível para ele,ele terá  que acessar a memória RAM para encontrá-lo. Nos processadores atuais, a chance de  sucesso(cache hit) na obtenção do dado é muito grande(quase 99% de êxito). Em  alguns processadores, o cache é exclusivo, ou seja, os dados disponíveis nos caches  L1 e L2 são diferentes (como o Athlon da AMD), enquanto em outros é inclusivo(como  no Pentium 3)em que o cache L1 contém uma cópia do cache L2. Isso é uma vantagem  da AMD pois mais dados poderão ser armazenados.&lt;br /&gt;&lt;br /&gt;Mas como ele trabalha em si?É fácil:Imagine uma farmácia.Você,que é o  cliente, fará o papel do processador solicitando dados ao cache, chegando na bela  atendente parecida com a Daniela Cicarelli(que farmácia é  essa?Quando???onde???huhauah...) para solicitar  dados (ops!produtos!)... continuando, ao se dirigir a atendente,você solicita um  remédio. A nossa opulenta atendente, que é muito esperta, tem no balcão em que está  localizada, os 10 produtos que mais são solicitados (como aspirina, camisinha,  pastilhas valda...),atendendo a maioria dos pedidos muito rápido,só com um  levantar de mãos do balcão. Esse balcão a qual está localizada,é o nosso cache  L1, mais perto do núcleo do processador, portando entregando produtos(os nossos  "dados"),mais rápido. Infelizmente,o produto que você precisa(um antiácido para  aliviar a azia  do hamburguer "verde" comido no podrão da esquina), não está  nesse balcão,sendo necessário a nossa bela atendente ir até uma segunda bancada  maior, com uns 100 produtos que saem muito. Essa segunda bancada, é o nosso cache  L2.Como você é muito azarado, ela vai ter que ir até uma terceira e distante  estante(que é o nosso cache L3!) com 1000 remédios, para pegar esse maldito  antiácido. Repare que ela vai demorando um tempo maior a medida em que vai  descendo de nível(procurando) os produtos no "cache". A essa demora em buscar o  "dado", chamamos de latência (geralmente medida em ciclos de processador), sendo  obviamente maior no cache mais distante do nosso núcleo (a nossa estante  representando o cache L3). Como você é muuuito azarado, ela teve que ir além, tendo  que ir ao depósito de todos os remédios(que nesse caso,representa a nossa  RAM, onde o programa inicialmente carrega os dados). Lamentavelmente ela demorou  demais a trazer o remédio e você "vazou" da farmácia após ter vomitado no  balcão...(que papelão hein???)&lt;br /&gt;&lt;br /&gt;O cache se tornou indispensável nos processadores,sendo usados inclusive em um  dos maiores gargalos da computação atual que é o disco rígido(por ser um  dispositivo muito mais lento do que a RAM ou o processador). Ele evita que a  cabeça de leitura do disco tenha que passar várias vezes na mesma trilha,pois  ela lê os setores próximos(mesmo não sendo solicitados). Quando o sistema  solicitar o próximo setor, este já estará carregado em cache e será acessado em  tempo recorde. Já existem hds com até 16MB de cache.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Para saber mais:&lt;br /&gt; &lt;a href="http://www.guiadohardware.net/livros/dicionario/c/index.php"&gt;http://www.guiadohardware.net/livros/dicionario/c/index.php&lt;/a&gt;&lt;br /&gt; &lt;a href="http://computer.howstuffworks.com/cache1.htm"&gt;http://computer.howstuffworks.com/cache1.htm&lt;/a&gt;&lt;/p&gt;&gt;&gt;&gt;originalmente postado em JUL de 2004.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-114005046968436905?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/114005046968436905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=114005046968436905' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114005046968436905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/114005046968436905'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/02/voc-sabe-o-que-um-cacherepost.html' title='Você sabe o que é um cache?[REPOST]'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22406729.post-113986097926040268</id><published>2006-02-13T12:01:00.000-08:00</published><updated>2006-02-13T12:02:59.266-08:00</updated><title type='text'>Testando</title><content type='html'>Com a morte do Jablo, esta se torna a nossa nova casa...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22406729-113986097926040268?l=osereojava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://osereojava.blogspot.com/feeds/113986097926040268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22406729&amp;postID=113986097926040268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/113986097926040268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22406729/posts/default/113986097926040268'/><link rel='alternate' type='text/html' href='http://osereojava.blogspot.com/2006/02/testando.html' title='Testando'/><author><name>Ironlynx</name><uri>http://www.blogger.com/profile/17731197098339113790</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
