Blog: guia java

Programação Java

Programação Java. Java pode ser resumidas em três partes. Uma linguagem de alto nível para desenvolvimento orientado a objetos. Um pré-compilador (gerador de bytecodes) de código fonte. Uma máquina Virtual(JVM) que interpreta o código pré-compilado para uma plataforma específica. Cujas caracteristicas são orientação a objetos, portabilidade, pois o mesmo bytecode pode ser interpretado em qualquer plataforma e grande número de bibliotecas disponibilizadas através da Core API. Ler mais…

Tipos de Dados em java

Tipos de Dados em java. Linguagem Java. Pontos importantes:
1 -Tipos da dados em java são divididos em
2 grandes Categorias:
Tipos Primitivos
Tipos Referência(Falaremos no Proximo Post)

2 – Todos os tipos primitivos são considerados Valores Literais

3 – Todos os tipos primitivos armazenam os Bits realmente dos valores

4 – Todos as representações de tipos primitivos são palavras com letras minúsculas pois, todos são Keywords

5 – O operador – = (igual) – em java significa RECEBE.
int x = 0;
O inteiro x RECEBE 0(zero)

LEMBRE DOQUE VIMOS ANTERIORMENTE?

SIGUA ISSO QUE você se dará bem:

Exemplos Java,Linguagem Java, Programação, Java

Esse tipo, será mostrado um deles aqui, que é o tipo PRIMITIVO

Isso é Simplesmente uma passagem de valores, oque estiver a direita do Operador(= igual) é atribuido ao que estiver a esquerda do Operador(= igual):

Exemplos Java,Linguagem Java, Programação, Java

Tipos Primitivos:
(Os valores são armazenados em Bits), como o exemplo acima:
10 Em Decimal = 0000 0000 0000 0000 0000 0000 0000 1010 em Binário

Temos 4 categorias de dados em Tipos Primitivos:
*** Todas as 4 categorias são considerados valores literais, pois armazenam o real valor em bits.

– Tipo Inteiro= byte,short, int,long
– Tipo Ponto-Flutuante = float e double
– Tipo Textual = char
– Tipo Logico = boolean

Inteiro:
Armazenam valores inteiros. Podem ser representados em formatos:
decimais,octais ou hexadecimais:

2 -> Decimal
075 -> o 0 – zero – a esquerda indica que é Octal
0xBA -> o 0x -zero x – a esquerda indica que é Hexadecimal

Tamanho

Nome ou Tipo

Range

8 bits

byte

– 2 ^ 7 ate 2 ^ 7 -1

16 bits

short

– 2 ^ 15 ate 2 ^ 15 -1

32 bits

int

– 2 ^ 31 ate 2 ^ 31 -1

64 bits

long

– 2 ^ 63 ate 2 ^ 63 -1

<p>
  *byte e short forão inventados para preservação de memoria.
</p>

<p>
  Quando eu for usar long:
</p>

<p>
  Quando você especificar um valor e quer que seja long, use a letra L do lado direito do valor, int é default ou seja se não especificar o compilador irá intender como inteiro. O &ldquo;l&rdquo; pode ser maiusculo ou minusculo.
</p>

<p>
  long meuvalor = 20; -> ocorreu Promoção de int para long<br />long meuValor = 20L; -> colocamos um long em uma variavel do tipo long<br />long meuValor = 20l; -> colocamos um long em uma variavel do tipo long
</p>

<p>
  </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp7fh6zh8LI/AAAAAAAAAGk/1Cf-3UsCObA/s1600-h/IntegralValues.png"><img style="cursor: pointer; width: 320px; height: 115px;" src="http://localhost/www/wp0/uploads/IntegralValues.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980778941018290" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"></p> 

  <p>
    Pontos Flutuantes:<br />Um valor é considerado Ponto Fluantes quando tem a letra(e ou E), ou tiver a letra(f ou F) ou a letra(d ou D):
  </p>

  <p>
    e ou E = expoente<br />f ou F = float<br />d ou D = double
  </p>

  <p>
    Ou quando são usados para armazenar valores decimais.O Default é double, Sempre use ponto(.), É padrão nos USA usar ponto.
  </p>

  <p>
    Exemplos:
  </p>

  <p>
    10.0 &#8211; Um valor de ponto Flutuante, double<br />10.0D &#8211; Um valor de ponto Flutuante, double<br />2.999F &#8211; Um valor de ponto Flutuante, float<br />6.0E25 &#8211; Um valor de ponto Flutuante, double = 60000000000000000000000000.0<br />6.0E25 &#8211; É igual a 6.0E+25
  </p>

  <p>
    </span>
  </p>

  <table style="width: 418px; height: 184px; color: rgb(0, 0, 0);" border="1" cellpadding="4" cellspacing="0">
    <col width="85"> <col width="85"> <col width="85"> <tr valign="top">
      <td style="font-weight: bold;" width="33%">
        <p>
          <span style="color: rgb(0, 0, 0);"><span style="font-family:arial;"><span style="font-size:100%;">Tamanho</span></span></span>
        </p>
      </td>

      <td style="font-weight: bold;" width="33%">
        <p>
          Nome ou Tipo
        </p>
      </td>

      <td style="font-weight: bold;" width="33%">
        <p>
          Range
        </p>
      </td>
    </tr>

    <tr valign="top">
      <td width="33%">
        <p>
          32 bits
        </p>
      </td>

      <td width="33%">
        <p>
          float
        </p>
      </td>

      <td width="33%">
        <p>
          -11.40129846432481707e-45 ate 3.40282346638528860e+38
        </p>
      </td>
    </tr>

    <tr valign="top">
      <td width="33%">
        <p>
          64 bits
        </p>
      </td>

      <td width="33%">
        <p>
          double
        </p>
      </td>

      <td width="33%">
        <p>
          4.94065645841246544e-324d ate<br />1.79769313486231570e+308d
        </p>
      </td>
    </tr>
  </table>

  <p>
    <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><br />Quando eu for declarar um float:<br />Sempre coloque o F do lado direito do valor para espeficar que é um float senão não compila.(F maiusculo ou minusculo da na mesma).<br />Porque do f?<br />float é menor que double logo, um float cabe em um float porem um Double não cabe em um float. É a mesma coisa que cast</p> 

    <p>
      float variable = 0.0F;<br />float variable = (float) 0.0; -> mesma coisa
    </p>

    <p>
      </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sp7fl4HWODI/AAAAAAAAAGs/nbNuVHn-22I/s1600-h/pontosFlutuantesdia.png"><img style="cursor: pointer; width: 320px; height: 182px;" src="http://localhost/www/wp0/uploads/pontosFlutuantesdia.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980846938306610" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"></p> 

      <p>
        <span style="font-size:130%;"><span style="font-weight: bold;">Textual:</span></span><br />É usado para armazenar um simples caracter inclusive caracteres Unicode não assinados. Todos tem 16 bits(sem Sinal).
      </p>

      <p>
        Para usar char oque eu preciso?<br />Especificar o seu caracter dentro de &ldquo;
      </p>

      <p>
        Um char não armazena a real caracter, mais sim os bits representantes dela.
      </p>

      <p>
        char cacaracter = &rsquo;t&rsquo;;
      </p>

      <p>
        Exemplos:
      </p>

      <p>
        &rsquo;t&rsquo; &#8211; Tabulação
      </p>

      <p>
        <span style="font-weight: bold;font-size:130%;">Logico:</span><br />São aceitos somente valores booleanos(true ou false), um dos dois.
      </p>

      <p>
        boolean meuValor = true;
      </p>

      <p>
        Um Exemplo prático:
      </p>

      <p>
        public class MinhaClasse{ //Esse é um comentario ignorado pelo compilador
      </p>

      <p>
        public static void main(String[] array){<br />int x = 20;
      </p>

      <p>
        }//fim do metodo main
      </p>

      <p>
        }
      </p>

      <p>
        Se você mandar executar isso oque acontece?<br />1 &#8211; Seu programa vira processo<br />2 &#8211; O class Loader da JVM carregará sua classe<br />3 &#8211; Todo processo tem uma thread, toda thread tem uma STACK, Toda Stack tem:<br />&#8211; Operand Stack<br />&#8211; Local Variable<br />&#8211; Uma Referência para Constant POOL<br />A jvm jogará o 20 na Operand Stack<br />4 &#8211; Esse 20 será armazenado nas Local Variable Referente ao método main(Uma coisa que quero deixar claro é que, em Stack damos o Nome de Frame ao métodos quando estão sendo usados.)<br />5 &#8211; Não tem mais codigo no code_block do método main, a JVM termina seu processo.
      </p>

      <p>
        Usando: javap -c Temos em bytecode:
      </p>

      <p>
        Compiled from "MinhaClasse.java&rdquo;<br />public class MinhaClasse extends java.lang.Object{<br />public MinhaClasse();<br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return
      </p>

      <p>
        public static void main(java.lang.String[]);<br />Code:<br />0: bipush 20<br />2: istore_1<br />3: return
      </p>

      <p>
        }
      </p>

      <p>
        Agora vamos desenhar:
      </p>

      <p>
        </init></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sp7fqgc8j4I/AAAAAAAAAG0/fZUiO6p3DuY/s1600-h/VariavelLocal.png"><img style="cursor: pointer; width: 262px; height: 320px;" src="http://localhost/www/wp0/uploads/VariavelLocal.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980926485794690" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><init></p> 

        <p>
          Você empurrou o numero 20 que é do tipo inteiro(ou seja 32 bits), e mandou armazenar em (int x &#8211; que é do tipo inteiro, ou seja 32 bits)  32 bits cabem em 32 bits? SIM! então você obteve:
        </p>

        <p>
          </init></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp7ftff6J8I/AAAAAAAAAG8/GlWdiIxibFg/s1600-h/VariavelLocal2.png"><img style="cursor: pointer; width: 262px; height: 320px;" src="http://localhost/www/wp0/uploads/VariavelLocal2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980977769392066" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><init></p> 

          <p>
            Ou isso se fica mais facil:
          </p>

          <p>
            </init></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sp7fWg0Ql3I/AAAAAAAAAGM/HcjV7nLbZLk/s1600-h/coube.png"><img style="cursor: pointer; width: 310px; height: 148px;" src="http://localhost/www/wp0/uploads/coube.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980582986192754" border="0" /></a></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><init></p> 

            <p>
              Porque se eu fizer int x = 32L; da ERRO?<br />1 &#8211; um int tem 32 bits<br />2 &#8211; 32L é um long, long tem 64 bits
            </p>

            <p>
              Olha oque você fez:
            </p>

            <p>
              </init></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sp7fZ0zCjnI/AAAAAAAAAGU/mPpLmfAxLXU/s1600-h/coube2.png"><img style="cursor: pointer; width: 320px; height: 154px;" src="http://localhost/www/wp0/uploads/coube2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980639889395314" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><init></p> 

              <p>
                Mesmo que fosse:<br />int x = 0.0F;<br />Não daria certo, int tem 32 bits, float tem 32 bits. SO que Pontos Flutuantes trabalham diferente de Integrais, eles usam na verdade mais de um Slot em memoria, mais por representação não fica viavel fazer.
              </p>

              <p>
                <span style="font-size:130%;"><span style="font-weight: bold;">É hora da revisão:</span></span>
              </p>

              <p>
                &#8211; Cuidados com a representação dos formatos dos valores dos TIPOS INTEGRAIS, podem ser em 3 tipos:<br />2 -> Decimal<br />075 -> o 0 &#8211; zero &#8211; a esquerda indica que é Octal<br />0xBA -> o 0x -zero x &#8211; a esquerda indica que é Hexadecimal
              </p>

              <p>
                &#8211; Promoção:
              </p>

              <p>
                long meuvalor = 20; -> ocorreu Promoção de int para long<br />long meuValor = 20L; -> colocamos um long em uma variavel do tipo long<br />long meuValor = 20l; -> colocamos um long em uma variavel do tipo long
              </p>

              <p>
                &#8211; Um valor é considerado Ponto Fluantes quando tem a letra(e ou E), ou tiver a letra(f ou F) ou a letra(d ou D),ou quando são usados para armazenar valores decimais.O Default é double, Sempre use ponto(.), É padrão nos USA usar ponto.
              </p>

              <p>
                &#8211; Sempre que quiser representar um valor do tipo Ponto flutuante float, use o (F ou f), para haver cast, ja que double é default.
              </p>

              <p>
                &#8211; Um char aparentemente apresenta um caracter porem ele é uma representação em bits de um caracter
              </p>

              <p>
                &#8211; Tipos booleanos só aceitam dois tipos de valores, OU true OU false.
              </p>

              <p>
                &#8211; Em Valores do tipo Inteiro, o padrão é int
              </p>

              <p>
                &#8211; Em Valores do tipo Ponto Flutuante, o padrão em double
              </p>

              <p>
                &#8211; O operador igual(=) Significa em java recebe,<br />int a = 8;<br />O Inteiro a RECEBE 8
              </p>

              <p>
                Curiosidades:
              </p>

              <p>
                &mdash;&mdash;->Porque o byte tem o valor elevado a 7 e não a 8?<br />Leva-se em conta que 1 byte são 8 bits, Porem o range de valores de byte é de &#8211; 2 ^ 7 a 2 ^ 7 -1, porque disso?
              </p>

              <p>
                Porque elevado a 7 e não a 8?<br />1 Bit é usado para guardar o sinal(+ ou -), se um Byte tem 8 Bits, e 1 Bit é usado para guardar sinal(+ ou -) só resta 7 Bits para representar um número.
              </p>

              <p>
                Decimal Binário<br />125 1111101(7 Bits)
              </p>

              <p>
                Porem para representar em java isso é precisa do Bit de sinal:<br />01111101 &#8211; 8 Bits = +125<br />11111101 &#8211; 8 Bits = -125
              </p>

              <p>
                Vamos a outro exemplo:
              </p>

              <p>
                Decimal Binário<br />128 10000000(8 Bits)
              </p>

              <p>
                Porem para representar em java isso é precisa do Bit de sinal:<br />010000000 &#8211; 9 Bits = +128<br />110000000 &#8211; 9 Bits = -128
              </p>

              <p>
                PERCEBA QUE 9 BITS JA NÃO FAZ PARTE DO RANGE DE BYTE, portanto esse numero não pode ser um BYTE.
              </p>

              <p>
                Porque -1 do range?<br />Pois o 0 é incluso no range.<br />O Byte tem um range de -2 ^ 7 a 2 ^ 7 -1 significa:<br />&#8211; 125, -124, -123, -122 . &#8211; 2,- 1, 0, +1,+2 +125
              </p>

              <p>
                &mdash;&mdash;->Be Careful!!! Bears Shouldn&rsquo;t Ingest Large Fury Dogs.<br />Source: Head First katty Siera
              </p>

              <p>
                Be = boolean<br />Careful = char<br />Bears = byte<br />Shouldn&rsquo;t = short<br />Ingest = int<br />Large = long<br />Fury = float<br />Dogs = double
              </p>

              <p>
                &mdash;&mdash;->Quer ver como char armazena realmente Bits e usa como conversão para letras?<br />char x = 100;
              </p>

              <p>
                Se você mandar imprimir na saida Padrão sairá: d
              </p>

              <p>
                &mdash;&mdash;-> O tipo char é inteiro literal, outro exemplo disso?
              </p>

              <p>
                int x = &lsquo;c&rsquo;;
              </p>

              <p>
                Se você mandar imprimir na saida Padrão sairá: 99
              </p>

              <p>
                </init></span>
              </p>

Teoria Geral dos Sistemas Paradigmas conceituados Estrutural x Orientação a objetos

Teoria Geral dos Sistemas Paradigmas conceituados Estrutural x Orientação a objetos. Linguagem Java. Conceito Chave sobre a linguagem de programação java:
Advertência: É necessária a leitura do(s) Post(s): Princípios Básicos: Voce Tem que saber!

*Orientada a Objetos:
A linguagem programação java é Orientada a Objetos(Paradigma Orientado a objetos) o principal objetivo da linguagem é a criação de objetos,Pequenos pedaços de código que juntos formam a solução de um problema. Poucos sabem porem O Padradigma Orientado a objetos começou com a linguagem SIMULA-67(Sabe porque se chamala SIMULA? Pois com O.O ela fazia a Simulação da vida REAL), Porem a primeira que realmente entrou no Paradigma foi Smalltalk.

A partir de hoje, você aprenderá não só java, mais a desenhar. Quando dizemos que java é uma linguagem do paradigma Orientado a objetos, estamos dizendo que um CONJUNTO DE OBJETOS FORMAM um programa(Veja isso como um quebra cabeça, onde você pega peça por peça). ISSO é um objeto:

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem se quiser ampliar

E isso é um Programa feito no Paradigma Orientado a Objetos:

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem se quiser ampliar

Curiosidade:
Orientação a Objetos deriva da BIOLOGIA, de uma forma abstrata tudo é formado por moléculas sistematicamente falando no paradigma Orientação a Objetos tudo é um objeto(componente) o qual a idéia é muito parecida com a de molécula.

– Uma molécula interage com outras através de mensagems
– Quando uma molécula quer afetar outra, dispara um sinal químico que obtem a resposta desejada
– A membrana da cécula receptora filtra as mensagens, atende as que realmente fazem sentido fazendo funções internas.(Isso evita que uma célula precise conhecer oque a outra faz)

Então um conjunto de células forma um corpo físico, um conjunto de Objetos formam um programa.(Da biologia vem conceitos como Herança,Polimorfismo veremos mais sobre isso nas próximas seções.).

Teoria Geral dos Sistemas:
Daqui que surge a idéia de Orientação a Objetos

A Teoria Geral dos Sistemas foi elaborada, em 1937, por Ludwig Von Bertalanffy, para preencher uma lacuna na pesquisa e na teoria da Biologia. Os seus primeiros enunciados são de 1925 e ela é amplamente reconhecida na administração da década de 60.
Da definição de Bertalanffy , segundo a qual o sistema é um conjunto de unidades reciprocamente relacionadas , decorrem dois conceitos : o de propósito ( ou objeto ) e o de globalismo ( ou totalidade ) . Esses dois conceitos retratam duas características básicas em um sistema .

*** O conceito de elementos(Componentes) é o mesmo de OBJETOS EM JAVA

Um sistema é :

– Um conjunto de elementos
– Dinamicamente relacionados
– Formando uma atividade
– Para atingir um objetivo
– Operando sobre dados / energia / matéria
– Para fornecer informação / energia / matéria

O nivel de Abstração de um Sistema é importante:
As moléculas existem dentro das células , as células dentro dos tecidos , os tecidos dentro dos órgãos , os órgãos dentro dos organismos , os organismos dentro de colônias , as colônias dentro de culturas nutrientes , as culturas nutrientes dentro de conjuntos maiores de culturas , e assim por diante .

– Um Sistema pode ser Formado de moléculas(Olhando por um nivel mais baixo de abstração)
– Um Sistema pode ser Formado por células(Subindo um pouco mais o nivel de abstração)
– Um Sistema pode ser Formado por tecidos(Subindo ainda mais um pouco o nivel de abstração)

BIBLIOGRAFIA

Além das já citadas no trabalho: www.sbdg.org.br
Grupo de Formação 90 – SBDG

BERTALANFFY, L.v. – Teoria Geral dos Sistemas, Vozes, Petropólis , 1972
BERTALANFFY, L.v. – Teoria Geral dos Sistemas, Vozes, Petropólis , 1972

Qual a diferença entre Paradigma Orientado a Objetos(java) e o Paradigma estrutural?

A Orientação a Objetos e Estruturada, são paradigmas totalmente diferentes.

1 – Estrutural trata um programa como um Conjunto de instruções, Orientação a Objetos trata um programa como um Conjuntos de Objetos que interagem entre si(Assim como a derivação da Teoria Geral dos Sistemas):

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem se quiser ampliar

Orientação a Objetos:

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem se quiser ampliar

2 – I/O no dispositivo(Estrutural) X CRUD(Orientação a Objetos):

Conceitos Iniciais: O tempo de resposta do acesso a HD normalmente é de 10 elevado a -3(10 ^ -3), o tempo de resposta do acesso a RAM é de 10 elevado a -9(10 ^ -9).(Ou seja o acesso em Ram é muito mais rápido)

-> Linguagens com paradigma Estrutural trabalham com o conceito de I/O(Input/Output) no dispositivo.

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem se quiser ampliar

*A conexão entre dispositivos é feito e permancida, ou seja conecta-se um dispositivo no outro e fica conectado direto.(A leitura dos dados fica conforme a necessida porem a conexão é mantida),(Programa em RAM e dados em disco), fica nesse trabalho de acessar um ao outro.

-> Linguagens com paradigma Orientado a Objetos entra com o conceito de CRUD(Create, Retrieve, Update e Delete)

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem se quiser ampliar


* A conexão entre dispositivos só é feita na leitura de dados da HD, o programa todo(Programa e dados) trabalha em memória RAM, onde o tempo de resposta é bem menor.

3 – Decomposição da Visão dos Paradigmas:

Estrutural -> Começa em um nivel de Abstração de MACRO -> MICRO
Essencial -> Começa em um nivel de Abstração Intermediário.
Macro Intermediário -> Micro
Orientação a Objetos -> Começa em um nivel de Abstração MICRO, e o Conjunto de MICROS, formam um MACRO

<p>
  <span style="color: rgb(0, 0, 0);font-family:arial;">Nasce o Conceito de Decomposição de Sistemas</span>
</p>

<p>
  <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">4 &#8211; Geração:</span>
</p>

<p>
  <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Estrutural -></span><span style="color: rgb(0, 0, 0);font-family:arial;"> São linguagens de Terceira Geração</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Orientação a Objetos -></span><span style="color: rgb(0, 0, 0);font-family:arial;"> São linguagens de Quarta Geração</span>
</p>

<p>
  <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">5 &#8211; Conforme a distribuição do seu programa:</span>
</p>

<p>
  <span style="color: rgb(0, 0, 0);font-family:arial;">(Em estrutural temos o conceito de que um programa é dividido em duas partes: Dados e funções).</span>
</p>

<p>
  <span style="color: rgb(0, 0, 0);font-family:arial;">Conforme Observado no item 2,</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> em linguagens estruturadas os dados estão em HD e as funções em RAM portanto:</span>
</p>

<p>
  <a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SphG6jGR0mI/AAAAAAAAAEE/dH7j-KddL94/s1600-h/paradigmaEstruturado.png"><img style="cursor: pointer; width: 217px; height: 195px;" src="http://localhost/www/wp0/uploads/paradigmaEstruturado.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375124126934618722" border="0" /></a><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Clique na imagem se quiser ampliar</p> 

  <p>
    Conforme Observado no item 2, em linguagens Orientadas a Objeto, o acesso a HD é muito baixo, pois todo programa se encontra em RAM portanto:
  </p>

  <p>
    </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SphHALSFIqI/AAAAAAAAAEM/rJPlev6JvvU/s1600-h/paradigmaOrientadoaObjetos.png"><img style="cursor: pointer; width: 320px; height: 248px;" src="http://localhost/www/wp0/uploads/paradigmaOrientadoaObjetos.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375124223620883106" border="0" /></a><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Clique na imagem se quiser ampliar</p> 

    <p>
      </span><span style="color: rgb(0, 0, 0);font-family:arial;"> Essa diferença é explicita agora, </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">EM Orientação a Objetos os dados e as funções em si ficam Juntos(RAM), ja em Estrutural os dados ficam em meios diferentes das funções em si(Como se fosse um programa dividido em 2 partes &#8211; RAM E HD).</span>
    </p>

    <p>
      <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">6-</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;">Gerenciamento automático de memória:</span>
    </p>

    <p>
      <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Estrutural:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Em linguagens Estruturais não tenho gerenciamento de memória, ou seja a alocação e desalocação de memória fica a encargo do programador. Em muitos casos acontece oque chamamos de memory link ou seja memória presa ao programa que não tem mais uso a ele e que não foi desalocada pela programador.</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Orientado a objetos:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Em java temos o Garbage Collector(GC) que é quem faz a desalocação automática de memória deixando a cargo da Arquitetura de java a desalocação de memória e não ao programador.</span>
    </p>

    <p>
      <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">7-</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;">Ponteiros:</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Estrutural:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Temos o conceito de ponteiro a estrutura</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Orientado a objetos: </span><span style="color: rgb(0, 0, 0);font-family:arial;">Temos o conceito de Referência ao objeto</span>
    </p>

    <div style="text-align: center; color: rgb(0, 0, 0);font-family:arial;">
      <span style="font-weight: bold;font-size:180%;">É Fundamental Intender:</span></p>
    </div>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;"> Paradigmas Diferentes não significa melhor e nem pior, TUDO depende da Implementação do código que você usará. É importante saber intender e principalmente valorizar as diferenças. Nada é Pior e nem melhor, apenas tem sua utilidade diferenciada.</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Com o paradigma Orientado a Objetos surge o Conceito de componentização</span><span style="color: rgb(0, 0, 0);font-family:arial;">(ir em busca de um componente(objeto), fazer a junçar de componentes(objetos)) e surge um Conceito de que a maioria dos softwares hoje em dia são OBJETOS COMPUTACIONAIS.</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;"> Olhando um programa de uma forma abstrata, dividindo ele em 2 partes:</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;">&#8211; Dados</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;">&#8211; Funções</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;">O paradigma estrutural trabalha com Dados em HD, Funções em RAM(Os dados e as funções são do programa todo). Orientação a objetos trabalha com dados e funções em RAM(Cada Objeto tem seus Dados e suas funções).</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;"> No paradigma Orientado a Objetos, Um programa é um conjunto de objetos, e cada Objeto não sabe e nem quer saber do outro. Abstraindo da vida real é como se fosse uma relação entre duas pessoas..Uma dia a outra: Eu nem sei e nem quero saber da sua vida, cada um com seus problemas.(Infelizmente na vida real nem sempre ocorre isso!)</span>
    </p>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;font-size:130%;"><span style="font-weight: bold;">Paradigma Orientado a Objetos e Abstrações do mundo real:</span></span>
    </p>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;"> Antigamente tinha-se em mente o conceito de &ldquo;Fabricantes de Automóveis&rdquo; pois, a Fábrica fabricava carros. Se você observar hoje em dia temos o CONCEITO MONTADORA DE CARROS(Essas grandes empresas não fabricam carros elas montam, todas as peças(componentes,objetos) ja estão prontos), com o Conjuntos de objetos do carro(motor, roda etc) ja estão prontos, elas simplesmente MONTAM OS OBJETOS NO CARRO, sendo assim uma MONTADORA DE CARROS.</span>
    </p>

    <p>
      <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;">Importante saber diferenciar:</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Implementar =</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Construir algo</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> Implantar =</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Colocar algo ja construido para FUNCIONAR</span>
    </p>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;">Esse post é só uma introdução entre as diferenças de Paradigmas, conceitos de Orientação de objetos ja introduzindo a linguagem de programação JAVA</span>
    </p>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;font-size:130%;"><span style="font-weight: bold;"></span></span></span>
    </p>

Tecnologia Java

Tecnologia Java. Linguagem Java.

Sumário: A linguagem de programação, A plataforma,O ambiente de desenvolvimento,O ambiente de Implementação,Grupos da Tecnologia, JSR

Quando falamos em java, oque te surge a cabeça?
– A linguagem de programação
– A Plataforma independente – JVM
– O ambiente de desenvolvimento – javac, java, javap,javadoc,jar etc
– O ambiente de Implementação – SDK, JRE ou navegador web/

Minha idéia é não só, mostrar a linguagem em si, mais a PLATAFORMA Independente(JVM).

Oque é uma plataforma?
É a junção de um Sistema Operacional e Hardware, as mais conhecidas são windows,Unix, Solaris,Linux etc.(São conhecidas como plataformas nativas).

Oque é uma plataforma indepedente?
É a emulação de uma plataforma nativa, é uma plataforma de Software que roda em cima de uma Plataforma Nativa.

A Plataforma indepedente é dividida em 2 partes:
– Java Virtual Machine(JVM)
– Java Application Programming Interface(API’s)

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem para ampliar

Na maoria das linguagens de programação quando você compila um programa, você obtem um arquivo compilado e ligado com bibliotecas nativas da plataforma nativa(o compilador dessas linguagens ja é um LINK EDITOR que é quem faz essa ligação com bibliotecas nativas), quando você quer utilizar esse programa compilado para um plataforma nativa em outra, você tem que fazer novamente o programa(em muitos casos recompilar não funciona).
Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem para ampliar
Esse executável de Windows so funcionara em plataformas Nativas Windows

Plataforma dependente:
Com a compilação de seu algoritmo na linguagem de programação você obtem um programa ESPECIFICO da CPU.

Plataforma independente de java:
Com a compilação de seu algoritmo na linguagem de programação você obtem um programa em bytecode.

Programas de Plataforma dependente:
O tipo de compilador usado por essas plataformas converte seu programa em um código específico daquela CPU. O executavel como chamado nada mais é Doque a junção desse código específico daquela CPU + bibliotecas de código nativo, quem faz essa junção é o link Editor. Ou seja temos um binário daquela CPU mais código nativo.

Programas de Plataforma independente:
Programas na tecnologia java podem ser executado em qualquer combinação de CPU com Sistema Operacional. O compilador de java transforma seu programa em bytecode ao invéz de Código de CPU específico a uma Plataforma.
Como java não usa editor de links na compilação quando a JVM vai interpretar os bytecodes a JVM necessita das API’s para entender as instruções específicas daquela Plataforma nativa.Ou seja existe a necessidade da JRE para a intepretação dos bytecodes.

Depois que eu obtive meu bytecode, quem executará ele?
Na verdade quem interpretará seu bytecode é a Máquina Virtual Java.
Java é considerado uma linguagem interpretada e portavel.

Oque é a máquina virtual java?
A Maquina virtual java é um programa específico da plataforma nativa que entende bytecodes de uma plataforma independente(ou seja, seja la o S.O. que compilou) a JVM consegue interpretar eles na plataforma nativa.

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem para ampliar

Alem da Máquina Virtual, oque mais preciso para Executar um programa em java?
Alem da máquina virtual, você necessita de um conjunto(uma biblioteca) que são as API’s de java. O conjunto JVM(Java virtual Machine) e API’s é conhecido como JRE(Java Runtime Environment).

Oque são API’s?
API é um coleção de “programas” prontos que fornecem ajuda no desenvolvimento.Muitas coisas você não precisará fazer, ja tem pronto em java.

A JRE é por plataforma nativa?
Sim a JRE é derivada de plataforma para plataforma nativa e é necessaria para fazer a interpretação de qualquer programa em java que você queira que vire processo.

Quais são as funções da JVM?
– Carregar Class Files(arquivo.class), Verificar código(para ver se ele atende a segurança de código previsto em java), Interpretar código.

Como é o nome do compilador de java?
javac

Oque são bytecodes?
Toda vez que você compila um programa em java, você cria um class File(arquivo.class) esse class File será interpretado pela JVM da JRE e causará em um processo na Plataforma nativa.

Se eu compilar esse exemplo:

public class Exemplo{

}

Vou obter isso em bytecode:

Compiled from “Exemplo.java”
public class Exemplo extends java.lang.Object{
public Exemplo();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object.“”:()V
4: return

Oque eu preciso então para interpretar esse meu Programa.class?
Precisa fazer Download da JRE da sua Plataforma Nativa depois, abra o Terminal(DOS, VI) e digite:
java NomeDoSeuPrograma

java = Launcher java, é quem diz para a JVM que é hora de trabalhar

Oque eu preciso para Desenvolver um programa em java?
1 – Saber a linguagem
2 – Um bloco de notas
3 – O SDK

Oque é o SDK?
Software Development kit, A escolha é de Plataforma nativa para Plataforma Nativa.

Oque eu tenho incluso no SDK?
– JRE(JVM + API’s)
– javac(compilador)
– Documentação das API’s(download separado)
– Utilitários como: jar,javap,javadoc etc
– Exemplo de programas da tecnologia java

Como eu verifico os bytecodes do meu Class file?
1 – abra o terminal
2 – ache o caminho do arquivo, aonde ele esta.
3 – javap -c MeuPrograma

Quais são os grupos da Tecnologia java?
SE – Standard Edition -Applets e Programas Desktop.Todo mundo começa por aqui, é padrão, Desktop ou Applet.
EE – Enterprise Edition – Softwares empresariais, Normalmente são via internet,eCommerce, webShoppings, Paginas de Web etc
ME – Micro Edition – São Softwares para Mobile(celular etc)

Cada Grupo da Tecnologia tem o seu SDK(que permite compilar, executar e criar programas em java)
Temos então:

Java SE SDK
Java SE SDK applet
Java EE SDK
Java ME SDK

Quais são os passos para Desenvolver um programa em java?
1 – Baixe do site da SUN o SDK do SE
2 – Instale o arquivo, abre o terminal(DOS,VI) e digite java – version, se aparecer algo dizendo a versão de java, estamo no caminho(Senão instale novamente)
3 – Abra o bloco de notas
4 – Escreva seu código em java
5 – Salve o seu código com NomeDaClasse.java
6 – Compile seu arquivo: javac NomeDaClasse.java
7 – Mande A JVM trabalhar: java NomeDaClasse

Applets:
– São programas escritos na linguagem de programação java que residem no Servidor Web, são baixados por um navegador no Sistema no cliente e são executados por esse navegador.
– Os Applets são chamados via uma página de web
– O navegador tem uma implementação própria da Jvm para executar os Applets.
-Foi a primeira utilização de java, que naquele tempo tinha outro nome “OAK” e foi uzado na implementação de aplicativos logo no inicio da Internet.
– Sâo iniciadas em um web browser

Gerenciamento automático de memória(coletor de lixo):
– Muitas linguagens de programação passam a responsabilidade de alocação e desalocação de memoria ao programador, Oque se for mal feito, gera problemas de memoria.(Ponteiros etc)
– Em java o coletor de lixo faz a desalocação de memória automática, oque quer dizer que você não precisa se preocupar com DESALOCAÇÃO de memória.

Oque é JSR?

Quando o primeiro grupo da criação da Linguagem java, chamado “Oak” estava no mercado, eles criaram uma proposta de projetos, que foi chamada Request for Programming(RFP), que futuramente se Tornaria a JSR(Java Specification Requests ) que são especificações criadas para a implementação da Tecnologia java, São tipo padrões. Quem controla isso é o :
http://jcp.org/en/home/index
Java Community Process o qual é um grupo formado por empresas e associados que visa a melhoria da Tecnologia java, discutindo e implementando melhorias dia por dia.
Para asseguar a portabilidade de seus programas em java, Toda JRE segue uma especificação, a mesma esta disponivel se alguem quiser criar sua própria JVM e compilador. Chama-se JSR.

Qual a versão de java?
Existe dois tipos de versões?
– Versão de desenvolvimento = 1.6
– Versão de Marketing = 6.0
Ambas são iguais, so depende da onde você usa.

Versões de java:
Java 1.02 -> 250 Classes, Applet era o Grande atrativo da linguagem
Java 1.1 -> 500 Classes, Se tornando Popular, melhor GUI
Java 2 -> 2300 Classes , Somente em 3 versões agora, SE, EE,ME
Java 5 -> 3500 Classes,Conhecido como Tiger

<p>
  A mudança de 1.1 para 2 foi tão grande que não dava para seguir o ritmo de 1.2, 1.3 foi então que lançaram java 2 como se fosse um novo produto, Para quem não conhece é o ciclo conhecido como End-of-life(Eol) do Product Life Cycle(PLC).</span><br /><init style="color: rgb(0, 0, 0);font-family:arial;"><br /><span style="font-weight: bold;font-size:130%;">Quais linguagens a JVM entende?</span><br /><span style="font-size:100%;">Não somente java, a JVM entende muitas outras linguagens, Pyton, Ruby etc(Se você pesquisar na Internet: Programming Languages for JVM, verá a quantidade)</span>
</p>

<p>
  <span style="font-weight: bold;font-size:180%;">Quem carrega Classes na JVM?</span><br /><span style="font-size:100%;">Existe um &ldquo;programa&rdquo; dentro da JVM que é quem carrega Classes em java, se CHAMA CLASS LOADER, ele so carrega sobre necessidade(ou seja ele so carrega sa que você utilizar).</span>
</p>

<p>
  <span style="font-size:180%;"><span style="font-size:100%;"></p> 

  <p>
    <span style="font-weight: bold;">Comsumer Device</span> é sempre relevante a Clientes de dispositivos mobiles.
  </p>

  <p>
    </span></span><span style="font-weight: bold;">Garbage collector -></span> <span style="font-size:100%;">você não roda ele, você sugere que ele rode, a COleta de lixo ocorre automaticamente durante a vida de um programa java, porem , a coleta de lixo varia de implemtação da JVM para Implementação da JVM.</span>
  </p>

  <p>
    <span style="font-weight: bold;">JVM -></span> <span style="font-size:100%;">Class Loader = alem de fazer carregamento de classes tem mecanismos de segurança como um separador de classes locais e as da rede, isso impede vacalos de tróia pois, as classes locais são carregadas primeiro.</span>
  </p>

  <p>
    </init>
  </p>

  <div style="text-align: center; color: rgb(0, 0, 0);font-family:arial;">
    <init style="font-family:arial;"><span style="font-weight: bold;font-size:180%;">É hora da revisão:</span></init></p> 

    <p>
      <init></init></div> 

      <p>
        <init style="font-family: arial; color: rgb(0, 0, 0);">&#8211; A tecnologia java não é somente a linguagem de programação<br />&#8211; A JVM é quem interpreta o seus Class Files<br />&#8211; Todo programa compilado em java se transforma em um Class File<br />&#8211; javac é o compilador de java<br />&#8211; java é o launcher de java<br />&#8211; javap -c é utilizado para ver os bytecodes do seu Class File<br />&#8211; Existem 3 grupos em java(SE, EE,ME)<br />&#8211; Para programar em java, você precisa do SDK<br />&#8211; Para interpretar programas em java, você precisa da JRE<br />&#8211; a JRE é a junção de JVM + API&rsquo;s
      </p>

      <p>
        Bom por hoje é só!!!<br />CYA DUDES<br /></init>
      </p>

Programação Java Herança Encapsulamento Modificadores de acesso Construtores

Programação Java Herança Encapsulamento Modificadores de acesso Construtores. Linguagem Java. Herança:

Em orientação a Objetos surge o conceito de Herança, com intenções como diminuir duplicação de código Colocando membros(Variaveis e métodos) em comum em uma classe onde outras podem herdar dela e criar um relacionamento entre Classes.Temos o mesmo conceito de Taxonomia da Biologia.

Programação Java Herança Encapsulamento Modificadores de acesso Construtores

A classe que contem membros em comum é chamado Parent Class ou Super Class. As Classes que herdam ou extends da classe que contem membros em comum são chamadas Child Class ou Sub Class.

Em java temos o conceito de Herança Simples oque significa que uma Classe so pode ter uma Parent Class/SuperClasse.
Para saber se uma Classe é realmente Child Class, faça o teste do “is a”, se a Classe é uma Parent Class também então, ela esta dentro do conceito,

<p>
  Vejamos o exemplo:
</p>

<p>
  </span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZJO7e3RkI/AAAAAAAAAW0/JoFGuPupUzQ/s1600-h/heranca.png"><img style="cursor: pointer; width: 320px; height: 152px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZJO7e3RkI/AAAAAAAAAW0/JoFGuPupUzQ/s320/heranca.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379067325774775874" border="0" /></a> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;"><br />Clique na imagem para ampliar</p> 

  <p>
    Na figura acima,</span><span>Podemos Observar que:</p> 

    <p>
      1 &#8211; <span style="font-weight: bold;">Chefe</span> &ldquo;is a (é um)&rdquo; Encarregado<br />2 &#8211; </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Chefe</span> &ldquo;is a (é um)&rdquo; Funcionário<br />3 &#8211; <span style="font-weight: bold;">Chefe</span> tem tanto: nome,salario quanto bonusSalarial quanto carroEmpresa<br />4 &#8211; <span style="font-weight: bold;">Chefe</span> é uma Especialização de Encarregado e de Funcionário<br />5 &#8211; <span style="font-weight: bold;">Chefe</span> é apenas uma Child Class ou Sub Class de Encarregado e de Funcionário<br />6 &#8211; <span style="font-weight: bold;">Encarregado</span> </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>&ldquo;is a (é um)&rdquo; Funcionário</span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br />7 &#8211; <span style="font-weight: bold;">Encarregado</span> </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>tem tanto: nome,salario quanto bonusSalarial<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>8 &#8211; <span style="font-weight: bold;">Encarregado é </span>Child Class de Funcionário e Parent Class de Chefe<br />9 &#8211; </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Encarregado é uma </span>Especialização de Funcionário e Generalização de Chefe<br />10 &#8211; </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Funcionário é </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Parent Class ou Super Class de Encarregado e de Chefe, nessa respectiva ordem<br />11 &#8211; </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Funcionário tem </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>nome e salário<br />12 &#8211; </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Funcionário é uma Generalização de </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Encarregado<br />13 &#8211; </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Funcionário é uma Generalização de Chefe<br />Ou seja,<br />*Chefe tem tudo que um Encarregado tem e tudo que um funcionário tem, </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>mais membros adicionais ao cargo</span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>*Encarregado tem tudo que um funcionário tem, mais </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>membros adicionais ao cargo</span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><br /><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>*Funcionário tem tudo que o cargo atribui a ele.</p> 

      <p>
        Esse conceito de criar um classe com base em um ja existente é chamada de SUBDIVISÃO DE CLASSE.
      </p>

      <p>
        <span style="font-size:130%;">Como declarar uma SuperClasse?</span>
      </p>

      <p>
        </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Você Declara uma <span style="font-weight: bold;">SuperClasse</span> igual declara uma classe em java:</p> 

        <p>
          [modificador_de_acesso] <span style="font-weight: bold;">class</span> identificador{
        </p>

        <p>
          bloco_de_codigo
        </p>

        <p>
          }</span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"><br /></span><span style="font-size:130%;"><br />Como Declarar um SubClass?</p> 

          <p>
            </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:130%;"><span style="font-size:100%;"> Use a keyword extends.</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

            <p>
              [modificador_de_acesso] class identificador extends identificador_parent_class
            </p>

            <p>
              *modificador_de_acesso &#8211;</span> </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">É uma keyword opcional, podemos ter public,abstract ou final, se nenhum dos três for especificado então consideramos o modificador de acesso default.<br />*</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">class &#8211; </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">Indica que o escopo é uma declaração de Classe</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />*identificador &#8211; </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">O nome que você atribui a Classe</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />*extends &#8211; </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">Diz ao compilador que ela é uma Child Class</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />*</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">identificador_parent_class &#8211; </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">É o identificador da Parent Class</span></span></span></span></span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

              <p>
                <span style="font-size:180%;">Modificadores de acesso:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                <p>
                  <span style="font-weight: bold;">Source:</span> <a rel="nofollow" target="_blank" href="http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html">http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html</a>
                </p>

                <p>
                  Os membros(Método e Atributos) de uma classe podem ter quatro níveis de acesso.<span style="font-weight: bold;">Classes só podem ter dois niveis de acesso ou public ou default(sem nenhum).Os modificadores de acesso indicam como será o acesso aquele membro ou aquela Classe, COMO vai se relacionar internamente ou externamente.</p> 

                  <p>
                    </span></span></span></span></span></span>
                  </p>

                  <table style="width: 604px; height: 166px; font-family: arial; color: rgb(0, 0, 0);" border="1" bordercolor="#000000" cellpadding="4" cellspacing="0">
                    <col width="51"> <col width="51"> <col width="51"> <col width="51"> <col width="51"> <tr valign="top">
                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          Modificador
                        </p>
                      </td>

                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          Mesma Classe
                        </p>
                      </td>

                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          Mesmo Pacote
                        </p>
                      </td>

                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          SubClasse
                        </p>
                      </td>

                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          Universo
                        </p>
                      </td>
                    </tr>

                    <tr valign="top">
                      <td style="text-align: left; font-weight: bold;" width="20%">
                        <p>
                          <span style="font-size:100%;"><code>public</code></span>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>
                    </tr>

                    <tr valign="top">
                      <td style="text-align: left; font-weight: bold;" width="20%">
                        <p>
                          <code>protected</code>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                        </p>
                      </td>
                    </tr>

                    <tr valign="top">
                      <td style="text-align: left; font-weight: bold;" width="20%">
                        <p>
                          <span style="font-size:100%;">default</span>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                        </p>
                      </td>
                    </tr>

                    <tr valign="top">
                      <td style="text-align: left; font-weight: bold;" width="20%">
                        <p>
                          <span style="font-size:100%;"><code>private</code></span>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td width="20%">
                        <p>
                        </p>
                      </td>

                      <td width="20%">
                        <p>
                        </p>
                      </td>

                      <td width="20%">
                        <p>
                        </p>
                      </td>
                    </tr>
                  </table>

                  <p>
                    <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">*Um modificador de acesso é considerado default, quando nenhum modificador é especificado.</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:180%;"></p> 

                    <p>
                      Construtores:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                      <p>
                        Constutores são usados toda vez que um objeto é Instanciado.<span style="font-weight: bold;">Construtores não são Membros de um classe.</span>
                      </p>

                      <p>
                        <span style="font-weight: bold;">Como declarar um construtor?</span>
                      </p>

                      <p>
                        </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">[modificador_de_acesso] class </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">identificador {</p> 

                        <p>
                          </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">[modificador_de_acesso] identificador([argumentos]){</p> 

                          <p>
                            </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">bloco_de_codigo</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                            <p>
                              }</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />}</p> 

                              <p>
                                </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />*modificador_de_acesso &#8211;</span> </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span>É uma keyword opcional, que indica como o construtor será acessado externamente a classe.<br />*</span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span>identificador &#8211; </span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span>É o nome do construtor, <span style="font-weight: bold;">deve</span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span> ser o mesmo nome da CLASSE</span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><br /><span style="font-weight: bold;">*argumentos</span> &#8211; São variáveis locais ao bloco_de_codigo do construtor, Perceba que os argumentos são opcionais <span style="font-weight: bold;">porem os [ ] &#8211; Parenteses NÃO.</span><br /><span style="font-weight: bold;">*bloco_de_codigo</span> &#8211; Conjunto de instruções que serão interpretadas quando o construtor for invocado<br /></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:180%;"><br />Vejamos exemplo:</span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                <p>
                                  public class <span style="font-weight: bold;">MinhaClasse</span>{
                                </p>

                                <p>
                                  private int <span style="font-weight: bold;">idade</span>;
                                </p>

                                <p>
                                  public </span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;">MinhaClasse(int minhaIdade){</p> 

                                  <p>
                                    idade = minhaIdade;
                                  </p>

                                  <p>
                                    }<br /></span></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                    <p>
                                      public static void <span style="font-weight: bold;">main</span>(String [ ] array){<br /></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;">MinhaClasse objeto = new </span></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;">MinhaClasse( 21);</span></span></span></span></span></span></span></span><br /><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                      <p>
                                        }<br />}
                                      </p>

                                      <p>
                                        *Relembrando alguns conceitos, Por causa de main, temos <span style="font-weight: bold;">o &ldquo;poder&rdquo; de ter um PROCESSO VINHA LINHA DE COMANDO.</span><br /></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                        <p>
                                          </span></span></span></span></span><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqbH4Zk5v1I/AAAAAAAAAYU/-crTyXEg9JE/s1600-h/construtor.png"><img style="cursor: pointer; width: 320px; height: 151px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqbH4Zk5v1I/AAAAAAAAAYU/-crTyXEg9JE/s320/construtor.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379206576692903762" border="0" /></a><br /><span style="font-weight: bold; color: rgb(0, 0, 0);"></p> 

                                          <p>
                                            Clique na imagem para ampliar</span>
                                          </p>

                                          <p>
                                            <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:180%;">Construtor Padrão:</span><br /></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"> Toda vez que o construtor não for explicitamente escrito ele é implicitamente colocado pelo compilador.Se você explicitamente declarar um construtor, você perde o construtor que o compilador ia colocar. <span style="font-weight: bold;">Vejamos o exemplo:</span></p> 

                                            <p>
                                              <span style="font-weight: bold;">Em sintaxe java:</span><br />public class Funcionario{
                                            </p>

                                            <p>
                                              }
                                            </p>

                                            <p>
                                              <span style="font-weight: bold;">Em sintaxe bytecode:</span>
                                            </p>

                                            <p>
                                              <span style="font-weight: bold;">public Funcionario(); </span><br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return
                                            </p>

                                            <p>
                                              }
                                            </p>

                                            <p>
                                              Perceba que no exemplo acima, <span style="font-weight: bold;">O construtor da classe NÃO foi explicitamente escrito porem, FOI implicitamente colocado pelo COMPILADOR.</p> 

                                              <p>
                                                Vejamos agora com o construtor explicitamente escrito:
                                              </p>

                                              <p>
                                                Em Sintaxe java:
                                              </p>

                                              <p>
                                                </span>public class<span style="font-weight: bold;"> Funcionario{<br />public Funcionario( ){</p> 

                                                <p>
                                                  }<br />}<br /></span></init></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />Em Sintaxe bytecode:</p> 

                                                  <p>
                                                    public Funcionario();<br /></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"> Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return</init></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                                    <p>
                                                      }
                                                    </p>

                                                    <p>
                                                      Neste exemplo o construtor explicitamente dito é igual ao colocado pelo compilador, foi somente para exemplificar porem, o construtor implicito do compilador é substituido pelo explicito declarado.
                                                    </p>

                                                    <p>
                                                      </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:180%;"><br />Herança Simples Padrão:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                                      <p>
                                                        Toda classe em java <span style="font-weight: bold;">que não é especificado</span> a Parent Class, Herda da Classe Object(java.lang.Object).A partir do momento que você especifica A parent Class de uma classe sua classe deixa de ser DIRITAMENTE uma child Class de object.
                                                      </p>

                                                      <p>
                                                        <span style="font-weight: bold;">Vamos provar oque estou dizendo?</p> 

                                                        <p>
                                                          Em Sintaxe java:
                                                        </p>

                                                        <p>
                                                          </span><span>public</span><span style="font-weight: bold;"><span style="font-weight: bold;"> class Test{ //Declaração de Classe</p> 

                                                          <p>
                                                            }<br /></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><br />Em Sintaxe bytecode:</p> 

                                                            <p>
                                                              </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span>Compiled from &ldquo;Test.java&rdquo;<br />public class Test <span style="font-weight: bold;">extends java.lang.Object</span>{<br />public Test();<br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return</p> 

                                                              <p>
                                                                }</init></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"></p> 

                                                                <p>
                                                                  Isso significa:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><br />Vejamos um exemplo, Classe: <span style="font-weight: bold;">Gerente</span> extends <span style="font-weight: bold;">Funcionario</p> 

                                                                  <p>
                                                                    </span>public class<span style="font-weight: bold;"> Funcionario{</p> 

                                                                    <p>
                                                                      }
                                                                    </p>

                                                                    <p>
                                                                      </span>public class <span style="font-weight: bold;">Gerente extends Funcionario{</p> 

                                                                      <p>
                                                                        }<br /></span><br /></span></span></span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZbxexTJMI/AAAAAAAAAW8/DjqWum6d46g/s1600-h/heranca2.png"><img style="cursor: pointer; width: 167px; height: 189px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZbxexTJMI/AAAAAAAAAW8/DjqWum6d46g/s320/heranca2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379087710572192962" border="0" /></a> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-weight: bold;"></p> 

                                                                        <p>
                                                                          Isso é chamado de UML
                                                                        </p>

                                                                        <p>
                                                                          </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"></p> 

                                                                          <p>
                                                                            Como podemos Observar,</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"> explicitamente <span style="font-weight: bold;">Gerente é um funcionário logo</span>, A parent Class de gerente é funcionário, Vejamos <span style="font-weight: bold;">a class Gerente em bytecode:</span></p> 

                                                                            <p>
                                                                              Compiled from &ldquo;Gerente.java&rdquo;<br />public class <span style="font-weight: bold;">Gerente extends Funcionario</span>{<br />public Gerente();<br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method Funcionario.&ldquo;<init>&rdquo;:()V<br />4: return
                                                                            </p>

                                                                            <p>
                                                                              }
                                                                            </p>

                                                                            <p>
                                                                              Isso foi explicitamente feito, mais e a classe Funcionario <span style="font-weight: bold;">Vejamos bytecode de Funcionario:</p> 

                                                                              <p>
                                                                                </span>Compiled from &ldquo;Funcionario.java&rdquo;<br />public class <span style="font-weight: bold;">Funcionario extends java.lang.Object</span>{<br />public Funcionario();<br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return
                                                                              </p>

                                                                              <p>
                                                                                }<span style="font-weight: bold;"></p> 

                                                                                <p>
                                                                                  Isso quer dizer o seguinte, Gerente é um funcionário e também é um Objeto, vejamos o Porque:
                                                                                </p>

                                                                                <p>
                                                                                  </span></init></init></span></span></span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZbz3qfaxI/AAAAAAAAAXE/G-tmqjTz7R4/s1600-h/heranca3.png"><img style="cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZbz3qfaxI/AAAAAAAAAXE/G-tmqjTz7R4/s320/heranca3.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379087751614262034" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                  <p>
                                                                                    Clique na imagem para ampliar</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;">Oque podemos Tirar de conclusão sobre Gerente?</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><br />&#8211; Gerente é um funcionário<br />&#8211; Gerente é um Object(Pois Funcionário é um Object e Gerente é um funcionário)</span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><init><init></p> 

                                                                                    <p>
                                                                                      <span style="font-weight: bold;font-size:130%;">Oque acontece se eu Instanciar um Objeto Gerente?</span>
                                                                                    </p>

                                                                                    <p>
                                                                                      </init></init></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;">public class <span style="font-weight: bold;">Gerente extends Funcionario{</p> 

                                                                                      <p>
                                                                                        </span><span>public static void</span><span style="font-weight: bold;"> main(String array[ ]){<br /></span><span>Gerente objeto</span><span style="font-weight: bold;"> = new Gerente( );// Instanciando um objeto, ou seja chamando<br /></span><span> //o construtor da classe Gerente</span><span style="font-weight: bold;"></p> 

                                                                                        <p>
                                                                                          }<br />}</span></span></span></span></span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br />Acabamos de Obter isso:<br /></span></span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqZeUtOlBxI/AAAAAAAAAXM/-J3iR2q15Ik/s1600-h/ObjetoGerente.png"><img style="cursor: pointer; width: 220px; height: 276px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqZeUtOlBxI/AAAAAAAAAXM/-J3iR2q15Ik/s320/ObjetoGerente.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379090514771773202" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                          <p>
                                                                                            Clique na imagem para ampliar, Lembra-se do Gerente é um Funcionário e é um Object, Então agora faz sentido ne?</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                            <p>
                                                                                              </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-weight: bold;font-size:130%;">Oque acontece se eu Instanciar um Objeto Funcionario?</span></span></span></span></span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;">public class <span style="font-weight: bold;">Funcionario{</p> 

                                                                                              <p>
                                                                                                </span><span>public static void</span><span style="font-weight: bold;"> main(String array[ ]){<br /></span><span>Funcionario objeto</span><span style="font-weight: bold;"> = new Funcionario( );// Instanciando um objeto, ou seja chamando<br /></span><span> //o construtor da classe Funcionario</span><span style="font-weight: bold;"></p> 

                                                                                                <p>
                                                                                                  }<br />}
                                                                                                </p>

                                                                                                <p>
                                                                                                  </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZe8jr2S1I/AAAAAAAAAXU/2tjWNuJIodo/s1600-h/ObjetoFuncionario.png"><img style="cursor: pointer; width: 223px; height: 267px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZe8jr2S1I/AAAAAAAAAXU/2tjWNuJIodo/s320/ObjetoFuncionario.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379091199404952402" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                  <p>
                                                                                                    Clique na imagem para ampliar, Lembra-se que toda classe extends java.lang.Object quando não extends nenhuma outra explicitamente!!! Ou seja todo objeto Instanciado é também um objeto da Parent Class</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                    <p>
                                                                                                      <span style="font-size:130%;">Membros de classe:</p> 

                                                                                                      <p>
                                                                                                        </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:130%;"><span style="font-size:100%;">Atributos e métodos são membros da classe, o construtor não é considerado um membro<br />&#8211; Membros com modificador de acesso public são considerados interface de uma classe, pois fazem a conexão com o mundo externo<br />&#8211; Membros com modificador de acesso private são considerados encapsulados<br /></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /><span style="font-size:180%;"><br />Encapsulamento:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                                                                                        <p>
                                                                                                          Em orientação a objetos têm-se o conceito de encapsulamento <span style="font-weight: bold;">que é esconder dados da sua classe e apenas deixá-los disponivel através de métodos. </span>O conceito de encapsulamento é feito em java utilizando modificadores de acesso nos membros e construtor da classe.<br />Toda vez que um membro tem <span style="font-weight: bold;">modificador de acesso public</span>, <span style="font-weight: bold;">ele é considerado uma interface</span>, <span style="font-weight: bold;">pois ele interage com o meio externo ao objeto</span>, toda vez que u<span style="font-weight: bold;">m membro tem modificador de acesso private</span> ele é considerado <span style="font-weight: bold;">encapsulado pois não existe interação externa.</span>
                                                                                                        </p>

                                                                                                        <p>
                                                                                                          </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Exemplos:<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span> Em um objeto com membros considerados interfaces(ou seja interagem com o meio externo) o acesso a eles é feito sem nenhum problema com a notação de ponto.</p> 

                                                                                                          <p>
                                                                                                            </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">Pessoa</span>{<br /><span style="font-weight: bold;">public</span> int idade; // veja que pelo modificador de acesso sabemos que é uma interface</p> 

                                                                                                            <p>
                                                                                                              }<br /></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">ClasseTest</span>{</p> 

                                                                                                              <p>
                                                                                                                public static void <span style="font-weight: bold;">main</span>(String array[ ]){<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"> jose = new </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">( );</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">jose</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">.idade</span><span style="color: rgb(0, 0, 0);font-family:arial;"> = 21;</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span> // Notação de ponto na Variavel de instancia Normalmente</p> 

                                                                                                                <p>
                                                                                                                  }
                                                                                                                </p>

                                                                                                                <p>
                                                                                                                  }
                                                                                                                </p>

                                                                                                                <p>
                                                                                                                  <span style="font-weight: bold;">Em sintax bytecode temos no método main:</span><br />public static void main(java.lang.String[]);<br />Code:<br />0: new #2; //class Pessoa<br />3: dup<br />4: invokespecial #3; //Method Pessoa.&ldquo;<init>&rdquo;:()V<br />7: astore_1<br />8: aload_1<br />9: bipush 21<br />11: putfield #4; //Field Pessoa.idade:I<br />14: return
                                                                                                                </p>

                                                                                                                <p>
                                                                                                                  }<br /><span style="font-weight: bold;">De uma forma resumida, na instrução 11 do bytecode teremos isso:<br />A instrução putfield nesse caso, requer o endereço do objeto e o inteiro que será colocado na instance variable do objeto<br /></span>
                                                                                                                </p>

                                                                                                                <p>
                                                                                                                  </init></span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZujIA8lWI/AAAAAAAAAXc/lAJ6bfOLpV8/s1600-h/Encapsulamento.png"><img style="cursor: pointer; width: 320px; height: 197px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZujIA8lWI/AAAAAAAAAXc/lAJ6bfOLpV8/s320/Encapsulamento.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379108354666567010" border="0" /></a><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                  <p>
                                                                                                                    Clique na imagem para ampliar,e ao fim da instrução 11 teremos:
                                                                                                                  </p>

                                                                                                                  <p>
                                                                                                                    </span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SqZulxfqE_I/AAAAAAAAAXk/Bk9wQzRV2wU/s1600-h/Encapsulamento2.png"><img style="cursor: pointer; width: 320px; height: 197px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/SqZulxfqE_I/AAAAAAAAAXk/Bk9wQzRV2wU/s320/Encapsulamento2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379108400160969714" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Clique na imagem para ampliar</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                    <p>
                                                                                                                      <span style="font-size:130%;">Agora usando encapsulamento:</span>
                                                                                                                    </p>

                                                                                                                    <p>
                                                                                                                      </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">Pessoa</span>{<br /><span style="font-weight: bold;">private</span> int idade; // membro encapsulado ou seja, não pode haver acesso externo a classe Pessoa</p> 

                                                                                                                      <p>
                                                                                                                        }<br /></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">ClasseTest</span>{</p> 

                                                                                                                        <p>
                                                                                                                          public static void <span style="font-weight: bold;">main</span>(String array[ ]){<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"> jose = new </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">( );</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">jose</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">.idade</span><span style="color: rgb(0, 0, 0);font-family:arial;"> = 21;</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span> // Notação de ponto na Variavel de instancia , Erro de compilação</p> 

                                                                                                                          <p>
                                                                                                                            }
                                                                                                                          </p>

                                                                                                                          <p>
                                                                                                                            }</span></span></span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                            <p>
                                                                                                                              Existe um Campo de força na variavel atributo, para ter acesso a ela somente via a mesma classe, Isso é chamado de Encapsulamento.
                                                                                                                            </p>

                                                                                                                            <p>
                                                                                                                              </span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZv4JI2PSI/AAAAAAAAAXs/pN3eKsIAgdk/s1600-h/Encapsulamento3.png"><img style="cursor: pointer; width: 320px; height: 196px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZv4JI2PSI/AAAAAAAAAXs/pN3eKsIAgdk/s320/Encapsulamento3.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379109815257021730" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                              <p>
                                                                                                                                Clique na imagem para ampliar, Erro de compilação</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                                <p>
                                                                                                                                  <span style="font-size:180%;">Métodos get e set:</span>
                                                                                                                                </p>

                                                                                                                                <p>
                                                                                                                                  <span style="font-size:100%;"><span style="font-size:100%;"><br /></span><span style="font-size:100%;"> Métodos </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;">get e set nada mais são doque boas práticas quando se usa encapsulamento, que é usar métodos que deem acesso aos membros encapsulados de uma classe, alem disso podemos ter um lógica antes de configurar o valor de algum membro, existe uma certa verificação de valores.</span></p> 

                                                                                                                                  <p>
                                                                                                                                    <span style="font-weight: bold;">Métodos get</span> tem retorno e não tem argumentos<br /><span style="font-weight: bold;">Métodos set</span> tem argumentos e não tem retorno
                                                                                                                                  </p>

                                                                                                                                  <p>
                                                                                                                                    </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Exemplo:</p> 

                                                                                                                                    <p>
                                                                                                                                      </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">Pessoa</span>{<br /><span style="font-weight: bold;">private</span> int idade; // membro encapsulado ou seja, não pode haver acesso externo a classe Pessoa</p> 

                                                                                                                                      <p>
                                                                                                                                        public void <span style="font-weight: bold;">setIdade</span>(<span style="font-weight: bold;">int x</span>){<br />idade = x;
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        }
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        public <span style="font-weight: bold;">int</span> <span style="font-weight: bold;">getIdade</span>(){<br /><span style="font-weight: bold;">return idade;</span>
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        }
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        }<br /></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">ClasseTest</span>{</p> 

                                                                                                                                        <p>
                                                                                                                                          public static void <span style="font-weight: bold;">main</span>(String array[ ]){<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"> jose = new </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">( );</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">jose</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">.setIdade(21);</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                                          <p>
                                                                                                                                            }
                                                                                                                                          </p>

                                                                                                                                          <p>
                                                                                                                                            }</span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"></span></p> 

                                                                                                                                            <p>
                                                                                                                                              Lembra-se que o acesso a membros private so pode ser feito na mesma classe? Pois bem os métodos </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">getIdade e setIdade estão na mesma classe e tem modificador de acesso public, oque permite o acesso externo a classe e interno ao membros encapsulados.</span></span></span></span><br /><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SqZ2PosnIOI/AAAAAAAAAX0/v18ZXuH_gPg/s1600-h/Encapsulamento4.png"><img style="cursor: pointer; width: 266px; height: 320px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/SqZ2PosnIOI/AAAAAAAAAX0/v18ZXuH_gPg/s320/Encapsulamento4.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379116815935283426" border="0" /></a><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"><br />Clique na imagem para ampliar</span><br /><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span>
                                                                                                                                            </p>

                                                                                                                                            <div style="text-align: center; color: rgb(0, 0, 0);">
                                                                                                                                              <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:130%;"><span>Basicamente o acesso é feito ao método do objeto, e depois o atributo. Vejamos resumidamente:</p> 

                                                                                                                                              <p>
                                                                                                                                                </span></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqa3a4407wI/AAAAAAAAAX8/kSLWV32DKVk/s1600-h/Encapsulamento5.png"><img style="cursor: pointer; width: 320px; height: 307px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqa3a4407wI/AAAAAAAAAX8/kSLWV32DKVk/s320/Encapsulamento5.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379188477515853570" border="0" /></a></div> 

                                                                                                                                                <p>
                                                                                                                                                  <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                                                  <p>
                                                                                                                                                    É hora da revisão:<br />&#8211; </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Child Class é a Mesma coisa que SubClass</span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br />&#8211; Parent Class é a Mesma coisa que SuperClass<br /></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>&#8211; Java </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>so tem o conceito de Herança simples, ou seja uma Sub Class so pode ter uma Super Classe<br />&#8211; Os modificadores de acesso indicam como será o acesso aquele membro externamente ou internamente.<br />&#8211; Classes só podem ter modificador de acesso public ou default<br />&#8211; Modificador de acesso default é quando nenhum outro é especificado explicitamente<br />&#8211; Membros de classe(métodos e atributos ) e construtores que tem modificador de acesso public são considerados interfaces da classe<br />&#8211; </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Membros de classe(métodos e atributos ) e construtores que tem modificador de acesso private são encapsulados</span></span></span> <em>Programação Java Herança Encapsulamento Modificadores de acesso Construtores</em>
                                                                                                                                                  </p>

Programação Java Classe String

Programação Java Classe String. Linguagem Java. Sumário: java.lang.String; – Maneiras de criar Objetos String,Pool de literais,Comparação entre Strings, Concatenação

A classe String se encontra nos pacotes padrões de java(Oque te da a habilidade de em uma forma implicita usar a Classe) e de ta a habilidade de armazenar uma sequencia de caracteres(Toda essa representação deve ficar entre aspas duplas – > “caracteres”).Veja que String é um tipo referência tanto que o primeiro S de String é maiúsculo.

Programação Java Classe String

É importantíssimo saber:
char
– É a representação de um caracter somente, em aspas simples ’ ’

String
– É a representação de um ou mais caracteres, em aspas duplas “ ”

Como Declarar um Objeto String?

Temos 2 maneiras:

1-
Usando new
String myVariable = new String(“test”);

<p>
  </font><font style="color: rgb(0, 0, 0);"> Quando você faz essa declaração você , cria 2 objetos String em memória e coloca os caracteres em uma area reservada na heap para Literais que é chamada de Literal pool.</p> 

  <p>
    </font> <font style="color: rgb(0, 0, 0);"><font style="font-weight: bold;">2-</font> Sem usar a keyword new, A classe String é um tipo diferente em java, a única classe que aceita ser instanciada sem usar new:</font>
  </p>

  <p>
    <font style="color: rgb(0, 0, 0);">String myVariable = &ldquo;test&rdquo;;</p> 

    <p>
      </font><font style="color: rgb(0, 0, 0);">ou</p> 

      <p>
        </font><font style="color: rgb(0, 0, 0);">String myVariable = (&ldquo;test&rdquo;);</p> 

        <p>
          </font><font style="color: rgb(0, 0, 0);"> Quando você faz essa declaração você, cria 1 objeto String em memória <font style="font-weight: bold;">e coloca os caracteres em uma area reservada na heap para Literais que é chamada de Literal pool</font>(Isso se os caracteres ja não existirem no Literal Pool), Para evitar a duplicação desnecessária de objeto String em memória , crie objetos String sem a keyword new.</font> <font style="font-weight: bold;" size="5"><font style="color: rgb(0, 0, 0);"></p> 

          <p>
            Oque é esse Pool de literais?<br /></font></font> <font style="color: rgb(0, 0, 0);"><br />Vamos a um exemplo, Esse exemplo serve tanto para Variaveis de referência Local quanto para variáveis de referência Atributo, toda variável do tipo String tem uma variável atributo chamada(<font style="font-weight: bold;">C</font><font style="font-weight: bold;">omparador de valor C</font>) que tem o endereço de memória dos caracteres no Pool de literais<font style="font-weight: bold;">: &#8211; A classe String mantem um POOL DE LITERAIS &#8211; </font></font> <font style="color: rgb(0, 0, 0);"></p> 

            <p>
              public class <font style="font-weight: bold;">MinhaClasse</font>{
            </p>

            <p>
              </font> <font style="color: rgb(0, 0, 0);">public static void main(String[] array){<br /></font> <font style="color: rgb(0, 0, 0);"><br />String <font style="font-weight: bold;">minhaVariavel</font> =<font style="font-weight: bold;"> &ldquo;test&rdquo;</font>; //Instanciei um objeto String com a representação em<br />//caracteres<br /></font><br /><font style="color: rgb(0, 0, 0);"> }</font><br /><font style="color: rgb(0, 0, 0);">}<br /></font> <font style="color: rgb(0, 0, 0);"><br />Teremos a representação somente da Local Variable referente ao frame de main() e a Heap referente a arquitetura da instância da Jvm operando sobre esse Class File,<br /><font style="font-weight: bold;">Vejamos oque acabamos de fazer</font>:</p> 

              <p>
                </font></font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJP_n24ExI/AAAAAAAAAQc/zkhvtaaCz-E/s1600-h/heapStack.png"><img style="cursor: pointer; width: 320px; height: 178px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJP_n24ExI/AAAAAAAAAQc/zkhvtaaCz-E/s320/heapStack.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377948859483296530" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Clique na imagem para ampliar</font>
              </p>

              <p>
                <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="color: rgb(0, 0, 0);"><br /><font style="font-weight: bold;" size="5">E se eu tiver outra String com o mesmo valor de caracteres?</p> 

                <p>
                  </font>Então temos somente uma representação no Pool de literais de representação de caracteres(Isso somente acontence se instanciarmos o objeto String sem a keyword new):- A classe String mantem um POOL DE LITERAIS &#8211; Se uma String literal ja existe no Pool então uma referência para o Pool será o endereço da Referência ao Comparador,<font style="font-weight: bold;"> Isso para Strings sem o uso da keyword new e com a mesma sequência de caracteres e ordem</p> 

                  <p>
                    </font><br />public class <font style="font-weight: bold;">MinhaClasse</font>{
                  </p>

                  <p>
                    public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;</font>;<br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;</font>;
                  </p>

                  <p>
                    }<br />}
                  </p>

                  <p>
                    </font></font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqJRDbUP0JI/AAAAAAAAAQk/gvtfrHwf3tU/s1600-h/heapStack2.png"><img style="cursor: pointer; width: 320px; height: 178px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqJRDbUP0JI/AAAAAAAAAQk/gvtfrHwf3tU/s320/heapStack2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377950024347930770" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3"><br />Clique na imagem para ampliar,Toda vez que você cria um literal String a jvm checa o pool de Literal primeiro, se a string não existir no pool de literal então é colocado no pool a nova representação(Isso sem usar a keyword new).</p> 

                    <p>
                      <font size="5">Mais exemplo:</font>
                    </p>

                    <p>
                      </font></font><font style="color: rgb(0, 0, 0);" face="arial"><font size="3">public class <font style="font-weight: bold;">MinhaClasse</font>{</p> 

                      <p>
                        public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;</font>;<br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">&ldquo;gol&rdquo;</font>;
                      </p>

                      <p>
                        }<br />}</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"></p> 

                        <p>
                          Vejamos oque aconteceu:
                        </p>

                        <p>
                          </font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJRsrYcN5I/AAAAAAAAAQs/sK4nNNidW9U/s1600-h/heapStack3.png"><img style="cursor: pointer; width: 320px; height: 189px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJRsrYcN5I/AAAAAAAAAQs/sK4nNNidW9U/s320/heapStack3.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377950733035124626" border="0" /></a>
                        </p>

                        <p>
                          <font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3"><br />Clique na imagem para ampliar,</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">A manipulação é feita por um algoritmo da Classe.</p> 

                          <p>
                            <font size="3"><font size="5">E com a keyword new?</font><br /></font></font><font style="color: rgb(0, 0, 0);" face="arial"><font size="3"> Objetos String com a keyword new, não se referem a objetos na Pool de literais porem pode ser feito com o método da classe String intern().</p> 

                            <p>
                              public class <font style="font-weight: bold;">MinhaClasse</font>{
                            </p>

                            <p>
                              public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">new String(&ldquo;test&rdquo;);</font>
                            </p>

                            <p>
                              }<br />}</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"></p> 

                              <p>
                                Vejamos oque aconteceu:
                              </p>

                              <p>
                                </font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJSh5s_JNI/AAAAAAAAAQ0/wJBG83GUoBY/s1600-h/heapStack4.png"><img style="cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJSh5s_JNI/AAAAAAAAAQ0/wJBG83GUoBY/s320/heapStack4.png" alt="Programação Java Classe String" id="BLOGGER_PHOTO_ID_5377951647412462802" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3"><br />Clique na imagem para ampliar,</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">A manipulação é feita por um algoritmo da Classe.<br /></font>
                              </p>

                              <p>
                                <font style="font-weight: bold; color: rgb(0, 0, 0);" size="5" face="arial">Comparação entre String:</font>
                              </p>

                              <p>
                                <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;">Temos 2 maneiras básicas de comparação:</font><br /><font style="font-weight: bold;">1-</font> o sinal de igual<font style="font-weight: bold;">(Operador == )</font><br /><font style="font-weight: bold;">2</font><font style="font-weight: bold;">&#8211;</font> o <font style="font-weight: bold;">método equals()</font></p> 

                                <p>
                                  <font style="font-weight: bold;" size="5">O operador == (igual):<br /></font> Avalia o endereço de memória das Strings dentro do comparador de valor C, vamos a um exemplo:
                                </p>

                                <p>
                                  <font style="font-weight: bold;" size="4">Instanciando um Objeto String sem a keyword new:</font>
                                </p>

                                <p>
                                  public class <font style="font-weight: bold;">MinhaClasse</font>{<br />public static void main(String[] array){
                                </p>

                                <p>
                                  String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;<br /></font><br />}<br />} <font style="font-weight: bold;" size="3"></p> 

                                  <p>
                                    minhaVariavel == minhaVariavel2 ? </font><br />Sim a resposta é true, vejamos o porque:<br /></font><br /><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJT7DoaZqI/AAAAAAAAAQ8/a8lqj06cII8/s1600-h/heapStack5.png"><img style="cursor: pointer; width: 320px; height: 190px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJT7DoaZqI/AAAAAAAAAQ8/a8lqj06cII8/s320/heapStack5.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377953179085989538" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3">Clique na imagem para ampliar,</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Perceba que o teste é feito no Comparador de valor C, Agora me responde você, 0xA2 = 0xA2?</font>
                                  </p>

                                  <p>
                                    <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5">Instanciando um objeto String com a keyword new:</font></p> 

                                    <p>
                                      public class <font style="font-weight: bold;">MinhaClasse</font>{
                                    </p>

                                    <p>
                                      public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">new String(&ldquo;test&rdquo;);</font>
                                    </p>

                                    <p>
                                      }<br />}
                                    </p>

                                    <p>
                                      <font style="font-weight: bold;" size="4">minhaVariavel == minhaVariavel2 ? </font><br />Não a resposta é false, vejamos o porque:
                                    </p>

                                    <p>
                                      </font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJUtnbQsJI/AAAAAAAAARE/c8TMDhIyiOk/s1600-h/heapStack6.png"><img style="cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJUtnbQsJI/AAAAAAAAARE/c8TMDhIyiOk/s320/heapStack6.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377954047687962770" border="0" /></a><br /><font style="color: rgb(0, 0, 0);" size="3" face="arial"><br /></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3">Clique na imagem para ampliar,</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Perceba que o teste é feito no Comparador de valor C, Agora me responde você, 0xA2 = 0xA3?</font><br /><font style="color: rgb(0, 0, 0);" size="3" face="arial"><br /><font style="font-weight: bold;" size="5"><br />Usando o método equals():</font><br />Retorna true se ambos tem o mesmo conteudo, ou seja a mesma sequência e ordem de caracteres.</p> 

                                      <p>
                                        </font><font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5">Instanciando um Objeto String sem a keyword new:</p> 

                                        <p>
                                          </font></font><font style="color: rgb(0, 0, 0);" size="3" face="arial">public class <font style="font-weight: bold;">MinhaClasse</font>{<br />public static void main(String[] array){</p> 

                                          <p>
                                            String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;<br /></font><br />}<br />} <font style="font-weight: bold;" size="5"></p> 

                                            <p>
                                              <font size="3">minhaVariavel.equals(minhaVariavel2)?<br />Sim a resposta é true, os caracteres &ldquo;test&rdquo; nessa sequência e ordem são iguais a esse: &ldquo;test&rdquo;? Sim claro.</font>
                                            </p>

                                            <p>
                                              </font></font><br /><font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5">Instanciando um objeto String com a keyword new:</p> 

                                              <p>
                                                </font></font><font style="color: rgb(0, 0, 0);" size="3" face="arial">public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">new String(&ldquo;test&rdquo;);</font></p> 

                                                <p>
                                                  }<br />}
                                                </p>

                                                <p>
                                                  <font style="font-weight: bold;" size="5">minhaVariavel.equals(minhaVariavel2)?</p> 

                                                  <p>
                                                    </font>Sim a resposta é true, os caracteres &ldquo;test&rdquo; nessa sequência e ordem são iguais a esse: &ldquo;test&rdquo; ? Sim claro.<br /></font><font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5"></p> 

                                                    <p>
                                                      <font size="3"><font size="4"><font size="3">Concatenação de String:</font></p> 

                                                      <p>
                                                        </font></font></font><font size="3"><font size="3"> <font size="3">O operador(+ somar) é usado para concatenar Strings, veja o exemplo:</p> 

                                                        <p>
                                                          String myVariable = &ldquo;He&rdquo;;<br />String myVariable1 = &ldquo;llo&rdquo;;<br />String myVariable2 = myVariable + myVariable1;</font>
                                                        </p>

                                                        <p>
                                                          <font style="font-weight: bold;" size="3"><font size="3">Qual o valor de myVariable2?<br /><font size="3">&ldquo;Hello&rdquo;!!!</font></font></p> 

                                                          <p>
                                                            <font size="5">Convertendo String em Tipos Primitivos:</font><br /></font><font size="3"> Se você quer converter um objeto String em tipos Primitivos pode usar uma classe associada com o tipo primitivo. Cada tipo primitivo tem uma classe associada com ela:<br /></font><font style="font-weight: bold;" size="3"><br />double &#8211; > Double<br />int &#8211; > Integer<br />etc</p> 

                                                            <p>
                                                              *Veja que Classes começam com letra maiúscula<br /></font><font size="3">E todas essas Classes tem método utilitários que fazem essa conversão, exemplo:<br /></font><font style="font-weight: bold;" size="3"><br />String d = &ldquo;2&rdquo;;<br />double variable = Double.parseDouble(d);</p> 

                                                              <p>
                                                                Agora variable vale 2.0
                                                              </p>

                                                              <p>
                                                                <font size="4"><font size="4">É hora da revisão:</font></p> 

                                                                <p>
                                                                  </font></font><font size="3"><font size="3"> <font size="3">&#8211; Temos 2 maneiras de se instanciar objetos String, Usando a keyword new ou não usando<br />&#8211; Toda vez que instanciamos um objeto String sem a keyword new, mantemos a representação de caracteres dentro de um pool, onde ela não sera duplicada se ja tiver uma representação em igual ordem e representação<br />&#8211; Se instanciar objeto String com a keyword new, mesmo que ja haja a representação no pool em ordem e sequência mesmo assim sera duplicada a sequência(gasto de memória)<br />&#8211; O operador ==(igual) avalia endereços de memória, o método equals() avalia o conteúdo dos objetos<br />&#8211; Concatenação é a junção do conteúdo de uma String com o conteúdo de outra<br />&#8211; É importantíssimo saber:<br />char &#8211; É a representação de um caracter somente, em aspas simples &rsquo; &rsquo;<br />String &#8211; É a representação de um ou mais caracteres, em aspas duplas &ldquo; &rdquo;</p> 

                                                                  <p>
                                                                    &#8211; Todo objeto String pode ser convertido em um numero literal ou um caracter(char), usando a classe associada ao tipo literal<br /></font></font></font></font></font><font style="font-weight: bold;" size="3"><font size="3"><br />Próximo post Operadores Relacionais, Condicionais e Controle de fluxo!!!</font><br /><font size="4">Cya DUDES!!!</font><br /></font></font>
                                                                  </p>

Java Variáveis de Referência Stack Primitivos Escopo Variavel

Java Variáveis de Referência Stack Primitivos Escopo Variavel. Linguagem Java. Sabendo-se que todo processo tem ao menos uma thread, toda thread tem uma Stack e toda Stack necessita de um método que ira no fim dela, conclusivamente necessita-se de main() para a execução de um processo via LINHA DE COMANDO –
Só temos 1 método capaz de fazer de um programa um processo via linha de comando, main.
Quando executa-se o processo, uma instância da JVM, faz a chamada ao main() automaticamente oque cria o Frame do main(),e todo frame tem 3 áreas básicas de memória:
– Local Variable
– Operand Stack
– Uma referência a Runtime Constant Pool(indice 0 da Local Variable)

public class MinhaClasse{

public static void main(String array[]){

}
}

Nesse caso , o main() será automaticamente chamado por uma instância da JVM e irá no fim da Stack Referênte a thread do processo Criado ou seja:
Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem para ampliar

E como eu disse, tem-se os espaços de memória dentro do Frame e aqui também acrescentarei oque temos Basico do Basico na Instancia da JVM, isso é igual ao desenho de cima porem mais especializado:

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem para ampliar

<p>
  Lembre-se todos esses desenhos são conceituais, tendo isso em mente, vamos abreviar o desenho em: Sabendo que a Local variable é do main(), vamos abreviar para isso:<br /></font><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" size="3" face="arial"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_JFku52jI/AAAAAAAAAOs/ZHbKUVjCDyg/s1600-h/heapStackSemObjeto.png"><img style="cursor: pointer; width: 248px; height: 240px;" src="http://localhost/www/wp0/uploads/heapStackSemObjeto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377237577700596274" border="0" /></a></p> 

  <p>
    <font style="font-weight: bold;" size="4"><font size="5">Variáveis de Referência:</font></p> 

    <p>
      </font><br /><font style="font-weight: bold;">Oque são variáveis de Referência?</font><br />São variáveis que contem o endereço do objeto em memória. Como se fosse uma carta(Uma carta não contem endereço?).
    </p>

    <p>
      <font style="font-weight: bold;">Como eu Declaro uma Variavel de Referência?</font>
    </p>

    <h2>
      Java Variáveis de Referência Stack Primitivos Escopo Variavel
    </h2>

    <p>
      É igual a oque se fazia em tipos Primitivos porem, a única diferença é que o tipo da Variável é uma Classe e não um tipo Primitivo.
    </p>

    <p>
      <font style="font-weight: bold;">Como eu inicializo uma Variável de Referência?</font><br />Deve-se Instanciar um Objeto da Classe e atribuir a Variável.
    </p>

    <p>
      <font style="font-weight: bold;" size="5">Declarando uma Variável de Referência:</font>
    </p>

    <p>
      <font style="font-weight: bold;">NomeDaClasse identificador;</font>
    </p>

    <p>
      *NomeDaClasse -> É a classe ou tipo de Objeto que será referênciado pela Variável<br />*identificador -> É o nome que você atribui a Variável
    </p>

    <p>
      <font style="font-weight: bold;" size="5">Instanciando um Objeto:</font>
    </p>

    <p>
      <font style="font-weight: bold;"> new NomeDaClasse();</font>
    </p>

    <p>
      *new -> É uma keyword em java, que instancia um objeto de uma classe<br />*NomeDaClasse -> O nome da classe a qual você quer uma instancia
    </p>

    <p>
      <font style="font-weight: bold;" size="5">Inicializando:</font>
    </p>

    <p>
      <font style="font-weight: bold;">identificador = new NomeDaClasse();</font>
    </p>

    <p>
      Você inicializa uma Variavel de Referência somente após a Declaração dela com o Operador (= igual).
    </p>

    <p>
      <font style="font-weight: bold;" size="5">Podemos Declarar Instanciar e Inicializar em UMA ou DUAS linhas:</font>
    </p>

    <p>
      <font style="font-style: italic;">NomeDaClasse identificador = new NomeDaClasse();</font>
    </p>

    <p>
      <font style="font-weight: bold;">ou</font>
    </p>

    <p>
      <font style="font-style: italic;">NomeDaClasse identificador;</font><br /><font style="font-style: italic;">identificador = new NomeDaClasse();</p> 

      <p>
        </font><font><font style="font-weight: bold;" size="5">Variaveis de Referência e Armazenamento:</font><br />As Variáveis de Referência contem endereços de memória ao objetos, e todo endereço normalmente esta em Hexadecimal ou seja 0x antes do numero(0x888).</p> 

        <p>
          <font style="font-weight: bold;" size="4">Vamos aos exemplos:</font>
        </p>

        <p>
          public class <font style="font-weight: bold;">MinhaClasse</font>{
        </p>

        <p>
          public static void <font style="font-weight: bold;">main</font>(String array[]){<br /><font style="font-weight: bold;">MinhaClasse identificador = new MinhaClasse();</font>
        </p>

        <p>
          //1- Isso é um comentário, Estou <font style="font-weight: bold;">Declarando uma variavel de referência</font><br />//1- MinhaClasse identificador<br />//2-<font style="font-weight: bold;"> Instanciando um Objeto</font><br />//2- new MinhaClasse()<br />//3- <font style="font-weight: bold;">Inicializando a Variavel de Referência(igual =)</font><br />//3- o identificador Recebe o endereço de memória do Objeto MinhaClasse
        </p>

        <p>
          }<br />}
        </p>

        <p>
          <font style="font-weight: bold;" size="4">Desenhando:</font><br /></font><br /></font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_KtQEifFI/AAAAAAAAAO0/_cGPzTRW474/s1600-h/Exemplo01.png"><img style="cursor: pointer; width: 320px; height: 192px;" src="http://localhost/www/wp0/uploads/Exemplo01.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377239358860590162" border="0" /></a><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial"><br />Clique na imagem para ampliar, Não se importe com o indice 0 da Local variable, Nunca se armazena nada la ele é uma referência a outra área de memória</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">. Lembra- se que todo objeto mora em HEAP?</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

          <p>
            </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial">Oque são Variáveis Membro?</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

            <p>
              São aquelas Declaradas dentro do escopo da Classe, Agora sim podemos exemplificar de uma maneira fácil:</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

              <p>
                </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public class </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">{</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                <p>
                  </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public byte </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">variavelMembro</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> = 10;</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                  <p>
                    </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public static void main(String array[]){</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> MinhaClasse identificador = new MinhaClasse();</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                    <p>
                      </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">//1- Isso é um comentário, Estou Declarando uma variavel de referência</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> //1- MinhaClasse identificador</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br />//2- Instanciando um Objeto</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br />//2- new MinhaClasse()</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">//3- Inicializando a Variavel de Referência(igual =)</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">//3- o identificador Recebe o endereço de memória do Objeto MinhaClasse</p> 

                      <p>
                        </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="4" face="arial"></p> 

                        <p>
                          Oque ocorreu agora?</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="text-decoration: underline; font-family: arial; color: rgb(0, 0, 0);"></p> 

                          <p>
                            </font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_LyxK701I/AAAAAAAAAO8/_Kqgck8qPGA/s1600-h/Exemplo02.png"><img style="cursor: pointer; width: 320px; height: 168px;" src="http://localhost/www/wp0/uploads/Exemplo02.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377240553156760402" border="0" /></a><font style="text-decoration: underline; font-family: arial; color: rgb(0, 0, 0);"></p> 

                            <p>
                              </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar, A variável de Instancia tem o valor de 10 em byte, isso significa 8 bits,binários de byte + sinal ou seja, 0000 1010</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial"></p> 

                              <p>
                                Como acessar membros de classe?</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br />Lembre-se Membro da classe = Variáveis membro ou métodos membro</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> ,<br />Use o identificador da Variavel de referência do objeto e logo após o ponto e o identificador do membro da classe!</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                <p>
                                  <font size="3">O Operador ponto &#8211; Permite o acesso a membros do objeto não privados. Isso é chamado de Notação de ponto.</font>
                                </p>

                                <p>
                                  identificador.identificadorMembro;</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">identificador.identificadorMembro();</font> <font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="4" face="arial"></p> 

                                  <p>
                                    Vamos aos exemplos:
                                  </p>

                                  <p>
                                    </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public class </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">{</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public byte variavelMembro = 10;</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                    <p>
                                      public static void main(String array[]){</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> MinhaClasse identificador = new MinhaClasse();</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">identificador.variavelMembro = 20;</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> //Acessando a variavel membro</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                      <p>
                                        }</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                        <p>
                                          </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="4" face="arial">Desenhando:</font> <font style="text-decoration: underline; font-family: arial; color: rgb(0, 0, 0);"></p> 

                                          <p>
                                            </font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_ThrWgnbI/AAAAAAAAAPE/zdXb_G9ZxDk/s1600-h/Exemplo03.png"><img style="cursor: pointer; width: 320px; height: 152px;" src="http://localhost/www/wp0/uploads/Exemplo03.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377249055629942194" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar,Perceba que o valor em Binário, os bits que estavam na variavelMembro agora mudarão, antes era: 0000 1010 ou seja o número 10 em decimal<br />Agora é: 0001 1000 ou seja o número 20 em deci</font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">mal</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">.</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                            <p>
                                              </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial">Exemplificando acesso a membro com mais de uma Instancia:</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br />public class </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">{</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                              <p>
                                                </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> public byte variavelMembro = 10;</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                                <p>
                                                  </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> public static void main(String array[]){</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                                  <p>
                                                    </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">identificador1</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> = new MinhaClasse(); //Uma Instancia<br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">indetificador2</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> = new MinhaClasse(); // Outra instancia</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                                    <p>
                                                      identificador2.variavelMembro = 20;</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                                      <p>
                                                        </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> }</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br /></font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                                        <p>
                                                          Qual o valor da variavelMembro do identificador2?</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> Não sabe? Então vamos desenhar!!!</font> <a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_U-4nvgiI/AAAAAAAAAPM/pfBqRnR7BgU/s1600-h/Exemplo04.png"><img style="cursor: pointer; width: 320px; height: 166px;" src="http://localhost/www/wp0/uploads/Exemplo04.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377250656919716386" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar, O valor certo seria em binário porem vou colocar em Decimal para Exemplificar melhor.Esse ja é o desenho final de como ficará.</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial">Um exemplo de Método:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public class </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">{</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public byte variavelMembro = 10;</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public void </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">go</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">(){</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public static void </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">main</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">(String array[]){</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">identificador1</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> = new MinhaClasse();//Uma instancia</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Minha </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">indetificador2</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> = new MinhaClasse();// Outra instancia</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial"> identificador2.go();</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">O método que será Executado é de quem?</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">O do identificador2, basicamente tem-se isso:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_Vw8Sz4sI/AAAAAAAAAPU/dsqtDsQ28yQ/s1600-h/Exemplo05.png"><img style="cursor: pointer; width: 320px; height: 237px;" src="http://localhost/www/wp0/uploads/Exemplo05.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377251516899123906" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial">Atribuição de Referências:</font> <font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"><br />É a atribuição de um endereço de memória de uma Variavel de Referência a outra:</p> 

                                                          <p>
                                                            <font style="font-weight: bold;">Exemplo:</font>
                                                          </p>

                                                          <p>
                                                            public class <font style="font-weight: bold;">MinhaClasse</font>{
                                                          </p>

                                                          <p>
                                                            public static void main(String array[]){<br />MinhaClasse <font style="font-weight: bold;">identificador1</font> = new MinhaClasse();//Uma instancia<br />Minha <font style="font-weight: bold;">indetificador2</font> = new MinhaClasse(); // Outra instancia
                                                          </p>

                                                          <p>
                                                            }<br />}
                                                          </p>

                                                          <p>
                                                            </font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sp_WUZJQjSI/AAAAAAAAAPc/iHXrg6yQG3s/s1600-h/Exemplo06.png"><img style="cursor: pointer; width: 320px; height: 262px;" src="http://localhost/www/wp0/uploads/Exemplo06.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377252125939109154" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar</p> 

                                                            <p>
                                                              Exemplo Modificado:
                                                            </p>

                                                            <p>
                                                              </font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public class <font style="font-weight: bold;">MinhaClasse</font>{</p> 

                                                              <p>
                                                                public static void main(String array[]){<br />MinhaClasse <font style="font-weight: bold;">identificador1</font> = new MinhaClasse();//Uma instancia<br />Minha <font style="font-weight: bold;">indetificador2</font> = new MinhaClasse();// Outra instancia
                                                              </p>

                                                              <p>
                                                                <font style="font-weight: bold;">identificador2</font> = <font style="font-weight: bold;">identificador1</font>;
                                                              </p>

                                                              <p>
                                                                }<br />}
                                                              </p>

                                                              <p>
                                                                <font style="font-weight: bold;">Oque acontece com identificador2?</font><br />Ele terá o mesmo endereço de memória que o identificador1;<br /><font style="font-weight: bold;" size="4"><br />Desenhando:<br /></font></font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_W1HRr6gI/AAAAAAAAAPk/6CvyARFmk4o/s1600-h/Exemplo07.png"><img style="cursor: pointer; width: 320px; height: 262px;" src="http://localhost/www/wp0/uploads/Exemplo07.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377252688078301698" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">, veja que agora identificador2 tem o endereço do mesmo objeto que identificador1</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="4" face="arial">Oque acontece com o objeto que tem endereço 0xA2?</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Como nenhuma variável de Referência contem o endereço dele, O objeto esta pronto para o coletor de lixo, Uma vez sem referência ele ja era.</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial">Qual a diferença de uma Variavel de Referência como membro da Classe e uma Variável de Referência como variavel local?</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                                                <p>
                                                                  <font style="font-weight: bold;" size="4">Variavel local e de Referência:</font><br />Toda variável local é declarada dentro de um bloco ou de um método, Portanto:
                                                                </p>

                                                                <p>
                                                                  public class <font style="font-weight: bold;">MinhaClasse</font>{
                                                                </p>

                                                                <p>
                                                                  public static void <font style="font-weight: bold;">main</font>(String array[]){<br />MinhaClasse <font style="font-weight: bold;">identificador1</font> = new MinhaClasse();//Uma instancia
                                                                </p>

                                                                <p>
                                                                  }<br />}
                                                                </p>

                                                                <p>
                                                                  <font style="font-weight: bold;">identificador1 é uma variável do tipo Referência e é local ao método main, vejamos oque quer dizer:</p> 

                                                                  <p>
                                                                    </font></font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_YC_bQLII/AAAAAAAAAPs/r1l1b2VD7HI/s1600-h/ReferenciaeLocal.png"><img style="cursor: pointer; width: 320px; height: 234px;" src="http://localhost/www/wp0/uploads/ReferenciaeLocal.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377254026000739458" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"></p> 

                                                                    <p>
                                                                      <font style="font-weight: bold;" size="5">Variavel Membro e de Referência:<br /></font><font size="3">Toda variável Declarada dentro de uma classe e fora de um método ou bloco e que seja do tipo Referência.</p> 

                                                                      <p>
                                                                        public class <font style="font-weight: bold;">MinhaClasse</font>{<br />public MinhaClasse <font style="font-weight: bold;">variavelMembro</font>;
                                                                      </p>

                                                                      <p>
                                                                        public static void main(String array[]){<br />MinhaClasse identificador1 = new MinhaClasse();//Uma instancia<br />identificador1.<font style="font-weight: bold;">variavelMembro</font> = <font style="font-weight: bold;">new MinhaClasse()</font>;
                                                                      </p>

                                                                      <p>
                                                                        }<br />}</font><font style="font-weight: bold;" size="5"></p> 

                                                                        <p>
                                                                          Desenhando:
                                                                        </p>

                                                                        <p>
                                                                          </font></font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_Y03UA6mI/AAAAAAAAAP0/PWfsh3j0XM0/s1600-h/ReferenciaeMembro.png"><img style="cursor: pointer; width: 320px; height: 142px;" src="http://localhost/www/wp0/uploads/ReferenciaeMembro.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377254882816354914" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">, Lembre-se todo Objeto mora em HEAP</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial"><br />Qual a diferença entre tipos Primitivos e tipos Referência?</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> Tipos Primitivos armazenam os bits referêntes ao valor, tipos Referência armazenam o endereço de memória do Objeto:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="4" face="arial"><br />Tipo Primitivo:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> public class </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">{</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> public static void main(String array[]){</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">byte</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> tipoPrimitivo = 10;</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> }</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="4" face="arial"><br />Desenhando:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_ZUtQlaLI/AAAAAAAAAP8/QKxjsu3oVjE/s1600-h/TipoPrimitivo.png"><img style="cursor: pointer; width: 264px; height: 122px;" src="http://localhost/www/wp0/uploads/TipoPrimitivo.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377255429873428658" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">10 em Decimal equivale em Binário em tipo byte(ou seja 8 bits) </font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">0000 1010 lembrando que se fosse por exemplo em short seria:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">0000 0000 0000 1010</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial"><br />Tipo Referência:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public class </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">{</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> public static void main(String array[]){</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> MinhaClasse </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">identificador</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> = new MinhaClasse();</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> }</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="4" face="arial">Desenhando:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_KtQEifFI/AAAAAAAAAO0/_cGPzTRW474/s1600-h/Exemplo01.png"><img style="cursor: pointer; width: 320px; height: 192px;" src="http://localhost/www/wp0/uploads/Exemplo01.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377239358860590162" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Normalmente endereço de memória é usado em Hexadecimal ou seja 0x antes do número, no caso temos (0xA1)</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial">Qual a diferença de Instanciar e instanciar e Armazenar o valor?</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Quando você obtem uma Frame(ou seja um método em execução, no nosso caso o main) você obtem 3 espaços de memória que ja forão comentados em tutoriais anteriores(Local Variable,Operand Stack, Uma referência a Constant Pool), Basicamente trabalhamos na Operand Stack e utilizamos a Local Variable como uma área de acesso prolongado, podemos fazer uma comparação entre:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">RAM</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> -> operand Stack</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">HD</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> -> local Variable</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Sem a Local Variable você não tem acesso ao objeto depois de declara-lo , vamos ver ambas as partes:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="4" face="arial">Instanciar e Armazenar:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public class </font><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">MinhaClasse</font><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">{</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public int x = 0;</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public static void main(String array[]){</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> MinhaClasse identificador = new MinhaClasse();</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> identificador.x = 20; //abaixo da Declaração da variável local, Instan </font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Em Bytecode:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> 8: aload_1</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> 9: bipush 20</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> 11: putfield #2; //Field x:I</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Isso significa em java: identificador.x = 20;</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="3" face="arial">Desenhando temos:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sp_chxbZyrI/AAAAAAAAAQE/F321b1wjnpM/s1600-h/InstanciarEArmazenar.png"><img style="cursor: pointer; width: 320px; height: 253px;" src="http://localhost/www/wp0/uploads/InstanciarEArmazenar.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377258952865729202" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" size="4" face="arial">A invocaçãode putfield leva oque estiver em baixo dele na Operand Stack, e causará isso:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_cwzCYz2I/AAAAAAAAAQM/q3kOr4DmHi0/s1600-h/InstanciarEArmazenar2.png"><img style="cursor: pointer; width: 320px; height: 253px;" src="http://localhost/www/wp0/uploads/InstanciarEArmazenar2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377259210995715938" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar,Usei em Decimal o valor para Representação, porem o valor correto de tipos Primitivos é em binário.</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial">Somente Instanciar:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">public class MinhaClasse{</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> public static void main(String array[]){</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> new MinhaClasse();</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> //2- Instanciando um Objeto</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> //2- new MinhaClasse()</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial"> }</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">}</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Trabalhando na Operand Stack, não temos como fazer isso pois não temos nada na Local Variable:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_dJKym_OI/AAAAAAAAAQU/RicR7qpFybo/s1600-h/SomenteInstanciar.png"><img style="cursor: pointer; width: 320px; height: 253px;" src="http://localhost/www/wp0/uploads/SomenteInstanciar.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377259629688847586" border="0" /></a><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Clique na imagem para ampliar,Então logo vem o Coletor de Lixo e coleta ele.(Objeto solto é Objeto morto)</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial">Escopo de uma variavel:</font><font style="font-family: arial; color: rgb(0, 0, 0);" size="3"></p> 

                                                                          <p>
                                                                            <font style="color: rgb(0, 0, 0);"> Variáveis declaradas dentro de um método,constutor de decisão, laço ou outro tipo de bloco de código não pode ser na classe em si<font style="font-weight: bold;">.O escopo de uma variavel se refere aonde a variavel pode ser usada dentro de um programa</font>. A declaração da variavel valida o escopo dela. <font style="font-weight: bold;">Exemplo:</font></font>
                                                                          </p>

                                                                          <p>
                                                                            <font style="color: rgb(0, 0, 0);">&#8211; Variaveis Locais <font style="font-weight: bold;">declaradas</font> dentro de um método, construtor de decisão, loop ou outro tipo de bloco de codigo diferente da classe, tem O ESCOPO ou seja pode ser usada apenas onde foi DECLARADA.</font><br /></font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="font-weight: bold; color: rgb(0, 0, 0); font-family: arial;" size="5" face="arial">É hora da Revisão:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">&#8211; Por Default, Variaveis de Referência que são membros de Classe(Variáveis Atributo) tem o valor Default de null</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">&#8211; Toda variável de Referência armazena o endereço de memória do Objeto</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">&#8211; Todo endereço de memória normalmente é representado com hexadecimal, ou seja o 0x antes do valor(0x002)</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">&#8211; Lembre-se Membro da classe = Variáveis membro ou métodos membro</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">&#8211; Um objeto uma vez sem referência ele é do Coletor de lixo(Garbage Collected)</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">&#8211; A diferença entre:</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Variável Atributo de referência = Ambos moram em Heap</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><font style="color: rgb(0, 0, 0); font-family: arial;" face="arial">Variável de referência local é que = a variável em Local Variable, a referência em heap</font><br style="font-family: arial; color: rgb(0, 0, 0);" /><span style="font-family: arial; color: rgb(0, 0, 0);">&#8211; O Operador ponto &#8211; Permite o acesso a membros do objeto não privados. Isso é chamado de </span><font style="font-weight: bold; font-family: arial; color: rgb(0, 0, 0);">Notação de ponto</font><span style="font-family: arial; color: rgb(0, 0, 0);">.</span><br style="font-family: arial; color: rgb(0, 0, 0);" /><span style="font-family: arial; color: rgb(0, 0, 0);">&#8211; O escopo de uma variavel se refere aonde ela pode ser usada no programa.</span><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" /><br style="font-family: arial; color: rgb(0, 0, 0);" />
                                                                          </p>

Java Threads o que é

Java Threads o que é. Linguagem Java.

Teremos hoje: Processos, threads, Stacks,Frames, KLT, ULT

É necessário a Leitura do Básico de uma instancia da JVM, Falaremos da estrutura de uma thread, a estrutura de um processo e Basicamente de PC Registers e STACK.

Java Virtual Machine Stacks : – Normalmente chamada somente deExemplos Java,Linguagem Java, Programação, Java Stack – , cada thread tem a sua Stack.(Ou seja um processo tem ao Menos uma STACK – Pois um processo tem ao menos uma thread-).

Oque contem dentro de uma Stack?

De um modo geral, FRAMES.


Oque são Frames?

Toda vez que um método é invocado em java, cria-se um Frame ao método na STACK referente aquela thread. Toda Stack tem pelo menos um frame(ou um método) que vai no fim dela, o mais conhecido é o main().

Oque eu tenho dentro de uma Frame? – Basicamente –

-Local Variables
-Uma referência para Constante Pool da Classe
-Operand Stack

*** Cada Frame contem um LIFO, conhecido com Operand Stack (last-in-first-out)- A stack em si também é conhecida com LIFO

Ai você me pergunta e dai? – A relação de como java trabalha com os dados, é a mesma que o Frame faz – Por isso da importância de saber isso.

Perceba que em java basicamente trabalhamos com 3 tipos de dados em um contexto de um processo: Local Variables, Membros de Instancia, Membros de Classe. A relação é a seguinte:

– Local Variables = São variáveis locais ao Método(Ou seja são variaveis que residem dentro da Local variable de uma Frame).

– Membros de Instancia = Cada arquivo.class contem um Constant Pool que são Referências simbólicas a tudo em Heap. Qual a Relação Constant Pool e Runtime Constant Pool? Quando o arquivo.class é carregado existe uma mapiamento e a Constant Pool do arquivo.class vira a Runtime Constant Pool na instancia da JVM. -Isso será futuramente a Heap daquele PROCESSO –

– Membros de Classe = Normalmente trabalhando na Operand Stack Referente – Usa – se simbólicas importações em bytecode do tipo, getStatic, putStatic. etc.

Ja percebeu da onde em java, você aprende Declarando Membros de instancia,Declarando membros da classe, Declarando Local variables Pois bem ai está da onde vem.

Exemplos Java,Linguagem Java, Programação, Java

Local Variables – O -Index 0 – é usado como uma Referência a Constant Pool, que vai para a Operand Stack para invocações de OPCODE do tipo – putfield #2 ; EM JAVA TEMOS A KEYWORD this, ela tem a mesma função que o -Index 0- Isso quer dizer que quando você usa a keyword this em java, esta invocando o index 0 da Local Variable(aload_0) que aponta para a Constant Pool da sua classe.

Oque é executado dentro de uma STACK?

O primeiro método a ser executado dentro de um STACK é o método que vai no fim da STACK, no caso da thread main o método que vai ser executado é o main() no caso de uma outra thread o run(), isso significa que a vida da STACK é baseada no termino do método que esta no fim da Stack, e suas referencias a outras threads (Por isso é chamado de Lifo, Primeiro a entrar, ultimo a sair.).

Exemplos Java,Linguagem Java, Programação, Java

CLIQUE NA IMAGEM PARA MAXIMIZAR ELA

Processos:

– Basicamente um programa em execução –

Um processo é um container, que contem os recursos que ele terá em Runtime,e contem seu próprio espaço de memoria.Normalmente um processo é visto apenas como um programa ou um aplicativo em execução mais, oque o usuário vê como um simples Sistema pode de fato, ser um CONJUNTO DE PROCESSOS. PARA FACILITAR A COMUNICAÇÂO ENTRE PROCESSOS, GRANDE Parte do S.O garante o recurso de Inter Process Communication (IPC) COMO PIPES E SOCKETS.O IPC não é apenas para Processos no mesmo S.O, eles podem estar em DIFERENTES S.O.

Grande parte da Implementação da JVM, roda em um simples processo. Um Aplicativo java pode criar Processos adicionais, usando Objetos da classe java.lang.ProcessBuilder(This class is used to create operating system processes. ).

UM PROCESSO TEM AO MENOS UMA THREAD.

Um processo conhece o outro?

Não necessariamente, dependendo do SO, existem modos de um processo enviar msg para outro Porem não necessariamente. CADA PROCESSO RODA INDEPENDENTE DO OUTRO Mais eles podem cooperar entre si.

Exemplos Java,Linguagem Java, Programação, Java

Oque é uma thread?

É a forma de um processo se dividir em uma ou mais “tarefas simultâneas”(ou seja é a forma de um processo se dividir em threads.).

São processos menos Pesados. Tanto threads quanto Processos te dão um ambiente de Execução, MAIS CRIAR UM NOVA THREAD, CONSOME MUITO MENOS DOQUE REALMENTE CRIAR UM NOVO PROCESSO.

threads existem dentro de um processo .Todo processo tem ao menos uma thread. threads dividem os recursos do processo , Incluindo Memoria e ARQUIVOS ABERTOS(fluxos).ISSO é muito eficiente, porem da muitos problemas de comunicação.

– Cada Thread é uma nova STACK –


Exemplos Java,Linguagem Java, Programação, Java

Qual a diferença de thread e Thread?

Sabe-se que java é case-sensitive logo, thread = linha de execução, Thread = classe

Qual o tempo de resposta perceptivel ao ser Humano?

Cerca de 200 ms é o tempo que o ser Humano realmente consegue perceber algo.

Qual a tempo de resposta de troca de uma Stack de uma thread e outra?

Estima – se em 100 ms, porem eu andei avaliando esse tempo, e realmente depende da JVM, memoria etc, porem chega ate a ser 10x menor que isso!

Quantas threads um processo tem?

Ao menos uma, no caso de java, temos a thread main, que contem o main() que é o método que vai no fundo da Stack ou seja oque é executado pela jvm, quando o método no fundo da Stack termina o processo termina.

Como é thread x cpu?

Em hardwares com múltiplos CPUS ou múltiplos core, realmente existe simultaneidade entre as threads, porem em maquinas com apenas 1 core ou uma CPU, a troca de uma STACK para outra é tão rápida que parece que é simultâneo.

Oque é monoThread?

São os Sistemas que suportam apenas uma thread e os que suportam multiplas threads são chamado multiThreads.

Porque varias threads em um processo e não apenas vários processos?

O gasto para criação e troca de um processo para o outro é imensamente maior que a troca de uma thread para outra.Alem do tempo de resposta ser bem maior e o consumo de memoria em questões de thread também ser bem menor a comunicação entre threads é muito mais facil pois, trabalhamos em um nivel de abstração muito maior doque trabalhar com um processo.

Os processos dividem Oque?

Basicamente a CPU física, entre memoria etc.

Para quem o S.O entrega a CPU?

Quando estamos em um processo, O S.O. entrega a CPU para UMA THREAD DO PROCESSO.

Onde eu vejo os processos atuais em meu computador?

Cada S.O contem uma tabela de processos a qual o mesmo esta trabalhando no momento.

Oque é realmente ter múltiplas threads?

É como executar tarefas de duas listas. Nos ainda estaremos fazendo as tarefas em cada lista na ORDEM correta Mais quando começamos a ficar entediados com as tarefas de uma lista, nos trocamos de lista E futuramente quando voltarmos para fazer a lista que paramos, voltamos exatamente no mesmo ponto onde paramos.

(lista aqui pode ser Considerada um STACK)

Oque é Realmente um Sistema Operacional Multitarefa?

É aquele onde, consegue-se executar múltiplos programas ao mesmo tempo. Cada um desses programas tem AO MENOS 1 thread com eles. Os processos assim como as threads tem estado, e a thread do processo que não estiver sendo executada tem seu estado como “Sleeping”.

Outra definição:

São S.O.(s) que deixam múltiplos processos sendo executados em paralelo. Veja enquanto você esta no word, pode estar escutando musica, com o msn online etc. Claro que dependendo da quantidade de Cpus fisicas ou cores, a maioria desses processos fica em estado Sleeping.

Por onde começa a execução de um processo?

Todo processo tem um ponto de partida, o método que vai no fundo da Stack referente ao processo é aquele que é o ponto DE PARTIDA.(LIFO da Stack, ex: main() ).


Temos dois tipos de thread, KLT e ULT

Oque é KLT?

São Kernel-Level Thread. – Ou seja do S.O. –

Source: Java Threads, 2nd edition – Scott Oaks & Henry Wong –

Exemplos Java,Linguagem Java, Programação, Java

Clique na Imagem para ampliar

Oque são ULT?

São User-Level Thread. – Ou seja do Usuário –

Exemplos Java,Linguagem Java, Programação, Java

Clique na Imagem para ampliar

Quem suporta KLT?
O próprio S.O.

Quem suporta ULT?
A propria biblioteca da Linguagem que da suporte a ela.

Oque é Escalonador?

(Basicamente são Algoritmos escritos em uma linguagem de programação que gerencia quem deve usar a CPU no momento e por quanto tempo)

O escalonamento (ou agendador de tarefas) computacionais é uma atividade organizacional feita pelo escalonador (scheduler) da CPU ou de um Sistema Distribuído, possibilitando executar os processos(as threads, pois a CPU é entregue a uma thread de um processo) mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os computacionalmente intensivos. O escalonador de processos de 2 níveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa execução o processador evita ficar ocioso.

Quem é o Escalonador de java?

O escalonador de java depende muito da JVM em si, cuidado ao fazer programas multiThread e somente testar em uma JVM, o algoritmo escrito em java para JVM muitas vezes muda. Então se atente a isso.

Quem é o Escalonador do meu S.O?

Tudo dependerá do seu S.O. cada S.O tem o seu, no Caso do Linux o gerenciador de Memoria, processos etc é chamado de Kernel , que é um conjunto de SubSistemas e um deles é um GERENCIADOR DE PROCESSOS.Alguns S.O. como windows tem algoritmos de escalonamento como o Round-Robin.

Quem Escalona as ULT?

De uma modo geral é o programador, Porem o processo em si usa um Algortimo de escalonamento no caso de thread é o escalonador de processos que ajuda as threads a melhor se adptarem a situações.O S.O MUITAS VEZES NEM SABE DA EXISTENCIA DE “N” THREADS EM UM DETERMINADO PROCESSO.Neste modo o programador é responsável por criar, executar, escalonar e destruir a thread.QUANDO O S.O DA A CPU PARA UM PROCESSO, CABE AO PROCESSO DESTINAR QUAL SERÁ A THREAD QUE PRIMEIRO SERÁ EXECUTADA.

Quem Escalona as KLT?

O S.O elas são muito mais lentas que as ULT, cada chamada a uma KLT é uma consulta ao S.O. exigindo assim a mudança total de contexto do processador, memória e outros níveis necessários para alternar um processo.Primeira coisa, A CPU É dada a uma thread do processo e não ao processo, AS threads são independentes dos processos, eu posso estar no processo A1 thread A1A e ir para a thread A3A que é de outro processo, ou seja é a ordem que o escalonador determinar.Ja coma as Threds de ULT não temos essa independencia por o controle de threads é dado ao processo(ou seja o primeiro método que vai no fim da Stack, o main()) junto ao algoritmo em java do escalonador de threads.

Qual são os estados de um processo?

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem para ampliar

Qual São os estados de uma thread?

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem para ampliar

Nível de ABSTRAÇÃO ALTA, sobre a sucessão de passo ate um processo no S.O:

Basicamente quando você carrega um programa esse é manipulado por uma instancia da JVM, que faz as devidas manipulações, que vira processo no S.O, O gerenciamento de processos fica a encargo do S.O e o gerenciamento de threads fica ao encargo do escalonador da JVM. – Na maioria dos modelos de implementação da JVM


É hora da Revisão: – Revisão Válida apenas para threads Básico

A maioria dos Sistemas hoje em dia necessita de Concorrência(Simultaneidade) para que seu sistema faça mais de uma coisa “ao mesmo tempo”.

– Softwares que conseguem fazer concorrência(Exemplo ler msg e enviar) são chamados de concurrent software.

– Existe uma API que foi inserida, a java.util.concurrent onde temos um alto nível de Simultaneidade.

– Se um computador tem apenas um processador, que não é multiProcessado, Apenas existe UMA THREAD de um processo sendo executado, apenas uma por vez.(um processador que não é multiProcessado Tem apenas 1 core.)

– O tempo de Processamento, é dividido entre todos os processos e todas as threads, e é chamado de time- slicing(fatia).

– Temos, Sistemas com Múltiplos processadores, ou processadores com múltiplos cores de Execução.

Um Processo é um Programa em execução, cada Programa que você mandar executar em seu S.O. poderá ser visto na tabela de processos do S.O. e os processos tem estados assim como as threads.

– Sabemos que, todo processo tem ao menos uma thread,(vendo do ponto de vista de um programador) a thread main é a sua thread inicial, que te da o poder de criar novas threads.

– Threads Existem dentro de um processo.Todo processo tem ao menos uma thread. threads dividem os recursos do processo , Incluindo Memoria e ARQUIVOS ABERTOS(fluxos).ISSO é muito eficiente, porem da muitos problemas de comunicação.

-Existem threads do Sistema Operacional, e Existem threads da JVM e existem threads do seu processo. O S.O não conhece as threads do seu processo porque elas são encapsuladas pela JVM conseqüentemente o S.O só sabe que existe um processo com 1 thread, pois todo PROCESSO TEM AO MENOS UMA THREAD.

Java Virtual Machine Stacks é muitas vezes referenciada somente COMO STACK

Cada thread tem sua própria STACK

– Uma Stack é uma pilha que vamos empilhando Frames

– Toda Stack tem uma método que é o inicial, ou seja a primeira Frame a entrar na STACK(exemplo: o main())

– Um frame é criado toda vez que um método é invocado

– Um frame é destruido quando o code_block referente ao metodo terminou

– Cada Frame possui:

* Local Variable

* Operand Stack

* Uma Referencia a Runtime Constant Pool

– Quando um método é invocado, sobe uma Frame na Stack da thread.

– O Método que esta sendo executado em uma Stack, é o Frame que estiver no Topo da Stack, o Ultimo método que sera executado é o primeiro a ser colocado, ou seja main(), run() Quando um dos dois termina, a thread termina o seu code_block, Por isso a Stack é chamada de LIFO.

Threads e simultaneidade é uma afirmação que muitas vezes foge da realidade, pois a maioria dos processadores são monoProcessador ou quando são multiCore, muitas das vezes um core já é usada por alguma função do S.O logo só temos uma disponível.(E o S.O. só entrega a Cpu para uma thread do processo, por isso da dificuldade de simultaneidade entre threads ou mesmo processos). – A troca de uma thread para a outra chega a ser bem inferior a 100 ms, a percepção humana é de 200 ms, logo aparenta-se simultaneidade. Para simultaneidade realmente ocorrer é necessário um processador físico multicore ou um multiprocessador. Assim como exemplo, Lado “A” do processador processa a thread 1, lado “B” do processador processa a thread 2.

– O escalonador do S.O. Entrega a CPU a uma thread do processo, sempre a uma thread.

– o PC do pc Register Aponta para o código sendo executado Referente a Frame da thread em questão, Se tivermos 2 threads , A e B, em troca de contexto (de thread) de A para B, A tem registrado no pc do PC Register qual a Instrução que devera fazer(ou seja uma depois daquela que ja fez), Quando o Scheduler volta de B para A, A volta exatamente onde tinha parado. – TROCA DE CONTEXTO PODE SER CONSIDERADO (TROCA DE THREAD) OU TAMBÉM TROCA DE STACK – O CÓDIGO SENDO EXECUTADO É APONTADO PELO PC do PC REGISTER DA METHOD AREA.

PC REGISTER e threads:

PS: Se 2 threads acessam o mesmo objeto, cada thread terá gravado no pc do pc Register em qual instrução está.

Thread A

Iconst_4
iconst_3 ← Oi eu so o pc do PC register e a thread A, esta aqui(iconst_4 ja foi resolvido)
iadd

Thread B

Iconst_4 ← Oi eu so o pc do PC register e a thread B, esta aqui(instrução n foi feita aind)
iconst_3
iadd

– LEMBRE-SE o pc do PC register guarda a próxima instrução que terá que fazer, exemplo, se ele ja fez iconst_4 ele vai apontar para iconst_3

Agora Ficou obviou que quando você tenta executar um class File que não contenha o main(), não faz o minimo sentido, já que é o método que é primeiro colocado no LIFO(Stack), ou seja é o primeiro a ser executado, e o Ultimo a terminar. Quando o main() é executado, sobe-se a Frame referente a ele.

Olhando em níveis bem abstratos e deixando detalhes de lado.

1 – Você escreve um algoritmo em uma linguagem de programação

2 – Você compila esse seu programa gerando um Class File

3 – Quando você usa o launcher de java( java identifier) para executar o seu programa, Na arquitetura da instancia da Jvm, cada thread do seu programa, ganhará uma:

*Program Counter Register

*Stack

* Native Method Stacks

4 – Na visão da Stack, o primeiro método executado da thread é o main() ou o run(), quando ele for invocado por uma instancia da JVM, a Stack da thread ganhará um frame que é devidamente de um desses métodos.

5 – A Constant Pool referente a cada Class File é mapeada para a Runtime Constant Pool da Method Area.

5 – o pc do Program Counter Register apontará para os bytecodes na Method Area,se for necessário resolver alguma constant é feito Dynamic Linking usando as informações já mapeadas da Runtime Constant Pool.

Isso é um ciclo extenso, foi muito abrevido pelo oque realmente eu achei importante até agora para um bom entendimento do porque de muita coisa, esse ciclo é chamado:loading, linking, initialization, and unloading

Bom por enquanto a postagem é essa, espero velos na próxima. Estamos perto de começar a instanciar objetos threads.

Java Sincronização

Java Sincronização. Linguagem Java.

Sincronização:

* O principio desse capitulo é falar sobre o acesso de múltiplas threads ao mesmo OBJETO, ou seja, 2 chamadas de métodos/instruções em 2 stacks diferentes porem os métodos/instruções são do mesmo objeto.

– QUANDO OCORRE TIMESLICING EM THREADS QUE NÃO ACESSAM OS MESMOS OBJETOS, O PC DO PC REGISTER GARANTE QUE TODAS AS INTRUÇÕES SERÃO FEITAS. NO CASO DE 2 THREADS COM TIMESLICING NO MESMO OBJETO, o pc do PC register garante que todas instruções serão feitas, porem o problema é em qual instrução estamos.

Podemos considera-lá como um átomo, não pode ser dividida.

Descrevendo uma situação provável:

Uma objeto chamado Object, que contem um método chamado somar e outro chamado subtrair, a thread A deve invocar somar e a thread B deve invocar subtrair, porem ambas elas estão FAZENDO NO MESMO OBJETO Lembre-se muitas vezes o escalonador não tem uma ordem certa com threads de mesma prioridade, Portanto mesmo que você faça primeiro

ThreadA.somar();

ThreadB.subtrair();

Pode ser que ocorra isso: Um timeSlicing de threads, vamos ver:

public int x = 5;

Thread A – Prioridade 5 – Incremente o valor em 5,acessando o método do objeto que praticamente faz isso:

x = x + 5;

Thread B – Prioridade 5 – Decrementa o valor em 5, acessando o método do objeto que praticamente faz isso:

x = x – 5;

Object – as Duas Threads tem o mesmo objeto como RUNNABLE

getfield #2; = Instance variable que é uma referencia dinâmica a constant Pool da classe, que sera resolvida depois Ou seja instance variable do Objeto

VAMOS VER OQUE ACONTECERÁ:

*Thread A – usa uma parte do TimeSlicing dela, invocando somar() no Object

getfield #2

iconst_5

iadd

putfield #2

Quando o pc do pc register da method area estava na instrução iconst_5 o tempo se esgotou da THREAD A, portanto é hora da THREAD B.(Lembre-se que o mudou porque quando o pc do Pc register faz uma instrução ele salva o estado e guarda o endereço da próxima instrução)

A Operand STACK referente a Thread A esta:

5

5

———x———–

*Thread B – usa uma parte do TimeSlicing dela, invocando subtrair() no Object(Mesmo Objeto que A)

getfield #2

iconst_5

isub

putfield #2

O pc do pc register da method area estava na instrução iconst_5 mudou porque quando o pc do Pc register faz uma instrução ele salva o estado e guarda o endereço da próxima instrução)

A Operand STACK ESTA

5

5

———-x———-

*Thread A usa uma parte do TimeSlicing dela, invocando somar() no Object

getfield #2

iconst_5

iadd

putfield #2

——–>Termino da Frame.

A Operand STACK ESTA – sem nada agora, x = 10 agora.

——–x———-

*Thread B –usa uma parte do TimeSlicing dela, invocando subtrair() no Object(Mesmo Objeto que A)

Repare que, o valor de x é 10, não é mais 5, porem a atualização não acontece aqui, pois a instrução de carregar o valor(getfield #2) foi feita antes da instrução de adicionar(iadd (x = x + 5)) da THREAD A

getfield #2

iconst_5

isub

putfield #2

A Operand STACK esta vazia agora, x = 0; porem deveria ser 5, mais eu sobrescrevi o valor. (E não era essa a intenção)

Conseguiu enxergar a inconsistência de valores? eu simplesmente tinha uma instance variable, com o valor de 5

public int x = 5;

Oque era para acontecer:

Em uma thread eu gostaria de somar + 5

x = x + 5,

x = 5 + 5;

x = 10;-> Thread A

Em uma outra thread eu gostaria de subtrair 5

x = x – 5;

x = 10 – 5;

x = 5; – Thread B

Oque aconteceu: x = 0;

No final meu x foi para 0(e era para ser 5), houve uma inconsistência de valores, devido ao fato que temos 2 stacks acessando o mesmo OBJETO supondo que ocorra timeSlicing oque é muito provável e obviou que elas tem a mesma prioridade.

Foi como dito antes, certas coisas são como átomos, não podemos dividir.

Como consertar isso?

Bom sabemos que Garantia de haver ou não Robin-Round(claro e o timeSlicing)não podemos ter, Portanto fazemos o seguinte:

TODO objeto em java tem um cadeado, ESSE CADEADO É DO OBJETO logo esse cadeado pode estar trancado ou destrancado. Só que esse mecanismo só fica ativo quando usamos a keyword synchronized.

Quando um cadeado esta trancado?

Quando uma thread acessa um membo synchronized, ou uma instrução synchronized, A thread se tranca em um “quarto” com o objeto, e diz que só devolve a chave do quarto, QUANDO ELA TERMINAR O SERVIÇO.

E se uma threadB quer usar o Objeto, porem a threadA esta com a chave?

A thread B fica em um Pool CHAMADO: Blocked in Object’s Lock Pool. E so sai de la quando a thread A, sair do quarto e devolver a chave.

SIMPLESMENTE synchronized evita o Robin-Round(claro e o timeSlicing) referente aquele objeto, evita usando o mecanismo de tranca onde a thread fica com a chave,outras threads ate podem acessar o método, so que ficam no Object’s Lock Pool esperando a outra thread sair do “quarto” e devolver a chave.

EXEMPLO DE Método de somar e subtrair synchronized:

Object = é um objeto com uma instance variable (public int x = 5) e 2 métodos sicronizados(somar(), subtrair())

Thread A = é a Thread de SOMA

Thread B = é a thread de subtração

*Thread A entra invoca somar() do objeto Object

getfield #2

iconst_5

iadd

putfield #2

Na instrução iconst_5, terminou o time da thread A, portanto time da Thread B

*Thread B tentar entra invocar subtrair do objeto Object, POREM Não pode, pois não tem a chave para destrancar(Pois subtrair é SINCRONIZADO). PORTANTO THREAD B entra no POOL das Blocked in Object’s Lock Pool.

*Thread A volta da onde tinha parado, e continua o somar() do Object

getfield #2

iconst_5

iadd

putfield #2

agora sim, x = x + 5 x = 10; Thread A terminou o bloco de código do frame , abriu “o quarto” e devolveu a chave.

*Thread B tentar entra invocar subtrair do objeto Object, COMO thread A terminou la esta a chave, B PEGA A CHAVE, se tranca com o objeto “no quarto"e manda a ver no metodo!

getfield #2

iconst_5

isub

putfield #2

AGORA TEMOS O RESULTADO QUE QUERIAMOS, x = 5

TENHO que synchronized o método todo?

Não você pode simplesmente synchronized o código que você quer, especificando um objeto que tem a chave para aquilo.(Eles te dão a chance de ter um bloco onde se consegue garantir o termino coerentemente e onde você pode especificar outro objeto para a obtenção da tranca disso)

public void go(){

synchronized(this){

}

}

Ou declare uma instance variables somente para armazenar a Tranca dele

Object d = new Object();

synchronized(d){

}

Resumo:

– Quando duas threads acessam o mesmo objeto tenha CUIDADO, potenciais problemas podem vir a ocorrer.

– TODO OBJETO TEM UM CADEADO ASSOCIADO COM ELE.

– O cadeado e a chave dele, estão associados ao objeto … A thread simplesmente tranca ele e pega a chave, porem devolve ao OBJETO DEPOIS. Portanto 2 métodos synchronized significa só uma chave para acessar qualquer um dos dois.

– Lembre-se só sincroniza – se membros, e construtor não é considerado membro

– Quando uma thread acessa um membro synchronized do objeto, outras threads não poderão acessar SOMENTE MEMBROS synchronized DESSE OBJETO, ATE QUE A PRIMEIRA THREAD DESTRANQUE REPITO SOMENTE MEMBROS synchronized QUE ELES NÃO PODERÃO ACESSAR.

Thread safe é estar synchronized.

– O grande problema de não fazer membros thread safe não é a questão de timeslicing mais sim das intruções que já podem ter sido feitas pelo pc do pc Register.

– Podemos fazer métodos (thread safe) ou code_blocks (thread safe), porem em questão de code_blocks é necessário especificar o objeto.

– Se for um membro static, a thread tranca os membros synchronized da classe, e só devolve a chave para a classe quando terminar.

– Quando uma thread A acessa o método/instrução sincronizada de um objeto, e thread B tenta acessar o um método/instrução sincronizada do mesmo objeto, SE thread A ainda não terminou, thread B vai para o estado “Bloqueado em pool de Bloqueio de Objeto” e so sai de la quando a devolver a chave do objeto.

Passo a passo:

1 – thread A entra em um método/instrução sincronizada do objeto1

2 – thread B tenta entrar em algum método/instrução sincronizada do objeto1(mesmo de thread A)

3 –thread B encontra um objeto1 fechado para métodos/instruções sincronizadas e não encontra a chave, thread B vai para o estado: “Bloqueado em pool de bloqueio de objeto”

4 – thread A termina o code_block(ou vai dormir em uma instrução não sincronizada) e libera a chave do objeto1

5 – thread B agora vai para o estado Executável e como só temos essa thread de maior prioridade o escalonador seleciona thread B para ser RUNNING.

Fácil sincronização neh?


Java Resumo Modelos de Escalonamento

Java Resumo Modelos de Escalonamento. Linguagem Java.

Resumo:


– O modelo de escalonamento de threads em java não é definido por uma especificação, isso significa que o comportamento varia de plataforma(Nativa) para plataforma(Nativa) e claro a implementação da JVM.


– Java é uma plataforma independente, oque implica a não necessitar saber sobre detalhes de implementação da Plataforma Nativa POREM em alguns casos os detalhes importam!

– A maioria dos computadores tem apenas uma CPU disponível oque, acarreta em escalonamento de threads mediante ao core.

– O modelo de Prioridade, é realmente o único ao qual pode-se fazer Afirmação, Na implementação das Jvms, threads com maior prioridade terão preferência para se Tornarem Running do que thread de menor prioridade.

– threads de Mesma prioridade seguem em cada S.O. E cada implementação de JVM uma idéia diferente(um modelo Diferente), cabe ao programador fazer as manipulações certas.


– O S.O Realmente importa – Em alguns casos de acordo com o Sistema de escalonamento do S.O. sera como o seu programa multiThread se comportara, então fica melhor você garantir que seu programa funcionara de acordo, usando yield(), sleep() ,wait() noticy etc Isso para programas com mais de uma Thread Cpu Intensive



– Thread scheduling

Em programas multiThread, as threads dividem as CPUS. OU a JVM, ou o S.O. decide como dividir os CPUS e isso é conhecido como Thread scheduling. Seja a Jvm ou o S.O. é conhecido como Thread scheduling quem faz a divisão das CPUS(ou da CPU) ,o programador entra com “manipulações” dessas divisões das CPUs.


– Temos 3 tipos básicos de programas em nível de caracterização:

CPU intensive: Vários ciclos

I/O intensive: Aguarda I/O

Interactive: Evento



O escalonador de java é baseado na prioridade das threads. Isso significa que as threads são assinadas com uma certa prioridade, um valor inteiro positivo. APENAS O PROGRAMADOR pode trocar a prioridade. Ou seja se uma thread nasce com uma prioridade, mesmo que ela passe por todos os estados possíveis, ela morrerá com a mesma prioridade. – (Ou seja, 2 threads, A prioridade 5, B prioridade 6, A esta Running, B entra em Runnabl(b.start()) A e B vão para o Pool de threads Runnable, e a thread que será dada a CPU é para B, pois tem maior prioridade)-

– Temos 2 tipos de modelos de implementação de threads:


*The green-thread model – as threads são gerenciadas somente pela JVM.É o modelo mais comum.


*The native-thread model – as threads são gerenciadas pelo S.O. que é hosta da JVM(O escalonador do S.O.)


– QUANDO DEVO TOMAR CUIDADO?


– Quando tenho mais de um CPU-Intensive no programa

– Quando resultados parciais são importantes, ainda mais se eles forem compartilhados

– Quando threads não estão fazendo tarefas associadas; as threads estão fornecendo tarefas separadas que vão se integrando, ou empregando um paradigma de round-robin scheduling(Um programa de servidor que responde a requisições de diferentes usuários) ou empregando um paradigma de Escalonador(um servidor que processa requisições de usuários )




– QUANDO ACONTECE A MUDANÇA DE UMA THREAD PARA OUTRA?

NESSES CASOS:

* Uma thread de prioridade maior entre na historia

* yield() seja invocado, stop(), ou run() termine o code_blocK

* Ou em um sistema que suporte time-slicing diga que o tempo de uso terminou.


– Quando configurar a prioridade de threads é importante?

– Quando temos apenas uma CPU intensive thread(ou uma CPU somente na máquina)

– resultados intermediários são importantes

– Oque são resultados intermediários?

Ex: Temos uma thread CPU intensive(que tem um loop, que faz contas e a cada loop ele mostra para o user o resultado) e temos um thread Interactive(que fica esperando uma ação do usuário, claro temos que fazer os 2 ao mesmo tempo), então a thread que é CPU intensive ao fazer uma conta, mostra para o user o resultado(so que ela faz essa conta “n” vezes), porem cada resultado é importante, não somente o resultado final na 1x que faz a conta sai o resultado para o user, na 2x que faz a conta sai o resultado para o user, na 3x que faz a conta sai o resultado para o user e assim por vez Isso enquando a thread de INTERACTIVE não recebeu nenhum evento isso que é chamado de resultado intermediario.



Round-robin é um algoritmo de escalonamento usado em computadores no qual um número determinado de processos ocorrem com um intervalo de tempo também determinado. – Ele usa aquele conceito de lista, oque estiver em cima é executado e vai para o fundo.(ELE É implementando em alguns S.O.) Dele deriva também o termo de Time-Slicing(Falando em quesitos de thread e implementação da JVM de recursos do S.O.).


Time-slicing é um termo que vem de múltiplas threads no estado “Runnable” de mesma prioridade que são as de mais alta prioridade no sistema e estão competindo pela CPU(ou seja um pc só com uma CPU, e elas querem se tornar RUNNING).


– Quando uma thread é criada, a thread herda a prioridade da thread que a criou. Você pode modificar a prioridade de uma thread a qualquer momento usando o setPriority().


– USER LEVEL THREADS X SYSTEM LEVEL THREADS:


Em grande parte dos S.O., o S.O é dividido em duas partes: User level e System level. O KERNEL do S.O. é quem responde as System level threads e também é quem representa o S.O. em chamadas de programas que rodam em User level.


Quando um programa do user quer ler um arquivo, por exemplo, o programa tem que fazer uma chamada ao kernel do S.O. o qual, lera os dados e retornara ao programa. Porque disso?

SE um programa fizer uma operação ilegal de sistema, antes disso ocorrer passa pelo kernel do S.O. oque ja sabe oque esta ocorrendo e termina o programa antes que afete outros programas ou o próprio S.O.

Por causa dessa separação é possível ter user leve threads, system level threads ou ambos independentemente.


– O GREEN MODEL:

* Normalmente são chamadas de user – level thread

* Não usa habilidades particulares a um S.O.

* Não suportam threads Nativas

* Esta na maior parte de S.O. derivado de UNIX(Embora grande parte do S.O tambem suportem native-thread model)

* As threads não são conhecidas pelo S.O – Somente a JVM sabe e gerencia

* So podemos executar uma thread por vez na CPU -Consequentemente não pegam as vantagens de multi processadores(Tendo eles ou não).

* A troca de uma thread no modelo green é muito mais rapida doque em native


– O NATIVE-THREAD MODEL:

* Normalmente chamadas de System – level thread

* Usa as habilidades nativas do S.O. para gerenciar Sistemas multiThread. Faz como de threads processos.

* Permite TimeSlicing( Atraves do escalonador do S.O. Round-robin)

* São threads que obtem do S.O. nativo algumas funcionabilidades e ajudas no processamento.

* Usa o escalonador do Sistema operacional

* Dependendo de cada S.O. as native – threads trabalham de uma maneira diferente.



Qual a diferença entre Native e Green Model?

– ISSO EM LINUX


# Em threads Nativas, a troca de uma thread a outra fica a encargo do escalonador do S.O. (de processos ex: Round-robin) em Green model não temos timeSlicing conseqüentemente também não o Round-robin(ou seja em Green Model uma thread so passa para a outra se for explicitamente dito Thread.yield(), Object.wait(), etc. Ou bloqueando código read() etc)


# Em maquinas com Múltiplas CPUs, threads nativas podem rodar simultaneamente em mais de uma CPU. No green Model todas as threads Rodam na mesma CPU.


#Threads Nativas dão aparência de muitos processos sendo executados: Cada thread tem a sua entrada na tabela de processos do S.O.


Um programador pode determinar se o S.O usará o modelo de green threads ou System threads?


Não. O usuário pode decidir a qual pacote escolher , porem uma vez executada a thread o usuário não pode alternar de green para system e vice versa.


Como posso programar de uma maneira que seja legal a ambos, Green e Native?

Tome algumas iniciativas de “manipulação” do Escalonador, do tipo use :

yield(), sleep (),wait(), noticy() etc De uma maneira que você se responsabiliza pelo seus atos.


Como criar uma native thread?

A Jvm cria a thread chamando Apis de OS-level.


– De tudo que observamos sobre Green e System, vemos que a escolha do pacote realmente fará a diferença, porem a mais importante é conhecer o Sistema Nativo a qual o programa multiThread será executado, pois dai tiramos um embasamento pela arquitetura do S.O e das CPUs.


– A JVM não faz timeSlicing


– Porem o S.O pode suportar TimeSlicing – Através de algoritmos como o Round – robin


– Não faça programas que confiem em TimeSlicing


– Em muitos S.O. quando temos threads de mesma prioridade no Pool de Runnable, o a JVM implementa o uso Round-robin em alguns sistemas operacionais, outros usam outros modelo de thread, ou propriamente somente o de Prioridade.


– Sistemas operacionais como windows, não tem implementação do Green model, portanto todas as threads são vistas como native thread(ou seja todas as threads são tratadas como processo e como uma native thread). – toda thread em windows é tratada como native


– Em sistemas derivados de Unix(linux etc) pode-se implementar tanto green thread como native thread.


Oque mudará se você terá green or native, é a implementação do seu código, e os packages que você usar.


CPU Starvation(inanição) é quando uma thread fica no estado de RUNNABLE muito tempo e existe pouca possibilidade dela se tornar RUNNING, normalmente pela prioridade das outras threads que estão com ela.(a dela é menor que as outras.)

– Normalmente em threads de mesma prioridade a Jvm implementa o Round-robin do S.O.


Existe uma API, java.util.concurrenty; ONDE TEMOS NOVAS IMPLEMENTAÇÕES PARA threads, alem de utilitários para a construção, REALMENTE VALE A PENA CONFERIR.

BOM voltaremos agora a Básicos threads 03


Java Promoção tipos Primitivos cast Pass by value

Java Promoção tipos Primitivos cast Pass by value. Linguagem Java. Sumário:Cast, Promoção, Pass by Value

Regra básica:
1-
Em Tipos Primitivos Inteiros , int é Default.
2- Em Tipos Primitivos Ponto – Flutuante, double é Default.


Por facilidade trabalharemos nesse tutorial com os valores em decimal, Porem lembre-se que tipos primitivos em java trabalham com bits em si, oque seria:

Exemplos Java,Linguagem Java, Programação, JavaNo caso, o tipo int tem 32 bits, so representei 8 porque antes dele será adicionado somente 0 para chegar em 32 ou seja:
0000 0000 0000 0000 0000 0000 0001 0100, e eu coloquei: 0001 0100

<p>
  </font>
</p>

<p>
  <font style="font-weight: bold;" size="4">Princípios Básicos de Acontecimento de erros:</p> 

  <p>
    </font><font face="arial"> <font style="font-weight: bold;"> A Atribuição de valores de uma expressão a outra pode</font> dar incompatibilidade de dados entre os dados da expressão e os dados armazenados. Para Resolver esse problema, Podemos ou promover(Promotion) os dados da expressão ou converter(cast) os dados da expressão.</font>
  </p>

  <p>
    <font style="font-weight: bold;" face="arial">Exemplo:</font>
  </p>

  <p>
    <font face="arial">int a = 2;</font><br /><font face="arial">int b = 5;</font><br /><font face="arial"><font style="font-weight: bold;">byte c </font>= a + b; -> Dará um Erro de compilação.</font>
  </p>

  <p>
    <font style="font-weight: bold;" face="arial">Ilustrando:</font>
  </p>

  <p>
    </font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp-tfsBBCQI/AAAAAAAAALU/b3J3BZ6_10c/s1600-h/ErroCompilacao.png"><img style="cursor: pointer; width: 303px; height: 320px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp-tfsBBCQI/AAAAAAAAALU/b3J3BZ6_10c/s320/ErroCompilacao.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377207240006633730" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><br /><font style="font-weight: bold;">Clique na imagem para ampliar</font></p> 

    <p>
      <font style="font-weight: bold;" size="5" face="arial">Como arrumar este problema?</font>
    </p>

    <p>
      <font style="font-weight: bold;">1- </font><br /><font face="arial">int a = 2;</font><br /><font face="arial">int b = 5;</font><br /><font face="arial"><font style="font-weight: bold;">int c </font>= a + b; // Temos um int recebendo a soma de int</font>
    </p>

    <p>
      <font style="font-weight: bold;" face="arial">ou</font>
    </p>

    <p>
      <font style="font-weight: bold;">2- </font><br /><font face="arial">int a = 2;</font><br /><font face="arial">int b = 5;</font><br /><font face="arial">byte c = <font style="font-weight: bold;">(byte)</font>(a + b); // Temos um byte recebendo o cast de uma expressão para byte</font>
    </p>

    <p>
    </p>

    <h2>
      Java Promoção tipos Primitivos cast Pass by value
    </h2>

    <p>
      <font style="font-weight: bold;" size="5" face="arial">Promoção:</font>
    </p>

    <p>
      <font face="arial"> Em algunas casos, o compilador Promove , a expressão ou o Operando em um tipo Maior(do mesmo tipo da Variavel de atribuição)Isso é referênciado como Promoção, <font style="font-weight: bold;">ocorre automaticamente pelo compilador se não houver perda de dados.</font></font>
    </p>

    <p>
      <font face="arial"> O local de Armazenamento em memória, sempre tem o tamanho igual ao tipo Armazenado, Se tenho a Declaração de uma variável Local, ela terá o tamanho do tipo Declarado, ex:</font>
    </p>

    <p>
      <font face="arial"><font style="font-weight: bold;">byte </font>minhaVariavel; -> Aqui o espaço de memoria aguenta no máximo <font style="font-weight: bold;">8 bytes</font></font>
    </p>

    <p>
      <font face="arial"><font style="font-weight: bold;">Vamos a um exemplo:</font></p> 

      <p>
        </font><font face="arial"> <font style="font-weight: bold;">Declaro uma variavel local:</p> 

        <p>
          </font></font><font face="arial"> <font style="font-weight: bold;">int</font> <font style="font-weight: bold;">minhaVariavel</font> = 20;</font>
        </p>

        <p>
          <font face="arial"> <font style="font-weight: bold;">No mesmo escopo, atribuo o valor da minha variavel a Outra:</font></p> 

          <p>
            </font><font face="arial"> <font style="font-weight: bold;">float</font> minhaOutraVariavel = <font style="font-weight: bold;">minhaVariavel</font>;</font>
          </p>

          <p>
            <font face="arial">Acabou de ocorrer Promoção, de <font style="font-weight: bold;">int</font>(Tipo <font style="font-weight: bold;">Inteiro</font>) para <font style="font-weight: bold;">float</font>(Tipo <font style="font-weight: bold;">Ponto- Flutuante</font>), So que o valor da &#8211;<font style="font-weight: bold;"> minhaOutraVariavel &#8211; Será 20.0 e não 20</font>, pois agora ela é um Ponto-Flutuante;</font>
          </p>

          <p>
            </font><font style="color: rgb(0, 0, 0);" size="3"><br /></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sp-zWtJi90I/AAAAAAAAAL0/-ZMcL3aEbH4/s1600-h/coube01.png"><img style="cursor: pointer; width: 306px; height: 241px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sp-zWtJi90I/AAAAAAAAAL0/-ZMcL3aEbH4/s320/coube01.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377213682761791298" border="0" /></a><br /><font style="font-weight: bold;" face="arial">Clique na imagem para ampliar</font><br /><font style="color: rgb(0, 0, 0);" size="3"></p> 

            <p>
              <font style="font-weight: bold;" size="5" face="arial">Tipo Casting:</font><br /><font face="arial"> É quando um valor maior é convertido a um menor, ou o resultado de uma expressão é convertido.</font><br /><font face="arial"> <font style="font-weight: bold;">Use:</font> (tipo_cast)</p> 

              <p>
                </font><font face="arial"> <font style="font-weight: bold;">Cuidado ao usar cast,</font> a Conversão de dados é um contrato que você faz com o compilador dizendo:</font><br /><font face="arial"> &#8211; Olha compilador, eu me garanto pelo oque vier como resultado, eu sei oque estou fazendo.</font>
              </p>

              <p>
                <font style="font-weight: bold;" face="arial">Exemplo:</font>
              </p>

              <p>
                <font face="arial">int a = 2;</font><br /><font face="arial">int b = 5;</font><br /><font face="arial"><font style="font-weight: bold;">byte</font> c = <font style="font-weight: bold;">(byte)</font>(a + b);</p> 

                <p>
                  <font style="font-weight: bold;">Em bytecode temos:</p> 

                  <p>
                    </font></font></font><font style="font-weight: bold;" size="3"> Code:<br /></font><font size="3"> 0: iconst_2<br />1: istore_1 //</font><font style="color: rgb(0, 0, 0);" size="3"><font face="arial">int a = 2;</font></font><br /><font size="3"> 2: iconst_5<br />3: istore_2 //</font><font style="color: rgb(0, 0, 0);" size="3"><font face="arial">int b = 5;</font></font><br /><font size="3"> 4: iload_1 //2<br />5: iload_2 //5<br />6: iadd<br />7: i2b<br />8: istore_3</font><font style="font-weight: bold;" size="3"><br /></font><font style="color: rgb(0, 0, 0);" size="3"><font face="arial"></p> 

                    <p>
                      Vamos partir do ponto: </font></font><font style="color: rgb(0, 0, 0);" size="3"><font face="arial"><font style="font-weight: bold;">byte</font> c = <font style="font-weight: bold;">(byte)</font>(a + b) , Teremos isso em memória quando chegar nesse ponto,</font></font> e no bytecode acima estamos em iadd<br /><font style="color: rgb(0, 0, 0);" size="3"><font face="arial"><br /></font></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp-8eWkJKOI/AAAAAAAAAM8/osujnHbZrRU/s1600-h/cast.png"><img style="cursor: pointer; width: 320px; height: 131px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp-8eWkJKOI/AAAAAAAAAM8/osujnHbZrRU/s320/cast.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377223709742934242" border="0" /></a><br /><font style="font-weight: bold;">Clique na imagem para ampliar</font><br /><font style="color: rgb(0, 0, 0);" size="3"><br /><font style="font-weight: bold;">Após a soma de a e b :<br /></font></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sp--G-Z6fzI/AAAAAAAAANM/cHSmuXDT-oE/s1600-h/cast3.png"><img style="cursor: pointer; width: 320px; height: 151px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sp--G-Z6fzI/AAAAAAAAANM/cHSmuXDT-oE/s320/cast3.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377225507143843634" border="0" /></a><br /><font style="font-weight: bold;">Clique na imagem para ampliar</font>
                    </p>

                    <p>
                      <font style="color: rgb(0, 0, 0);" size="3"><font style="font-weight: bold;"><br />Agora sim vamos para o cast do RESULTADO:<br /></font><br /></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp-9BoScYsI/AAAAAAAAANE/Qr_zyZMXpU8/s1600-h/cast2.png"><img style="cursor: pointer; width: 320px; height: 157px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp-9BoScYsI/AAAAAAAAANE/Qr_zyZMXpU8/s320/cast2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377224315795956418" border="0" /></a><font style="font-weight: bold;"><br />Clique na imagem para ampliar</p> 

                      <p>
                        E finalmente o armazenamento:<br /></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sp--032JoEI/AAAAAAAAANU/t-g-c2Awp14/s1600-h/cast4.png"><img style="cursor: pointer; width: 320px; height: 231px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sp--032JoEI/AAAAAAAAANU/t-g-c2Awp14/s320/cast4.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377226295657209922" border="0" /></a><br /><font style="font-weight: bold;">Clique na imagem para ampliar</font>, ou seja c = 0000 0111 em decimal o valor 7
                      </p>

                      <p>
                        <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp-_RknseTI/AAAAAAAAANc/jqfRPV4fnKM/s1600-h/cast5.png"><img style="cursor: pointer; width: 320px; height: 169px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp-_RknseTI/AAAAAAAAANc/jqfRPV4fnKM/s320/cast5.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377226788712511794" border="0" /></a><br /><font style="font-weight: bold;"><br /></font><font style="font-weight: bold;">Clique na imagem para ampliar</font><br /><font style="font-weight: bold;"></p> 

                        <p>
                          </font><font style="color: rgb(0, 0, 0);" size="3"><font style="font-weight: bold;" size="5" face="arial">Outro exemplo:</font></p> 

                          <p>
                            <font face="arial">float f = 20.0002F;</font><br /><font face="arial">int i =<font style="font-weight: bold;"> (int) </font>f; //int i terá o valor de 20, Pois agora se tornou tipo Inteiro.</font>
                          </p>

                          <p>
                            <font style="font-weight: bold;" size="4" face="arial">Importante:</font><br /><font face="arial"> <font style="font-weight: bold;">É sempre bom colocar entre -( ) Parênteses &#8211; Toda a Expressão que será convertida:</font></font>
                          </p>

                          <p>
                            <font face="arial"> int x = 10;</font><br /><font face="arial"> int y = 20;</font><br /><font face="arial"> byte c = (byte) <font style="font-weight: bold;">(x + y);</font> -> <font style="font-weight: bold;">Compilação OK</font></font>
                          </p>

                          <p>
                            <font style="font-weight: bold;" face="arial">Sem parênteses:</font>
                          </p>

                          <p>
                            <font face="arial"> int x = 10;</font><br /><font face="arial"> int y = 20;</font><br /><font face="arial"> byte c = <font style="font-weight: bold;">(byte)x </font>+ y; -> <font style="font-weight: bold;">Erro de Compilação</font></font>
                          </p>

                          <p>
                            <font face="arial">Os operadores usam os valores como valor Default, oque ocorre nessa expressão é:</font><br /><font face="arial"><font style="font-weight: bold;">1 &#8211;</font> x é convertido para byte</font><br /><font face="arial"><font style="font-weight: bold;">2 &#8211;</font> É avaliado o operador(+), então x e y virão Default de Inteiros(int)</font><br /><font face="arial"><font style="font-weight: bold;">3 &#8211;</font> Soma-se x + y</font><br /><font face="arial"><font style="font-weight: bold;">4 &#8211;</font> <font style="font-style: italic;">Tenta-se Armazenar int em byte,</font> oque não é possível, <font style="font-weight: bold;">erro de Compilação.</font></font>
                          </p>

                          <p>
                            <font style="font-weight: bold;" size="5" face="arial">ATENÇÃO em Tipos Inteiros e Operadores:</font>
                          </p>

                          <p>
                            <font face="arial">Lembre-se e tenha atenção, OPERADORES(*,/,+,-,%) ELEVAM O TIPO DOS OPERANDOS EM int ou em tipos maiores se necessário ou se estiverem na expressão,</font><font face="arial">isso significa que se tivermos 2 Operandos em meio a um operador, Eles são convertidos<font style="font-weight: bold;"> a int antes mesmo de fazer o operador:</font></font>
                          </p>

                          <p>
                            <font face="arial">byte a = 2;</font><br /><font face="arial">byte c = 3;</font><br /><font face="arial">byte d = <font style="font-weight: bold;">a + c; -> Erro de Compilação, a e c serão convertidos a int antes do Operador.</font></font>
                          </p>

                          <p>
                            <font face="arial"><font style="font-weight: bold;">Nesse Exemplo, os Operandos a e c são convertidos para int por causa do Operador(+) </font>depois com o operador(= igual) tenta-se armazenar em um tipo byte(byte b) oque não é possível.</font>
                          </p>

                          <p>
                            <font style="font-weight: bold;" face="arial">Outro exemplo:</font>
                          </p>

                          <p>
                            <font face="arial"> <font style="font-weight: bold;">long x</font> = 10 + <font style="font-weight: bold;">24L</font> + 5;</font>
                          </p>

                          <p>
                            <font face="arial">Nesse caso os operadores não podem elevar os inteiros para int, sendo que um deles é long(24 L), sendo assim todos os Operadores <font style="font-weight: bold;">são avaliados para valores Maiores ou seja todos viram long.</font></font>
                          </p>

                          <p>
                            <font style="font-weight: bold;" size="5" face="arial">ATENÇÃO em Pontos Flutuantes:</font><br /><font face="arial"> Toda vez que se declara um valor do tipo float, deve-se especificar o f(ou F) ou fazer cast.</font>
                          </p>

                          <p>
                            <font face="arial"> float f = 0.0; -> <font style="font-weight: bold;">Erro de compilação, 0.0 é double(Default)</font></font>
                          </p>

                          <p>
                            <font face="arial"> float f = (float) 0.0 -> <font style="font-weight: bold;">cast, compilação OK</font></font>
                          </p>

                          <p>
                            <font face="arial"> float f = 0.0f -><font style="font-weight: bold;"> cast, compilação OK</font></font>
                          </p>

                          <p>
                            <font face="arial"> float f = 0.0F -> <font style="font-weight: bold;">cast, compilação OK</font></font>
                          </p>

                          <p>
                            <font style="font-weight: bold;" size="4" face="arial">Copia de valores(Pass &#8211; by &#8211; value):</font><br /><font face="arial"> Java trabalha com cópia de valores, isso significa que nenhum valor é retirado e sim COPIADO:</font>
                          </p>

                          <p>
                            <font face="arial">int x = 2;</font><br /><font face="arial">int c = x; -> <font style="font-weight: bold;">Os bits de 2 são copiados para &#8211; int c &#8211; e não retirados de &#8211; int x-</font></font>
                          </p>

                          <p>
                            <font style="font-weight: bold;" size="5" face="arial">Curiosidade:</font>
                          </p>

                          <p>
                            <font face="arial">&#8211; Quando usamos:</font>
                          </p>

                          <p>
                            <font face="arial">long l = 20;</font><br /><font face="arial">Isso é possível de ocorrer por causa da Promoção, 20 é do tipo int por Default dos valores Inteiros, long é maior que int, logo Promoção.</font>
                          </p>

                          <p>
                            <font style="font-weight: bold;" face="arial">Um Exemplo prático:</font>
                          </p>

                          <p>
                            <font face="arial">public class <font style="font-weight: bold;">MinhaClasse</font>{</font>
                          </p>

                          <p>
                            <font face="arial"> public static voi <font style="font-weight: bold;">main</font>(String array[]){</font><br /><font face="arial"> <font style="font-weight: bold;">int minhaInt</font> = 10;</font><br /><font face="arial"> <font style="font-weight: bold;">byte</font> minhaVariavel = <font style="font-weight: bold;">minhaInt</font>;</font>
                          </p>

                          <p>
                            <font face="arial"> }</font><br /><font face="arial">}</font>
                          </p>

                          <p>
                            <font style="font-weight: bold;" face="arial">Porque isso da erro de Compilação?<br />Pois estamos tentado armazenar um int em um byte, Esse int ja existe e ja foi armazenado portanto você esta carregando um valor com tamanho em bits já definido.</p> 

                            <p>
                              Vejamos mais a fundo:<br /></font><font face="arial"> O main será um frame em Runtime, então demonstramos Local Variable e Operand Stack do Frame dele.</font>
                            </p>

                            <p>
                              <font style="font-weight: bold;" face="arial">Você esta tentando fazer isso, Desenhando:</font>
                            </p>

                            <p>
                              </font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp-2LHbPGHI/AAAAAAAAAME/0yTWpur0y5g/s1600-h/LocalVariableHeap2.png"><img style="cursor: pointer; width: 320px; height: 191px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp-2LHbPGHI/AAAAAAAAAME/0yTWpur0y5g/s320/LocalVariableHeap2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377216782191761522" border="0" /></a><br /><font style="font-weight: bold;">Clique na imagem para ampliar</font><br /><font style="color: rgb(0, 0, 0);" size="3"></p> 

                              <p>
                                <font style="font-weight: bold;" size="5" face="arial">Oque é totalmente diferente disso:</font>
                              </p>

                              <p>
                                <font face="arial">public class <font style="font-weight: bold;">MinhaClasse</font>{</font>
                              </p>

                              <p>
                                <font face="arial"> public static voi main(String array[]){</font><br /><font face="arial"> byte <font style="font-weight: bold;">minhaVariavel</font> = 10;</font>
                              </p>

                              <p>
                                <font face="arial"> }</font><br /><font face="arial">}</font>
                              </p>

                              <p>
                                <font style="font-weight: bold;" face="arial">Agora você fez isso:</font></font>
                              </p>

                              <p>
                                <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_Abgo9HAI/AAAAAAAAANk/e_8sqElB4s8/s1600-h/LocalVariableHeap.png"><img style="cursor: pointer; width: 320px; height: 126px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_Abgo9HAI/AAAAAAAAANk/e_8sqElB4s8/s320/LocalVariableHeap.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377228058954374146" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><br /></font><font style="color: rgb(0, 0, 0);" size="3"><font style="font-weight: bold;" face="arial">Clique na imagem para Ampliar</p> 

                                <p>
                                  </font></font><font style="color: rgb(0, 0, 0);" size="3"><br /><font style="font-weight: bold;" size="5" face="arial">Resultando nisso:</font></p> 

                                  <p>
                                    </font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_Aga0tYJI/AAAAAAAAANs/8CbWKkfuXhY/s1600-h/LocalVariableHeap01.png"><img style="cursor: pointer; width: 320px; height: 136px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_Aga0tYJI/AAAAAAAAANs/8CbWKkfuXhY/s320/LocalVariableHeap01.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377228143292407954" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><br /><font style="font-weight: bold;" face="arial">Sendo index 1 da Local Variable a minhaVariavel.Clique na imagem para Ampliar</font></p> 

                                    <p>
                                      <font style="font-weight: bold;" size="5" face="arial">É hora da Revisão:</p> 

                                      <p>
                                        </font><font face="arial">&#8211; Em Tipos Primitivos, os valores são armazenado em bits</font><br /><font face="arial">&#8211; Em Tipos Primitivos Inteiros, int é Default</font><br /><font face="arial">&#8211; Em tipos Primitivos Ponto-Flutuante, double é Default</font><br /><font face="arial">&#8211; O tipo que estiver antes do (= igual) é o local que vai armazenar oque estiver depois do (= igual),<br /></font></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_Bqhd8gPI/AAAAAAAAAN8/lG3AOtw_YSY/s1600-h/esquerdadireita.png"><img style="cursor: pointer; width: 260px; height: 148px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_Bqhd8gPI/AAAAAAAAAN8/lG3AOtw_YSY/s320/esquerdadireita.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377229416386298098" border="0" /></a>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" size="3"><font face="arial">&#8211; Quando o valor que estiver a direita do igual(Operador = ) for menor que o da esquerda do igual(Operador = ) ocorre Promoção<br /></font></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sp_CzB3l5YI/AAAAAAAAAOE/xUWyaftOq0M/s1600-h/promocao.png"><img style="cursor: pointer; width: 306px; height: 163px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sp_CzB3l5YI/AAAAAAAAAOE/xUWyaftOq0M/s320/promocao.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377230662034384258" border="0" /></a>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" size="3" face="arial">&#8211; Quando o valor que estiver a direita do igual(Operador = ) for maior que o da esquerda do igual(Operador = ) deve-se fazer cast<br /></font><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_C6HqCzkI/AAAAAAAAAOM/GqSQEfGoYWY/s1600-h/castrevisao.png"><img style="cursor: pointer; width: 320px; height: 155px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp_C6HqCzkI/AAAAAAAAAOM/GqSQEfGoYWY/s320/castrevisao.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377230783847255618" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Clique na imagem para ampliar</font>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" face="arial">&#8211; Cuidado ao fazer cast, o valor pode perder o sentido, Lembre-se trabalhamos com bits ou seja são &ldquo;cortados&rdquo; para encaixar no outro tipo, vejamos:</font>
                                      </p>

                                      <p>
                                        <a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_EaQ2qYNI/AAAAAAAAAOU/oajsz5beqsA/s1600-h/castrevisao2.png"><img style="cursor: pointer; width: 320px; height: 267px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp_EaQ2qYNI/AAAAAAAAAOU/oajsz5beqsA/s320/castrevisao2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377232435583541458" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Clique na imagem para ampliar</font>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" face="arial">&#8211; Em cast de expressões use Parênteses &#8211; </font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">( ) &#8211; NA EXPRESSÃO:</font>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" face="arial">byte a = 2, b = 3;</font><br /><font style="color: rgb(0, 0, 0);" face="arial">byte c =</font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"> (byte) a</font><font style="color: rgb(0, 0, 0);" face="arial"> + b; -> Erro de compilação, por causa da Precedência e Do Operador SOMA(+) que faz com que a e b sejam int</font>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" face="arial">byte a = 2, b = 3;</font><br /><font style="color: rgb(0, 0, 0);" face="arial">byte c = </font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">(byte) (a + b)</font><font style="color: rgb(0, 0, 0);" face="arial">; -> Compilação OK</font>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" face="arial">&#8211; Importanção de variável ja armazenada é totalmente diferente de declarar um novo valor:</font>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" face="arial">int c = 3;</font><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">byte d = c;</font><font style="color: rgb(0, 0, 0);" face="arial"> -> erro de compilação</font>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" face="arial">byte </font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">d = 3; </font><font style="color: rgb(0, 0, 0);" face="arial">-> O valor será realmente definido com 8 bits após ser armazenado</font>
                                      </p>

                                      <p>
                                        <font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial">&#8211; Toda vez que tiver Operadores(+,-,%,*,/) Tome cuidado nos tipos Inteiros pois,Os Operandos são transformados em int ou se necessário em tipos Maiores</p> 

                                        <p>
                                          </font><font style="color: rgb(0, 0, 0);" face="arial">&#8211; Em tipos Ponto-Flutuantes float, sempre faça cast, com (f ou F) ou (float) pois double é Default</p> 

                                          <p>
                                            </font><font style="color: rgb(0, 0, 0);" face="arial">&#8211; Java trabalha com Pass-by-value ou seja, O valor é Copiado e não substituido</font>
                                          </p>

                                          <p>
                                            <font style="color: rgb(0, 0, 0);" face="arial">Bom é só isso, Próximo Post Variáveis de Referência.</font><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Cya Dudes!!!</font>
                                          </p>

                                          <p>
                                            </font>
                                          </p>

Java Princípios Básicos Voce Tem que saber

Java Princípios Básicos Voce Tem que saber. Linguagem Java.

Princípios Básicos:

São Conceitos e ou você os tem, ou nem sabe por onde começar !!!

Oque é Lógica de programação?Tudo abaixo faz parte dessa Técnica

É técnica de encadear pensamentos para atingir um determinado escopo(pré definido). Ela é apenas conceitual diríamos assim!

Oque é Lógica?

Maneira de raciocinar particular a um indivíduo ou a um grupo, que gera uma seqüência coerente com a finalidade de obter uma solução prática eficaz para um escopo.

Oque é Programa?

É um algoritmo em uma linguagem de programação

Oque é um processo?

É basicamente um programa em execução, quando você manda executar ou interpretar o seu programa o Sistema Operacional trata ele como um processo. Todo S.O tem um monitor de Sistema onde existe a aba de processo que, você’ encontra todos os processos(ou seja programas em execução)

no seu S.O

Oque é um Sistema?

É um conjunto de programas.

Oque é Algoritmo?

Seqüência finita de instruções com um escopo previamente determinado

Oque são instruções?

São determinações de ações que serão tomadas a partir do que você determinou, é um ordem

Oque é escopo?

Também conhecido como domínio do problema, é o objetivo ao qual você se propõe a resolver, é o objetivo final.

Oque é Seqüência Lógica?

É um passo a passo ordenado de instruções a fim de resolver o escopo do problema.

Oque é Pseudocódigo?

É uma maneira genérica de escrever algoritmos sem a necessidade de conhecer nenhuma linguagem de programação.

Oque é Teste de mesa?

É fazer o teste do seu programa antes de implementá lo e contrabater com o escopo do problema e ver ser o escopo final atende ao escopo inicial.

Oque é Linguagem de programação?

É um idioma com Sintaxe e gramática própria que faz o intermédio entre a linguagem falada pelos humanos e a linguagem falada por máquinas(binário).

RESUMINDO

Você cria instruções em uma linguagem de programação, ordena em uma seqüência lógica e isso é o seu programa.

Oque é Paradigma de Programação?

  • Modelo, padrão ou estudo de programação suportado por linguagens que agrupam certas características comuns

A Classificação de linguagens em paradigmas é uma conseqüência de decisões de projeto que muda a forma como a aplicação será modelada no ponto de vista computacional

  • EXEMPLO JAVA é do PARADIGMA DAS LINGUAGENS ORIENTADAS A OBJETOS

Oque são Tradutores?

O computador só entende linguagem binário logo usamos para Programar Linguagens que abstraem o código binário e criam um estrutura mais amigável ao ser Humano Mesmo porque ninguém consegue programar em Binário pois bem, Então precisamos de algo que TRADUZA da linguagem que escrevemos para a Linguagem de máquina:

  • Compilador : É um programa ou um conjunto de programas que a partir de um código Fonte(Código escrito em alguma linguagem de programação) cria um outro programa esse, com mesma instruções porem em novo código.

Interpretador: Lê código fonte e os vai executando

  • RunTime: É a máquina Virtual faz a emulação de um outro S.O. no seu S.O, falaremos mais disso DEPOIS ainda não é o momento.

Porque os computadores trabalham com binários?

Porque os circuitos que compõem o computador tratam apenas de abrir ou fechar um caminho para a energia passar ou ou trafegar, desta forma vários caminhos abertos e fechados compõem uma informação com bilhões de combinações. O princípio básico é:

Quanto mais simples a solução mas rápida a resolução então fica muito mais fácil ligar com 0 e 1(ligado e desligado, pode ou não etc.), e também pelo fato de debugar erros, em uma transação de dados caso ocorra algum erro o receptor tem a condição se corrigir o erro já que: Se não é 0, é 1!!!

Oque são Binários?

Os computadores entendem PULSOS elétricos , positivos ou negativos que são representados por bits.

Oque é um bit?

É a representação desses pulsos em números 0 ou 1

Oque é um byte?

1 byte = 8 bits

Porque do nome Computador?

Antigamente o nome “computador” era um título de trabalho, uma profissão(predominantemente desempenhada por mulheres), os detentores dessa profissão se encarregavam de efetuar cálculos repetitivos. Como era um trabalho manual, a lentidão e os erros eram imensos. Por isso, durantes anos os cientistas procuravam formas de mecanizar isso.

Então a principal característica dos computadores e o que os distingue das outras máquinas, é que podem ser programados. Isso significa que um algoritmo escrito em uma linguagem de programação pode ser armazenado em memoria e executado posteriormente. A pessoa que gera algoritmos em uma linguagem de programação(ou seja da instruções ordenadas com um escopo pré determinado) a um computador é CHAMADO DE PROGRAMADOR.

Basicamente oque faz um processador?

Não vou me ater a muitos fatos, vou dizer oque realmente importa ao momento. O processador é o cérebro do computador, ele que executa (ou “processa”) todas as ações que você faz no seu computador. Ele trabalha com linguagem binária e transforma tudo em binário

Basicamente oque faz a memoria RAM?

É chamada de memória volátil, esta diretamente ligada ao processador. Ela armazena dados aos quais o processador esta trabalhando no momento.

Basicamente oque faz a memoria Secundaria?

É uma memoria não volátil, é ligada diretamente a Memoria RAM. DADOS A LONGO PRAZO.

Oque é Codificar?

É pegar o seu PseudoCódigo e começar a escreve-lo na Linguagem a qual você deseja.

Oque é Debug?

Na maioria das vezes, depois do programador ter escrito o programa, este poderá não estar funcionando 100% no início. O programador deve corrigir o programa no caso de erros(também conhecidos como Erros de Compilação) que ocorrem no programa. Esse processo é chamado de depuração de erros(debug).

Oque são erros de Compilação?

Erros de Sintaxe do código, ou seja você escreveu algo errado

Oque são erros de Tempo de Execução?

São erros de lógica. Você fez a Sintaxe do código certa, porem erro na lógica.

Oque é Metodologia?

São “formas” a serem seguidas visando uma melhoria no processo de Criação de seus sistemas

ex: RUP,XP, SCRUM,

Conceitos Básicos sobre linguagens de Programação:

já sabemos oque é uma linguagem de programação , agora vamos ver alguns conceitos, podemos classifica-las como:

Quanto ao paradigma

Diferentes linguagens de programação podem ser agrupadas segundo o paradigma que seguem para abordar a sua sintaxe:

  • Linguagem funcional

  • Programação estruturada

  • Linguagem orientada a objetos

  • Linguagem natural

  • Programação lógica

  • Programação imperativa

Quanto à geração

  • Primeira geração, as linguagens de baixo nível (Assembly)

  • Segunda geração, as primeiras linguagens (Fortran, ALGOL, )

  • Terceira geração, as procedurais e estruturadas (Pascal, C).

  • Quarta geração, linguagens que geram programas em outras linguagens (Java, C++), linguagens de consulta (SQL).

  • Quinta geração, linguagens lógicas (Prolog).

Aspecto de estudo das Linguagens de programação:

  • Sintaxe = Gramática

  • Semântica = Significado

  • Pragmática(Paradigma)

Keep ur mind !!!

É só o básico para poder realmente intender oque vem por ai!!!

CYA DUDES!

Java Polimorfismo cast Objetos instanceof

Java Polimorfismo cast Objetos instanceof. Linguagem Java.

Sumário: Polimorfismo,Sobrescrita e Polimorfismo,Argumentos e Polimorfismo,cast de Objetos,instanceof

Objetos tem apenas uma forma aquela que lhe é dada quando ele é construído porem uma variável é polimórfica ou seja ela faz referência para diferentes objetos. Relembrando:

Como se declara uma variável de referência?

<p>
  </span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqer8tQcHzI/AAAAAAAAAY0/MIcXEg-PXqk/s1600-h/construtor.png"><img style="cursor: pointer; width: 320px; height: 146px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqer8tQcHzI/AAAAAAAAAY0/MIcXEg-PXqk/s320/construtor.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379457339346394930" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

  <p>
    Clique na imagem para ampliar</span> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;"></p> 

    <p>
      Quando eu crio um objeto oque realmente acontece?</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

      <p>
        </span><span style="color: rgb(0, 0, 0);font-family:arial;">Acontece a subida no topo da hierarquia do objeto, obtendo &#8211; se um objeto que tem tanto membros(Métodos, Atributos) próprios</span><span style="color: rgb(0, 0, 0);font-family:arial;"> quanto de todas as SuperClass da Hierarquia.</span> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"><br />Vejamos:</p> 

        <p>
          </span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sqeu2LOQ6lI/AAAAAAAAAZM/oMjdvNGYVFE/s1600-h/heranca.png"><img style="cursor: pointer; width: 320px; height: 204px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sqeu2LOQ6lI/AAAAAAAAAZM/oMjdvNGYVFE/s320/heranca.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379460525666134610" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

          <p>
            Clique na imagem para ampliar</span><span style="color: rgb(0, 0, 0);font-family:arial;">, Lembrando que Implicitamente escrito ou explicitamente Toda Classe que não tenha um SuperClasse explicitamente escrito tem java.lang.object Implicitamente ou Explicitamente escrito como SuperClasse.</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

            <p>
              Sabemos que se criarmos um objeto do tipo </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Chefe</span><span style="color: rgb(0, 0, 0);font-family:arial;">, ele terá todos os membros(Métodos e Atributos que todas as Hierarquias acima).</span> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;"></p> 

              <h2>
                Java Polimorfismo cast Objetos instanceof
              </h2>

              <p>
                Vejamos:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                <p>
                  new Chefe();</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                  <p>
                    <span style="font-size:130%;"><br /></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-size:130%;"><span style="font-weight: bold;">Vamos obter isso:</span></span></p> 

                    <p>
                      </span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqeyJCFpnmI/AAAAAAAAAZU/luf-5OrwDUs/s1600-h/objetoChefe.png"><img style="cursor: pointer; width: 315px; height: 320px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqeyJCFpnmI/AAAAAAAAAZU/luf-5OrwDUs/s320/objetoChefe.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379464148166483554" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                      <p>
                        Clique na imagem para ampliar</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">Ja deu para perceber que todo objeto Chefe tem:</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />Tudo que é de direito ao cargo, no caso </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">carroEmpresa</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />Chefe também </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">tem tudo que encarregado</span><span style="color: rgb(0, 0, 0);font-family:arial;"> tem no caso bonusSalarial e supervisionar()</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />Chefe também </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">tem tudo que Funcionário</span><span style="color: rgb(0, 0, 0);font-family:arial;"> tem no caso nome, salario e trabalhar()</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />Chefe também </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">tem tudo que java.lang.Object</span><span style="color: rgb(0, 0, 0);font-family:arial;"> tem</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Sendo assim vou abreviar para ficar mais facil o entendimento:</p> 

                        <p>
                          </span> <a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqe5_7TLvjI/AAAAAAAAAZc/rY0Kl0dSw0A/s1600-h/heapStackabreviado.png"><img style="cursor: pointer; width: 292px; height: 320px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqe5_7TLvjI/AAAAAAAAAZc/rY0Kl0dSw0A/s320/heapStackabreviado.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379472787818397234" border="0" /></a> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:130%;"><span style="font-weight: bold;"></p> 

                          <p>
                            Outro exemplo:
                          </p>

                          <p>
                            </span></span> <span style="color: rgb(0, 0, 0);font-family:arial;">Se Criar-mos um objeto <span style="font-weight: bold;">Funcionario</span>, Resumidamente teremos:</p> 

                            <p>
                              </span> <a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqe6D8p7OfI/AAAAAAAAAZk/WimKJl2bJwI/s1600-h/heapStackabreviado2.png"><img style="cursor: pointer; width: 320px; height: 260px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqe6D8p7OfI/AAAAAAAAAZk/WimKJl2bJwI/s320/heapStackabreviado2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379472856901695986" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"><br />Lembre-se que todo funcionário tem:</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />Oque é de direito ao cargo dele no caso : nome, salario e trabalhar()</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />E todo objeto Funcionário tem tudo que<span style="font-weight: bold;"> java.lang.Object </span>tem</span> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;"></p> 

                              <p>
                                Relação variável de referência e Objeto:</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"></p> 

                                <p>
                                  É aqui realmente que se encontra o Polimorfismo, de acordo com a palavra em si:<br /><span style="font-weight: bold;">Polimorfismo</span> = Muitas formas
                                </p>

                                <p>
                                  De acordo com a variável de referência você poderá acessar somente <span style="font-weight: bold;">OQUE FAZ PARTE DAQUELE TIPO DE OBJETO VEJAMOS:</p> 

                                  <p>
                                    Como Chefe é um Encarregado, ou seja é uma SubClasse da Classe Encarregado, Então isso é possível:
                                  </p>

                                  <p>
                                    </span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sqe9A7FibxI/AAAAAAAAAZ0/rLMyIQhK1Os/s1600-h/construtorPolimorfico.png"><img style="cursor: pointer; width: 320px; height: 143px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sqe9A7FibxI/AAAAAAAAAZ0/rLMyIQhK1Os/s320/construtorPolimorfico.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379476103475916562" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                    <p>
                                      Clique na imagem para ampliar</span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;"></p> 

                                      <p>
                                        <span style="font-size:130%;">Oque acabamos de fazer?</p> 

                                        <p>
                                          </span></span><span><span style="font-size:130%;"><span style="font-size:100%;">Aqui temos um objeto do tipo Chefe porem a variável aponta para o objeto do tipo Encarregado, OU SEJA ela somente pode usar tudo que um Encarregado tem <br />Um <span style="font-weight: bold;">chefe</span> é um <span style="font-weight: bold;">Encarregado</span><br />Porem um <span style="font-weight: bold;">Encarregado</span> não é um <span style="font-weight: bold;">chefe</p> 

                                          <p>
                                            Vejamos:
                                          </p>

                                          <p>
                                            </span></span></span></span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sqe-XNeXHOI/AAAAAAAAAZ8/yR6FGSNJmWM/s1600-h/heapStackabreviadoComVariavel.png"><img style="cursor: pointer; width: 320px; height: 216px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sqe-XNeXHOI/AAAAAAAAAZ8/yR6FGSNJmWM/s320/heapStackabreviadoComVariavel.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379477585880620258" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                            <p>
                                              Clique na imagem para ampliar</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;">Se você tentar acessar:</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                              <p>
                                                </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">identificador.carroEmpresa = true;</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Dará Erro de Compilação,</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Pois A variável de referência é do tipo Encarregado, E ENCARREGADO não tem carro da Empresa.</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                <p>
                                                  </span><span style="color: rgb(0, 0, 0);font-family:arial;">Se você tentar acessar:</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                  <p>
                                                    </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">identificador.trabalhar();</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Compilará Normalmente, </span><span style="color: rgb(0, 0, 0);font-family:arial;">Pois o método trabalhar é de Funcionário e a variavel de referência Aponta para o Encarregado do Objeto, e Encarregado é um </span><span style="color: rgb(0, 0, 0);font-family:arial;">Funcionário</span><span style="color: rgb(0, 0, 0);font-family:arial;">.</span> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:180%;"></p> 

                                                    <p>
                                                      Por isso chegamos a conclusão de:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:130%;"><span style="font-weight: bold;">Um objeto só tem uma forma porem a variável de referência pode apontar para qualquer forma dele.</span></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;"><span style="font-size:130%;"></p> 

                                                      <p>
                                                        <span style="font-size:180%;"><br /></span></span></span></span>
                                                      </p>

                                                      <div style="text-align: center;">
                                                        <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;"><span style="font-size:130%;"><span style="font-size:180%;">Sobrescrita e Polimorfismo:</span></span></span></span>
                                                      </div>

                                                      <p>
                                                        <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span><span style="font-size:130%;"><span style="font-size:180%;"><span style="font-size:100%;"><br />Muita atenção em Sobrescrita e Polimorfismo,<br /></span></span></span></span><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><br />Vejamos o exemplo:</p> 

                                                        <p>
                                                          public class <span style="font-weight: bold;">Funcionario</span>{
                                                        </p>

                                                        <p>
                                                          public void <span style="font-weight: bold;">metodo</span>(){<br />System.out.println(&ldquo;<span style="font-weight: bold;">Funcionario</span>&rdquo;);
                                                        </p>

                                                        <p>
                                                          }
                                                        </p>

                                                        <p>
                                                          }
                                                        </p>

                                                        <p>
                                                          public class <span style="font-weight: bold;">Gerente</span> extends <span style="font-weight: bold;">Funcionario</span>{
                                                        </p>

                                                        <p>
                                                          </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;">public void <span style="font-weight: bold;">metodo</span>(){<br />System.out.println(&ldquo;<span style="font-weight: bold;">Gerente</span>&rdquo;);</p> 

                                                          <p>
                                                            }</span></span></span></span></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                                            <p>
                                                              }
                                                            </p>

                                                            <p>
                                                              public class <span style="font-weight: bold;">TestClass</span>{
                                                            </p>

                                                            <p>
                                                              public static void <span style="font-weight: bold;">main</span>(String array [ ]){
                                                            </p>

                                                            <p>
                                                              <span style="font-weight: bold;">Funcionario</span> funcionario = new <span style="font-weight: bold;">Funcionario</span>();<br /><span style="font-weight: bold;">funcionario.metodo();</span>
                                                            </p>

                                                            <p>
                                                              <span style="font-weight: bold;">Gerente</span> gerente = new <span style="font-weight: bold;">Gerente</span>();<br /><span style="font-weight: bold;">gerente.metodo();</span>
                                                            </p>

                                                            <p>
                                                              }
                                                            </p>

                                                            <p>
                                                              }</span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                                              <p>
                                                                </span></span></span></span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqpLALnrEJI/AAAAAAAAAaM/q7V2qePW0E4/s1600-h/heranca4.png"><img style="cursor: pointer; width: 320px; height: 203px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqpLALnrEJI/AAAAAAAAAaM/q7V2qePW0E4/s320/heranca4.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5380195171338752146" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                <p>
                                                                  </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Clique na imagem para ampliar</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                  <p>
                                                                    Em </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;">funcionario.metodo(); Aparecerá:<br />Funcionario<br /></span></span></span></span></span></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;"></p> 

                                                                    <p>
                                                                      Em </span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;">gerente.metodo(); Aparecerá:<br />Gerente</p> 

                                                                      <p>
                                                                        Podemos ver dessa forma também:
                                                                      </p>

                                                                      <p>
                                                                        </span></span></span></span></span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqpSO04RN2I/AAAAAAAAAaU/tPCN5MTqIog/s1600-h/Exemplo07.png"><img style="cursor: pointer; width: 320px; height: 248px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqpSO04RN2I/AAAAAAAAAaU/tPCN5MTqIog/s320/Exemplo07.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5380203119513778018" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                        <p>
                                                                          Clique na imagem para ampliar</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:180%;"></p> 

                                                                          <p>
                                                                            Porem isso não acontece aqui:</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;"><br /></span><br />Temos uma diferença seria quando existe Sobrescrita de método e Polimorfismo<span style="font-weight: bold;"><br /></span></p> 

                                                                            <p>
                                                                              public class <span style="font-weight: bold;">Funcionario</span>{
                                                                            </p>

                                                                            <p>
                                                                              public void <span style="font-weight: bold;">metodo</span>(){<br />System.out.println(&ldquo;<span style="font-weight: bold;">Funcionario</span>&rdquo;);
                                                                            </p>

                                                                            <p>
                                                                              }
                                                                            </p>

                                                                            <p>
                                                                              }
                                                                            </p>

                                                                            <p>
                                                                              public class <span style="font-weight: bold;">Gerente</span> extends <span style="font-weight: bold;">Funcionario</span>{
                                                                            </p>

                                                                            <p>
                                                                              public void <span style="font-weight: bold;">metodo</span>(){<br />System.out.println(&ldquo;<span style="font-weight: bold;">Gerente</span>&rdquo;);
                                                                            </p>

                                                                            <p>
                                                                              }
                                                                            </p>

                                                                            <p>
                                                                              }
                                                                            </p>

                                                                            <p>
                                                                              </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;">public class TestClass{</p> 

                                                                              <p>
                                                                                </span><span>public static void <span style="font-weight: bold;">main</span>(String array [ ]){</p> 

                                                                                <p>
                                                                                  <span style="font-weight: bold;">Funcionario</span> funcionario = new <span style="font-weight: bold;">Gerente</span>();<br />funcionario.<span style="font-weight: bold;">metodo</span>();
                                                                                </p>

                                                                                <p>
                                                                                  }
                                                                                </p>

                                                                                <p>
                                                                                  }</span><span style="font-weight: bold;"></p> 

                                                                                  <p>
                                                                                    Neste exemplo oque teremos na saída Padrão é:
                                                                                  </p>

                                                                                  <p>
                                                                                    Gerente
                                                                                  </p>

                                                                                  <p>
                                                                                    POR CAUSA DA SOBRESCRITA QUE ISSO ACONTECE
                                                                                  </p>

                                                                                  <p>
                                                                                    Em métodos sobrescritos na verdade obtém-se o comportamente associado ao objeto em tempo de EXECUÇÃO ou seja, invocamos o método do objeto gerente cujo sobrescreve o método da SuperClasse dele ou seja Funcionario.
                                                                                  </p>

                                                                                  <p>
                                                                                    PORTANTO CUIDADO COM INVOCAÇÃO DE MÉTODOS SOBRESCRITOS.
                                                                                  </p>

                                                                                  <p>
                                                                                    <span style="font-size:180%;"><br />Argumentos e Polimorfismo:</span></span><span><span style="font-size:180%;"><span style="font-size:100%;"></p> 

                                                                                    <p>
                                                                                      Você pode ter um Argumento de um tipo que seja uma SuperClasse e pode receber qualquer parâmetro que seja uma SubClasse dessa SuperClasse que esta como argumento.
                                                                                    </p>

                                                                                    <p>
                                                                                      <span style="font-weight: bold;">Vejamos:</span>
                                                                                    </p>

                                                                                    <p>
                                                                                      </span></span></span></span></span></span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sqplh465tQI/AAAAAAAAAak/sHbgYoGIUuY/s1600-h/ateroot.png"><img style="cursor: pointer; width: 320px; height: 207px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sqplh465tQI/AAAAAAAAAak/sHbgYoGIUuY/s320/ateroot.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5380224337737004290" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                      <p>
                                                                                        </span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">Clique na imagem para ampliar</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                        <p>
                                                                                          <span style="font-weight: bold;font-size:130%;">Vejamos em sintax java:</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                          <p>
                                                                                            </span><span style="color: rgb(0, 0, 0);font-family:arial;">public class </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Funcionario</span><span style="color: rgb(0, 0, 0);font-family:arial;">{</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                            <p>
                                                                                              public void </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">metodo</span><span style="color: rgb(0, 0, 0);font-family:arial;">(</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Object</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">argumento</span><span style="color: rgb(0, 0, 0);font-family:arial;">){</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                              <p>
                                                                                                }</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                <p>
                                                                                                  }</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                  <p>
                                                                                                    public class </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Encarregado</span><span style="color: rgb(0, 0, 0);font-family:arial;"> extends </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Funcionario</span><span style="color: rgb(0, 0, 0);font-family:arial;">{</span>
                                                                                                  </p>

                                                                                                  <p>
                                                                                                    <span style="color: rgb(0, 0, 0);font-family:arial;"></span><span style="color: rgb(0, 0, 0);font-family:arial;">}</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                    <p>
                                                                                                      public class </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Chefe</span><span style="color: rgb(0, 0, 0);font-family:arial;"> extends </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Encarregado</span><span style="color: rgb(0, 0, 0);font-family:arial;">{</span>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <span style="color: rgb(0, 0, 0);font-family:arial;">}</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                      <p>
                                                                                                        public class </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">ClassTest</span><span style="color: rgb(0, 0, 0);font-family:arial;">{</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                        <p>
                                                                                                          public static void main(String array[ ]){</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                          <p>
                                                                                                            Chefe chefe = new <span style="font-weight: bold;">Chefe</span>();</span> <span style="color: rgb(0, 0, 0);font-family:arial;"> </span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                            <p>
                                                                                                              Encarregado encarregado = new <span style="font-weight: bold;">Encarregado</span>();</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;"><br />Funcionario funcionario = new <span style="font-weight: bold;">Funcionario</span>();</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                              <p>
                                                                                                                chefe.metodo(<span style="font-weight: bold;">encarregado</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />chefe.metodo(<span style="font-weight: bold;">funcionario</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                <p>
                                                                                                                  encarregado.metodo(<span style="font-weight: bold;">chefe</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />encarregado.metodo(<span style="font-weight: bold;">funcionario</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                  <p>
                                                                                                                    funcionario.metodo(<span style="font-weight: bold;">chefe</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />funcionario.metodo(<span style="font-weight: bold;">encarregado</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"> </span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />}</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                    <p>
                                                                                                                      }</span> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;"></p> 

                                                                                                                      <p>
                                                                                                                        Quando fiz isso:</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                        <p>
                                                                                                                          Chefe chefe = new <span style="font-weight: bold;">Chefe</span>();</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                          <p>
                                                                                                                            Encarregado encarregado = new <span style="font-weight: bold;">Encarregado</span>();</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                            <p>
                                                                                                                              Funcionario funcionario = new <span style="font-weight: bold;">Funcionario</span>();
                                                                                                                            </p>

                                                                                                                            <p>
                                                                                                                              <span style="font-weight: bold;font-size:130%;">Obtive:</span>
                                                                                                                            </p>

                                                                                                                            <p>
                                                                                                                              </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqppticthgI/AAAAAAAAAas/JtjGi8z7q4w/s1600-h/maisnovo.png"><img style="cursor: pointer; width: 320px; height: 317px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqppticthgI/AAAAAAAAAas/JtjGi8z7q4w/s320/maisnovo.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5380228935909737986" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                              <p>
                                                                                                                                Clique na imagem para ampliar</span> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:180%;"></p> 

                                                                                                                                <p>
                                                                                                                                  POREM CUIDADO:</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"></p> 

                                                                                                                                  <p>
                                                                                                                                    Dentro do Frame </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">metodo</span><span style="color: rgb(0, 0, 0);font-family:arial;">(</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Object</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">argumento</span><span style="color: rgb(0, 0, 0);font-family:arial;">) eu estou me referênciando ao Objeto como se fosse um Object, oque implica em:</p> 

                                                                                                                                    <p>
                                                                                                                                      <span style="font-weight: bold;">Nesse exemplo:</span>
                                                                                                                                    </p>

                                                                                                                                    <p>
                                                                                                                                      </span><span style="color: rgb(0, 0, 0);font-family:arial;">funcionario.metodo(<span style="font-weight: bold;">chefe</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                      <p>
                                                                                                                                        Eu obtive:
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqprwIxi4eI/AAAAAAAAAa0/tQRKURURQ6U/s1600-h/maisnovo2.png"><img style="cursor: pointer; width: 320px; height: 202px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqprwIxi4eI/AAAAAAAAAa0/tQRKURURQ6U/s320/maisnovo2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5380231179580662242" border="0" /></a>
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">Clique na imagem para ampliar</span>
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        <span style="color: rgb(0, 0, 0);font-family:arial;">Oque Significa que eu SO TENHO ACESSO A PARTE java.lang.Object DO MEU OBJETO, ou seja desse Jeito eu não posso nem invocar:</span> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                        <p>
                                                                                                                                          argumento.metodo</span><span style="color: rgb(0, 0, 0);font-family:arial;">(</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Parametros</span><span style="color: rgb(0, 0, 0);font-family:arial;">); // Isso da erro de Compilação ja que argumento aponta PARA O TIPO java.lang.Object do Objeto.</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:130%;"></p> 

                                                                                                                                          <p>
                                                                                                                                            EM invocações:</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                            <p>
                                                                                                                                              chefe.metodo(<span style="font-weight: bold;">encarregado</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />chefe.metodo(<span style="font-weight: bold;">funcionario</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                              <p>
                                                                                                                                                encarregado.metodo(<span style="font-weight: bold;">chefe</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />encarregado.metodo(<span style="font-weight: bold;">funcionario</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                <p>
                                                                                                                                                  funcionario.metodo(<span style="font-weight: bold;">chefe</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />funcionario.metodo(<span style="font-weight: bold;">encarregado</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"> </span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                  <p>
                                                                                                                                                    <span style="font-weight: bold;">Simplesmente passei o endereço de memória referente ao objeto, nesse exemplo seria assim:</span>
                                                                                                                                                  </p>

                                                                                                                                                  <p>
                                                                                                                                                    </span><span style="color: rgb(0, 0, 0);font-family:arial;">encarregado.metodo(<span style="font-weight: bold;">funcionario</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">encarregado.metodo(<span style="font-weight: bold;">0xA3</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">chefe.metodo(<span style="font-weight: bold;">encarregado</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />chefe.metodo(<span style="font-weight: bold;">0xA2</span>);</p> 

                                                                                                                                                    <p>
                                                                                                                                                      </span><span style="color: rgb(0, 0, 0);font-family:arial;">funcionario.metodo(<span style="font-weight: bold;">chefe</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">funcionario.metodo(<span style="font-weight: bold;">0xA1</span>);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                      <p>
                                                                                                                                                        <span style="font-weight: bold;font-size:180%;">Cast de Objetos:</span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                                                                                                                                        <p>
                                                                                                                                                          Em algunas casos recebo como parametro uma referência de um objeto de uma SubClasse e como argumentos tenho uma classe que é SuperClasse dela, porem quero obter as funcionabilidades específicas da SubClasse, então posso fazer cast de OBJETOS.<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                          <p>
                                                                                                                                                            <span style="font-weight: bold;">Vejamos o exemplo:</span><br /><span style="font-weight: bold;">Lembrando</span> que toda classe que não é declarado explicitamente nenhuma SuperClass tem java.lang.Object como SuperClasse Primária.
                                                                                                                                                          </p>

                                                                                                                                                          <p>
                                                                                                                                                            </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq4ztVaBaLI/AAAAAAAAAa8/J6gbXDBqBoc/s1600-h/heranca2.png"><img style="cursor: pointer; width: 320px; height: 135px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq4ztVaBaLI/AAAAAAAAAa8/J6gbXDBqBoc/s320/heranca2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5381295458687740082" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                            <p>
                                                                                                                                                              Clique na imagem para ampliar</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                              <p>
                                                                                                                                                                public class <span style="font-weight: bold;">Funcionario</span>{
                                                                                                                                                              </p>

                                                                                                                                                              <p>
                                                                                                                                                                public void <span style="font-weight: bold;">metodo</span>(<span style="font-weight: bold;">Object argumento</span>){<br /></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Encarregado cast = (</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Encarregado</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">) argumento;</span></span> <span style="color: rgb(0, 0, 0);font-family:arial;">cast.<span style="font-weight: bold;">e</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">xclusivo</span>();</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />}</p> 

                                                                                                                                                                <p>
                                                                                                                                                                  }
                                                                                                                                                                </p>

                                                                                                                                                                <p>
                                                                                                                                                                  public class <span style="font-weight: bold;">Encarregado extends Funcionario</span>{
                                                                                                                                                                </p>

                                                                                                                                                                <p>
                                                                                                                                                                  public void <span style="font-weight: bold;">exclusivo</span>(){<br />System.out.println(&ldquo;Metodo Exclusivo&rdquo;);<br />}
                                                                                                                                                                </p>

                                                                                                                                                                <p>
                                                                                                                                                                  }<br /></span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                  <p>
                                                                                                                                                                    public class <span style="font-weight: bold;">TestClass</span>{
                                                                                                                                                                  </p>

                                                                                                                                                                  <p>
                                                                                                                                                                    public static void <span style="font-weight: bold;">main</span>(String array[ ]){<br /></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Encarregado referencia = </span>new<span style="font-weight: bold;"> </span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Encarregado();</span></span><br /><span style="color: rgb(0, 0, 0);font-family:arial;">referencia.metodo(</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">referencia</span><span style="color: rgb(0, 0, 0);font-family:arial;">);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                    <p>
                                                                                                                                                                      }<br />}<br /></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:180%;"><span style="font-size:100%;"></p> 

                                                                                                                                                                      <p>
                                                                                                                                                                        Vejamos oque acontece quando o </span></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;">referencia.metodo(</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">referencia</span><span style="color: rgb(0, 0, 0);font-family:arial;">); sobe o Frame </span><span style="color: rgb(0, 0, 0);font-family:arial;">.metodo(</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">referencia</span><span style="color: rgb(0, 0, 0);font-family:arial;">) na Stack de main:</p> 

                                                                                                                                                                        <p>
                                                                                                                                                                          Ao invocar </span><span style="color: rgb(0, 0, 0);font-family:arial;">referencia.metodo(</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">referencia</span><span style="color: rgb(0, 0, 0);font-family:arial;">) temos dentro do Frame:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">public void <span style="font-weight: bold;">metodo</span>(<span style="font-weight: bold;">Object argumento</span>):</p> 

                                                                                                                                                                          <p>
                                                                                                                                                                            </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq47tPjS9ZI/AAAAAAAAAbE/Ray5S--RH7g/s1600-h/this.png"><img style="cursor: pointer; width: 320px; height: 172px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq47tPjS9ZI/AAAAAAAAAbE/Ray5S--RH7g/s320/this.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5381304253209048466" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                            <p>
                                                                                                                                                                              Clique na imagem para ampliar</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-size:130%;">Nessa instrução:</p> 

                                                                                                                                                                              <p>
                                                                                                                                                                                </span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Encarregado </span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">cast</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;"> = (</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Encarregado</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">) argumento;</p> 

                                                                                                                                                                                <p>
                                                                                                                                                                                  Temos agora:
                                                                                                                                                                                </p>

                                                                                                                                                                                <p>
                                                                                                                                                                                  </span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sq5ABamwm7I/AAAAAAAAAbM/FyXV6IfDIvg/s1600-h/this2.png"><img style="cursor: pointer; width: 320px; height: 210px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sq5ABamwm7I/AAAAAAAAAbM/FyXV6IfDIvg/s320/this2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5381308997820259250" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Clique na imagem para ampliar</span><span style="color: rgb(0, 0, 0);font-family:arial;">, Sendo a posição 0 da Local Variable a referência a Constant Pool, posição 1 </span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">argumento , posição 2 </span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">cast.</p> 

                                                                                                                                                                                  <p>
                                                                                                                                                                                    Perceba na imagem acima,</span><span> que a variavel argumento tem acesso somente a parte java.lang.Object do nosso Objeto encarregado ja a variavel cast tem acesso a Parte Encarregado do nosso Objeto, ou seja a variavel cast TEM ACESSO A TUDO DO OBJETO, por isso é possível invocar </span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> <span style="font-weight: bold;">exclusivo</span>().</p> 

                                                                                                                                                                                    <p>
                                                                                                                                                                                      </span> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;">Operador instanceof:</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"></p> 

                                                                                                                                                                                      <p>
                                                                                                                                                                                        Simplismente uma maneira de ter certeza que o cast do Objeto é aceitável, vamos supor:
                                                                                                                                                                                      </p>

                                                                                                                                                                                      <p>
                                                                                                                                                                                        </span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sq5HGtrr3DI/AAAAAAAAAbU/6JZT2bAXqCo/s1600-h/heranca3.png"><img style="cursor: pointer; width: 320px; height: 135px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sq5HGtrr3DI/AAAAAAAAAbU/6JZT2bAXqCo/s320/heranca3.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5381316785421933618" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                        <p>
                                                                                                                                                                                          Clique na imagem para ampliar</span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"></p> 

                                                                                                                                                                                          <p>
                                                                                                                                                                                            public class <span style="font-weight: bold;">Funcionario</span>{
                                                                                                                                                                                          </p>

                                                                                                                                                                                          <p>
                                                                                                                                                                                            public void <span style="font-weight: bold;">metodo</span>(<span style="font-weight: bold;">Object variavelArgumento</span>){
                                                                                                                                                                                          </p>

                                                                                                                                                                                          <p>
                                                                                                                                                                                            Encarregado variavelCast = (<span style="font-weight: bold;">Encarregado</span>) variavelArgumento;<br /><span style="font-weight: bold;">variavelCast.</span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;">exclusivoEncarregado()</span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;">;</span></p> 

                                                                                                                                                                                            <p>
                                                                                                                                                                                              }<br />}
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              public class <span style="font-weight: bold;">Encarregado</span> extends <span style="font-weight: bold;">Funcionario</span>{
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              public<span style="font-weight: bold;"> void exclusivoEncarregado(){</span>
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              }<br />}
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              public class <span style="font-weight: bold;">ClasseSolta</span>{
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              }
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              public class <span style="font-weight: bold;">ClassTest</span>{
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              public static void <span style="font-weight: bold;">main</span>(String array[]){
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              <span style="font-weight: bold;">Encarregado</span> d = new <span style="font-weight: bold;">Encarregado</span>();<br />ClasseSolta <span style="font-weight: bold;">variavelSolta</span> = new ClasseSolta();
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              <span style="font-weight: bold;">d.metodo(variavelSolta);</span>
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              }<br />}
                                                                                                                                                                                            </p>

                                                                                                                                                                                            <p>
                                                                                                                                                                                              Isso gera um<span>a</span><span style="font-weight: bold;"> Exception. Vejamos:</p> 

                                                                                                                                                                                              <p>
                                                                                                                                                                                                Dentro da </span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;">ClassTest temos o método main nele , instanciamos um Objeto do tipo </span></span> <span style="color: rgb(0, 0, 0);font-family:arial;">ClasseSolta, como ClasseSolta é uma SubClasse de java.lang.Object Obtemos nessa instrução,</span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;">ClasseSolta <span style="font-weight: bold;">variavelSolta</span> = new ClasseSolta();// Ou seja na instanciação do Objeto</p> 

                                                                                                                                                                                                <p>
                                                                                                                                                                                                  <span style="font-weight: bold;">isso:</span><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;"></p> 

                                                                                                                                                                                                  <p>
                                                                                                                                                                                                    </span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq5ImFPibKI/AAAAAAAAAbc/4ZIiMyiO39c/s1600-h/ObjetoClasseSolta.png"><img style="cursor: pointer; width: 320px; height: 260px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq5ImFPibKI/AAAAAAAAAbc/4ZIiMyiO39c/s320/ObjetoClasseSolta.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5381318423833898146" border="0" /></a>
                                                                                                                                                                                                  </p>

                                                                                                                                                                                                  <p>
                                                                                                                                                                                                    <span style="color: rgb(0, 0, 0);font-family:arial;">Quando invocamos:</span>
                                                                                                                                                                                                  </p>

                                                                                                                                                                                                  <p>
                                                                                                                                                                                                    <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;">d.metodo(variavelSolta);</span></span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                    <p>
                                                                                                                                                                                                      Sobe-se o frame do método de assinatura:</span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;">public void <span style="font-weight: bold;">metodo</span>(<span style="font-weight: bold;">Object variavelArgumento</span>)</p> 

                                                                                                                                                                                                      <p>
                                                                                                                                                                                                        </span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sq6sSGctZQI/AAAAAAAAAbs/ADhgNsmsLCY/s1600-h/ProgramaProcesso2.png"><img style="cursor: pointer; width: 320px; height: 263px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sq6sSGctZQI/AAAAAAAAAbs/ADhgNsmsLCY/s320/ProgramaProcesso2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5381428031722972418" border="0" /></a>
                                                                                                                                                                                                      </p>

                                                                                                                                                                                                      <p>
                                                                                                                                                                                                        <span style="font-weight: bold;">Clique na imagem para ampliar</span>
                                                                                                                                                                                                      </p>

                                                                                                                                                                                                      <p>
                                                                                                                                                                                                        <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;">Então verfica-se o seguinte,<br /><span style="font-weight: bold;">variavelSolta é do tipo Object? </span></p> 

                                                                                                                                                                                                        <p>
                                                                                                                                                                                                          Sim variavelSolta tem uma referência a um objeto do tipo Object dentro dela também ou seja:
                                                                                                                                                                                                        </p>

                                                                                                                                                                                                        <p>
                                                                                                                                                                                                          </span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq5ImFPibKI/AAAAAAAAAbc/4ZIiMyiO39c/s1600-h/ObjetoClasseSolta.png"><img style="cursor: pointer; width: 320px; height: 260px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq5ImFPibKI/AAAAAAAAAbc/4ZIiMyiO39c/s320/ObjetoClasseSolta.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5381318423833898146" border="0" /></a>
                                                                                                                                                                                                        </p>

                                                                                                                                                                                                        <p>
                                                                                                                                                                                                          Seguindo Instruções:<br /><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;">Encarregado <span style="font-weight: bold;">variavelCast</span> = (<span style="font-weight: bold;">Encarregado</span>) <span style="font-weight: bold;">variavelArgumento</span>;<br />Da para a </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;">variavelCast apontar para a parte Encarregado do objeto ao qual </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;">variavelArgumento tem uma referência?</span></span>
                                                                                                                                                                                                        </p>

                                                                                                                                                                                                        <p>
                                                                                                                                                                                                          <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq6tUoBA5NI/AAAAAAAAAb0/vRzuxha-hco/s1600-h/variavelArgumento.png"><img style="cursor: pointer; width: 320px; height: 190px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq6tUoBA5NI/AAAAAAAAAb0/vRzuxha-hco/s320/variavelArgumento.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5381429174604981458" border="0" /></a>
                                                                                                                                                                                                        </p>

                                                                                                                                                                                                        <p>
                                                                                                                                                                                                          <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;">Não,</span> </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;">variavelArgumento é do tipo ClasseSolta que é uma SubClasse de java.lang.Object logo não tem um objeto do tipo Encarregado. Ate poderiamos fazer um cast para ClasseSolta.</p> 

                                                                                                                                                                                                          <p>
                                                                                                                                                                                                            <span style="font-weight: bold;">Veja como o compilador tentar ver:</span>
                                                                                                                                                                                                          </p>

                                                                                                                                                                                                          <p>
                                                                                                                                                                                                            </span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq5KU4RXzKI/AAAAAAAAAbk/-Xbeg21M5Os/s1600-h/ObjetoClasseSolta2.png"><img style="cursor: pointer; width: 320px; height: 191px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sq5KU4RXzKI/AAAAAAAAAbk/-Xbeg21M5Os/s320/ObjetoClasseSolta2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5381320327317408930" border="0" /></a> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"></p> 

                                                                                                                                                                                                            <p>
                                                                                                                                                                                                              Clique na imagem para ampliar,- Houve a tentativa de fazer cast para que a </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;">variavelCast</span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"> aponte para a parte Encarregado do objeto</span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"> </span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;">porem o objeto</span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"> é do tipo java.lang.Object e ClasseSolta</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">, como vou achar algo que ela não tem?</span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;"><br /></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;"></p> 

                                                                                                                                                                                                              <p>
                                                                                                                                                                                                                </span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-weight: bold;"><br />Agora se fizer isso:<br /></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">public class <span style="font-weight: bold;">Funcionario</span>{</span>
                                                                                                                                                                                                              </p>

                                                                                                                                                                                                              <p>
                                                                                                                                                                                                                <span style="color: rgb(0, 0, 0);font-family:arial;">public void </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">metodo</span><span style="color: rgb(0, 0, 0);font-family:arial;">(Object variavelArgumento){</span>
                                                                                                                                                                                                              </p>

                                                                                                                                                                                                              <p>
                                                                                                                                                                                                                <span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">if</span>(variavelArgumento </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">instanceof</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Funcionario){<br /></span> <span style="color: rgb(0, 0, 0);font-family:arial;">Encarregado variavelCast = (Encarregado) variavelArgumento;<br /></span> <span style="color: rgb(0, 0, 0);font-family:arial;">variavelCast.exclusivoFuncionario();</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                  }</span>
                                                                                                                                                                                                                </p>

                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                  <span style="color: rgb(0, 0, 0);font-family:arial;">}</span>
                                                                                                                                                                                                                </p>

                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                  <span style="color: rgb(0, 0, 0);font-family:arial;">}</span>
                                                                                                                                                                                                                </p>

                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                  <span style="color: rgb(0, 0, 0);font-family:arial;">public class <span style="font-weight: bold;">Encarregado</span> extends <span style="font-weight: bold;">Funcionario</span>{</span>
                                                                                                                                                                                                                </p>

                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                  <span style="color: rgb(0, 0, 0);font-family:arial;">public void <span style="font-weight: bold;">exclusivoFuncionario</span>(){</span>
                                                                                                                                                                                                                </p>

                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                  <span style="color: rgb(0, 0, 0);font-family:arial;">}</span>
                                                                                                                                                                                                                </p>

                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                  <span style="color: rgb(0, 0, 0);font-family:arial;">}</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                  <p>
                                                                                                                                                                                                                    public class </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">ClasseSolta</span><span style="color: rgb(0, 0, 0);font-family:arial;">{</span>
                                                                                                                                                                                                                  </p>

                                                                                                                                                                                                                  <p>
                                                                                                                                                                                                                    <span style="color: rgb(0, 0, 0);font-family:arial;">}</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                    <p>
                                                                                                                                                                                                                      public class </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">ClassTest</span><span style="color: rgb(0, 0, 0);font-family:arial;">{</span>
                                                                                                                                                                                                                    </p>

                                                                                                                                                                                                                    <p>
                                                                                                                                                                                                                      <span style="color: rgb(0, 0, 0);font-family:arial;">public static void <span style="font-weight: bold;">main</span>(String array[]){</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                      <p>
                                                                                                                                                                                                                        Encarregado <span style="font-weight: bold;">d</span> = new <span style="font-weight: bold;">Encarregado</span>();</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                        <p>
                                                                                                                                                                                                                          ClasseSolta <span style="font-weight: bold;">variavelSolta</span> = new ClasseSolta();</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;"><br />d.metodo(variavelSolta);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                          <p>
                                                                                                                                                                                                                            }</span>
                                                                                                                                                                                                                          </p>

                                                                                                                                                                                                                          <p>
                                                                                                                                                                                                                            <span style="color: rgb(0, 0, 0);font-family:arial;">}</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                            <p>
                                                                                                                                                                                                                              Reparte que em </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">ClassTest</span><span style="color: rgb(0, 0, 0);font-family:arial;"> invocamos:</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;"><br />d.metodo(variavelSolta);</span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />Sobe-se o frame do metodo de assinatura:</span> <span style="color: rgb(0, 0, 0);font-family:arial;">public void </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">metodo</span><span style="color: rgb(0, 0, 0);font-family:arial;">(Object variavelArgumento)</p> 

                                                                                                                                                                                                                              <p>
                                                                                                                                                                                                                                Faz-se a verificação, o objeto </span><span style="color: rgb(0, 0, 0);font-family:arial;">ClasseSolta a qual a variavel de referencia </span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">variavelSolta<br />aponta é do tipo Object também? SIM!</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                                  Então entra-se na lógica do método:
                                                                                                                                                                                                                                </p>

                                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                                  </span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">if</span>(variavelArgumento </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">instanceof</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Funcionario)</p> 

                                                                                                                                                                                                                                  <p>
                                                                                                                                                                                                                                    variavelArgumento aponta para um objeto do tipo ClasseSolta, essa ClasseSolta é uma SubClasse de Funcionario?<br />A resposta é não, porem existe uma lógica de tratamento então simplesmente o programa não executa o bloco de código do if, <span style="font-weight: bold;">porem NÃO DA EXCEPTION.</p> 

                                                                                                                                                                                                                                    <p>
                                                                                                                                                                                                                                      </span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Dicas sobre cast:</span></p> 

                                                                                                                                                                                                                                      <p>
                                                                                                                                                                                                                                        1 &#8211; Uma &ldquo;Promoção&rdquo; de objetos é permitida sem nenhum operador de cast,Sendo Funcionario a SuperClasse Direta de Encarregado, vejamos:
                                                                                                                                                                                                                                      </p>

                                                                                                                                                                                                                                      <p>
                                                                                                                                                                                                                                        </span><span style="color: rgb(0, 0, 0);font-family:arial;">public class <span style="font-weight: bold;">Funcionario</span>{</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                                        <p>
                                                                                                                                                                                                                                          }</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                                          <p>
                                                                                                                                                                                                                                            </span><span style="color: rgb(0, 0, 0);font-family:arial;">public class <span style="font-weight: bold;">Encarregado extends Funcionario</span>{</p> 

                                                                                                                                                                                                                                            <p>
                                                                                                                                                                                                                                              }</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                                              <p>
                                                                                                                                                                                                                                                public class <span style="font-weight: bold;">TestClass</span>{
                                                                                                                                                                                                                                              </p>

                                                                                                                                                                                                                                              <p>
                                                                                                                                                                                                                                                public static void <span style="font-weight: bold;">main</span>(String array[ ]){
                                                                                                                                                                                                                                              </p>

                                                                                                                                                                                                                                              <p>
                                                                                                                                                                                                                                                </span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Funcionario referencia = </span>new<span style="font-weight: bold;"> </span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Encarregado();</span></span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                                                <p>
                                                                                                                                                                                                                                                  }<br />}</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                                                                                                                                                  <p>
                                                                                                                                                                                                                                                    2 &#8211; Para asseguar que não haja exception, use instanceof antes de cast
                                                                                                                                                                                                                                                  </p>

                                                                                                                                                                                                                                                  <p>
                                                                                                                                                                                                                                                    <span style="font-weight: bold;">&#8211; Muito CUIDADO AO TER HERANÇA POLIMORFISMO E SOBRESCRITA DE MÉTODOS.</span>
                                                                                                                                                                                                                                                  </p>

                                                                                                                                                                                                                                                  <p>
                                                                                                                                                                                                                                                    </span>
                                                                                                                                                                                                                                                  </p>

Java Operadores Relacionais e lógicos Constutores de decisão(if,switch)

Java Operadores Relacionais e lógicos Constutores de decisão(if,switch). Linguagem Java.
Sumario: Operadores Relacionais e lógicos,Constutores de decisão(if,switch)
*Lembre sempre da tabela de precedência de Operadores

Quais são os Operadores em java?
Source: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/opsummary.html

Simple Assignment Operator

= Simple assignment operator

Arithmetic Operators

+ Additive operator (also used for String concatenation)
– Subtraction operator
* Multiplication operator
/ Division operator
% Remainder operator

Unary Operators

+ Unary plus operator; indicates positive value (numbers are positive without this, however)
– Unary minus operator; negates an expression
++ Increment operator; increments a value by 1
– Decrement operator; decrements a value by 1
! Logical compliment operator; inverts the value of a boolean(NOT)

Equality and Relational Operators

== Equal to
!= Not equal to
> Greater than
>= Greater than or equal to

Conditional Operators

&& Conditional-AND
|| Conditional-OR
?: Ternary (shorthand for if-then-else statement)

Type Comparison Operator

instanceof Compares an object to a specified type

Bitwise and Bit Shift Operators

~ Unary bitwise complement

>> Signed right shift
>>> Unsigned right shift
& Bitwise AND
^ Bitwise exclusive OR
| Bitwise inclusive OR

<p>
  <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">Operadores Relacionais:</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> Os operadores relacionais são usados para comparar dois valores e determinar o relacionamento entre eles. O resultado dessa avaliação é booleano ou seja, True ou False.</font>
</p>

<p>
  <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">Equality and Relational Operators(Operadores Relacionais)</font>
</p>

<p>
  <font style="color: rgb(0, 0, 0);" face="arial"> == Equal to</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> != Not equal to</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> > Greater than</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> >= Greater than or equal to</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> <br /><font style="color: rgb(0, 0, 0);" face="arial"> </p> 

  <p>
    </font></font></font></font>
  </p>

  <div style="text-align: center;">
    <font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">O operador =(atribuição) atribui um valor a algo.</font></font></font></font></font>
  </div>

  <p>
    <font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"> Tanto Operadores relacionais quanto condicionais retornam um resultado booleano.</font></p> 

    <p>
      <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">Operadores lógicos:</font>
    </p>

    <p>
      <font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">Temos 2 tipos:</font></font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">1 &#8211;</font> De curto-circuito(Operadores Condicionais)</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">2 &#8211;</font> De bit a bit(Esse não nos interessa estudar porem entram operadores que operam sobre bits em tipos de dados INTEIROS, tal como: ~,&,^ e | &#8211; NOT,AND, XOR, OR todos para bit a bit)</font>
    </p>

    <p>
      <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">Curto-Circuito:</font>
    </p>

    <p>
      <font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">Conditional Operators</font></font>
    </p>

    <p>
      <font style="color: rgb(0, 0, 0);" face="arial"> && Conditional-AND</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> || Conditional-OR</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> ?: Ternary </font><br /><font style="color: rgb(0, 0, 0);" face="arial"> ! NOT(É unário porem entra nesse quesito)</font>
    </p>

    <p>
      <font style="color: rgb(0, 0, 0);" face="arial">Faz a Avaliação de mais de uma CONDIÇÃO, o resultado é sempre booleano(True OU FALSE), Normalmente usado com Operadores Relacionais.</font>
    </p>

    <p>
      <font style="font-weight: bold;" size="4">Antes de tudo, CUIDADO COM A PRECEDÊNCIA de Operadores, Lembre &#8211; se que Parenteses tem Precedência 1, ou seja é FEITO ANTES DE TUDO oque esta dentro dele.</font>
    </p>

    <h2>
      Java Operadores Relacionais e lógicos Constutores de decisão(if,switch)
    </h2>

    <p>
      </font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">AND:</font> Ambas as condições tem que ser True para && retornar True</font></font></font></font></font>
    </p>

    <p>
      <font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Expressão: </font> </font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s1600-h/maiorcerto.png"><img style="cursor: pointer; width: 211px; height: 36px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s320/maiorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378079661290038834" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

      <p>
        <font style="font-weight: bold;">Explicando a Expressão:</p> 

        <p>
          </font><br /></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> </font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial">Temos um Operador Relacional(</font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s1600-h/menorBcerto.png"><img style="cursor: pointer; width: 72px; height: 24px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s320/menorBcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080667442854850" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"> Temos um Operador Relacional( > ) que avalia os 2 operandos( b e 1)</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;"><br />&& -></font> Temos um Operador Condicional(&& &#8211; AND) que avalia as<font style="font-weight: bold;"> 2 condições:</font></font><br /><font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">1 &#8211; </font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> </font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">2 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s1600-h/menorBcerto.png"><img style="cursor: pointer; width: 72px; height: 24px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s320/menorBcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080667442854850" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

          <p>
            </font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Suposição 01:</font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

            <p>
              </font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">int a = 0;<br />int b = 2;</font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="font-weight: bold; color: rgb(0, 0, 0);">Expressão:</font><br /><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s1600-h/maiorcerto.png"><img style="cursor: pointer; width: 211px; height: 36px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s320/maiorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378079661290038834" border="0" /></a></p> 

              <p>
                </font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Passo a passo:</font></font></font></font></font></font></font><br /><font style="color: rgb(0, 0, 0); font-weight: bold;" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font size="5">1 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> = O operador Relacional ( True</font> os 2 Operandos(a e 1)</font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                <p>
                  <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5">2 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s1600-h/menorBcerto.png"><img style="cursor: pointer; width: 72px; height: 24px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s320/menorBcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080667442854850" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"> = </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">O operador Relacional ( True</font> os 2 Operandos(b e 1)</font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                  <p>
                    <font style="color: rgb(0, 0, 0);" size="5" face="arial"><font style="font-weight: bold;">3 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s1600-h/maiorcerto.png"><img style="cursor: pointer; width: 211px; height: 36px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s320/maiorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378079661290038834" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial">= O operador Condicional avalia as 2 expressões, True && True = True</p> 

                    <p>
                      </font><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5">4 &#8211;</font> <font style="font-weight: bold;">Resultado da Expressão: True</font></font>
                    </p>

                    <p>
                      </font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Suposição 02:</font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">int a = 1;<br />int b = 2;</font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="font-weight: bold; color: rgb(0, 0, 0);">Expressão:</font><br /><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s1600-h/maiorcerto.png"><img style="cursor: pointer; width: 211px; height: 36px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s320/maiorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378079661290038834" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                      <p>
                        </font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Passo a passo:</font></font></font></font></font></font></font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5">1 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> = O operador Relacional ( False</font> os 2 Operandos(a e 1)</font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5">2-</font> <font style="font-weight: bold;">Resultado da Expressão: False(Sendo o Operador &&, ele avalia a primeira expressão se for falsa, ele nem avalia a SEGUNDA, ja que todos as expressões precisam ser TRUE)</font></font></p> 

                        <p>
                          </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Suposição 03:</font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">int a = 0;<br />int b = 1;</font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="font-weight: bold; color: rgb(0, 0, 0);">Expressão:</font><br /><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s1600-h/maiorcerto.png"><img style="cursor: pointer; width: 211px; height: 36px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s320/maiorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378079661290038834" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                          <p>
                            <font style="font-weight: bold;">Passo a passo:</font>
                          </p>

                          <p>
                            </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="5"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">1 &#8211;</font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> = O operador Relacional ( True</font> os 2 Operandos(a e 1)<font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font></font><font style="color: rgb(0, 0, 0); font-weight: bold;" size="5"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial">2 &#8211;</font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s1600-h/menorBcerto.png"><img style="cursor: pointer; width: 72px; height: 24px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s320/menorBcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080667442854850" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"> = </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">O operador Relacional ( False</font> os 2 Operandos(b e 1)<font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font size="5"><font style="font-weight: bold;">3 &#8211;</font></font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s1600-h/maiorcerto.png"><img style="cursor: pointer; width: 211px; height: 36px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLG9SjyJjI/AAAAAAAAAU0/YE0lJRxtxW8/s320/maiorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378079661290038834" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"> O operador Condicional avalia as 2 expressões, True && False = False</p> 

                            <p>
                              <font size="5"><font style="font-weight: bold;">4 &#8211; </font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Resultado da Expressão: False</font></font></font></font></font></font></font></font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                              <p>
                                <font style="color: rgb(0, 0, 0);" size="5" face="arial"><font style="font-weight: bold;">OR: </font>Uma das condições precisa ser True</p> 

                                <p>
                                  <font style="font-weight: bold;" size="3">Expressão:</font><br /></font></font></font></font></font></font></font><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s1600-h/aaaaaaaaaa.png"><img style="cursor: pointer; width: 191px; height: 29px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s320/aaaaaaaaaa.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378086667905016258" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                  <p>
                                    <font style="font-weight: bold;">Explicando a Expressão:</p> 

                                    <p>
                                      </font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> </font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial">Temos um Operador Relacional(</font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                      <p>
                                        </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s1600-h/menorBcerto.png"><img style="cursor: pointer; width: 72px; height: 24px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s320/menorBcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080667442854850" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"> Temos um Operador Relacional( > ) que avalia os 2 operandos( b e 1)</font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                        <p>
                                          <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">||</font> -> Temos um Operador Condicional(|| &#8211; OR) que avalia <font style="font-weight: bold;">as 2 condições:</font></font><br /></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">1 &#8211; </font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> </font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">2 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s1600-h/menorBcerto.png"><img style="cursor: pointer; width: 72px; height: 24px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s320/menorBcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080667442854850" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font>
                                        </p>

                                        <p>
                                          <font style="color: rgb(0, 0, 0);" size="4"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Suposição 01:</font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">int a = 1;<br />int b = 1;</font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="font-weight: bold; color: rgb(0, 0, 0);">Expressão:</font><br /><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s1600-h/aaaaaaaaaa.png"><img style="cursor: pointer; width: 191px; height: 29px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s320/aaaaaaaaaa.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378086667905016258" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"></p> 

                                          <p>
                                            </font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Passo a passo:</font></font></font></font></font></font></font><br /><font style="color: rgb(0, 0, 0); font-weight: bold;" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font size="5">1 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> = O operador Relacional ( False</font> os 2 Operandos(a e 1)</font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                            <p>
                                              <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5">2 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s1600-h/menorBcerto.png"><img style="cursor: pointer; width: 72px; height: 24px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s320/menorBcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080667442854850" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"> = </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">O operador Relacional ( False</font> os 2 Operandos(b e 1)<font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                              <p>
                                                <font style="color: rgb(0, 0, 0);" size="5" face="arial"><font style="font-weight: bold;">3 &#8211;</font> </font></font></font></font></font></font><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s1600-h/aaaaaaaaaa.png"><img style="cursor: pointer; width: 191px; height: 29px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s320/aaaaaaaaaa.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378086667905016258" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial">= O operador Condicional( || ) avalia as 2 expressões,<br />False || False = False</p> 

                                                <p>
                                                  </font><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5">4 &#8211;</font> <font style="font-weight: bold;">Resultado da Expressão: False</font></font>
                                                </p>

                                                <p>
                                                  </font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="5"></p> 

                                                  <p>
                                                    </font><font style="color: rgb(0, 0, 0);" size="4"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Suposição 02:</font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">int a = 1;<br />int b = 2;</font>
                                                  </p>

                                                  <p>
                                                    <font style="font-weight: bold; color: rgb(0, 0, 0);">Expressão:</font><br /><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s1600-h/aaaaaaaaaa.png"><img style="cursor: pointer; width: 191px; height: 29px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s320/aaaaaaaaaa.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378086667905016258" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><br /></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                    <p>
                                                      </font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Passo a passo:</font></font></font></font></font></font></font><br /><font style="color: rgb(0, 0, 0); font-weight: bold;" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font size="5">1 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> = O operador Relacional ( False</font> os 2 Operandos(a e 1)<font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                      <p>
                                                        <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5">2 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s1600-h/menorBcerto.png"><img style="cursor: pointer; width: 72px; height: 24px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLH32xTu8I/AAAAAAAAAVE/hGQlHSr9rqM/s320/menorBcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080667442854850" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"> = </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">O operador Relacional ( True</font> os 2 Operandos(b e 1)<font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                        <p>
                                                          <font style="color: rgb(0, 0, 0);" size="5" face="arial"><font style="font-weight: bold;">3 &#8211;</font> </font></font></font></font></font></font><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s1600-h/aaaaaaaaaa.png"><img style="cursor: pointer; width: 191px; height: 29px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s320/aaaaaaaaaa.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378086667905016258" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial">= O operador Condicional( || ) avalia as 2 expressões,<br />False || True = True</p> 

                                                          <p>
                                                            </font><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5">4 &#8211;</font> <font style="font-weight: bold;">Resultado da Expressão: True</font></font></font></font></font></font></font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                            <p>
                                                              <font size="5"><br /></font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="4"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Suposição 03:</font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3">int a = 0;<br />int b = 0;</font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /></font></font></font></font></font><font style="font-weight: bold; color: rgb(0, 0, 0);">Expressão:</font><br /><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s1600-h/aaaaaaaaaa.png"><img style="cursor: pointer; width: 191px; height: 29px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s320/aaaaaaaaaa.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378086667905016258" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><br /></font>
                                                            </p>

                                                            <p>
                                                              <font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Passo a passo:</font></font></font></font></font></font></font><br /><font style="color: rgb(0, 0, 0); font-weight: bold;" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font size="5">1 &#8211;</font> </font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a> = O operador Relacional ( True</font> os 2 Operandos(a e 1)<font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                              <p>
                                                                <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5"></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" size="5" face="arial"><font style="font-weight: bold;">2-</font> </font></font></font></font></font></font><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s1600-h/aaaaaaaaaa.png"><img style="cursor: pointer; width: 191px; height: 29px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLNVIO-IcI/AAAAAAAAAVM/A20zbk21GNg/s320/aaaaaaaaaa.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378086667905016258" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial">= O operador Condicional( || ) avalia a expressão com True pois um deles ja é True</p> 

                                                                <p>
                                                                  </font><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;" size="5">4 &#8211;</font> <font style="font-weight: bold;">Resultado da Expressão: True</font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                                  <p>
                                                                    <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">TERNÁRIO: &#8211; ?: &#8211;</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> Ele tem 3 partes que juntas formam uma expressão.</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> </font><br /><font style="color: rgb(0, 0, 0);" face="arial"> expressao1<font style="font-weight: bold;">?</font>expressao2<font style="font-weight: bold;">:</font>expressao3;</font>
                                                                  </p>

                                                                  <p>
                                                                    <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Caso expressao1 seja verdadeiro</font> Então o resultado é expressao2</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Caso expressao1 seja falsa</font> Então o resultado é expressao3</font>
                                                                  </p>

                                                                  <p>
                                                                    <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">Exemplo:</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> (20 > 2)?&ldquo;É maior&rdquo;:&ldquo;É menor&rdquo;;</font>
                                                                  </p>

                                                                  <p>
                                                                    <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">NOT:<br /></font><font style="color: rgb(0, 0, 0);" face="arial">Troca o Resultado da avaliação</p> 

                                                                    <p>
                                                                      <font style="font-weight: bold;" size="4">Exemplo:</font></font>
                                                                    </p>

                                                                    <p>
                                                                      </font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font>int a = 0;</font></font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0); font-weight: bold;" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font></p> 

                                                                      <p>
                                                                        </font>Expressão:<br /></font></font></font></font></font></font></font></font></font><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLQhh7OVaI/AAAAAAAAAVU/G3KQhgxc-wk/s1600-h/notCerto.png"><img style="cursor: pointer; width: 107px; height: 24px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLQhh7OVaI/AAAAAAAAAVU/G3KQhgxc-wk/s320/notCerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378090179494827426" border="0" /></a><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /><font style="font-weight: bold;"></font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Analisando a Expressão:</font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;"></font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">1 &#8211;</font> </font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a></font> &#8211; <font size="3"><font face="arial">Temos um operador RELACIONAL(</font></p> 

                                                                        <p>
                                                                          <font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">2 &#8211;</font> ! True -> O contrário de true é false, então ficamos com False</p> 

                                                                          <p>
                                                                            </font><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">3 &#8211;</font> </font></font></font></font></font></font></font></font></font></font><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLQhh7OVaI/AAAAAAAAAVU/G3KQhgxc-wk/s1600-h/notCerto.png"><img style="cursor: pointer; width: 107px; height: 24px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLQhh7OVaI/AAAAAAAAAVU/G3KQhgxc-wk/s320/notCerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378090179494827426" border="0" /></a> = O operador Not avalia a Expressão como <font style="font-weight: bold;">False</font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                                            <p>
                                                                              <font style="font-weight: bold;">Suposição 02:</font>
                                                                            </p>

                                                                            <p>
                                                                              <font style="color: rgb(0, 0, 0);" face="arial">int a = 1;</p> 

                                                                              <p>
                                                                                <font style="font-weight: bold;">Expressão:</font><br /></font></font></font></font></font></font></font></font></font></font></font><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLQhh7OVaI/AAAAAAAAAVU/G3KQhgxc-wk/s1600-h/notCerto.png"><img style="cursor: pointer; width: 107px; height: 24px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLQhh7OVaI/AAAAAAAAAVU/G3KQhgxc-wk/s320/notCerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378090179494827426" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                                                <p>
                                                                                  </font></font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Analisando a Expressão:</font></font></font></font></font></font></font></font></font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">1 &#8211;</font></font></font></font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s1600-h/menorcerto.png"><img style="cursor: pointer; width: 69px; height: 27px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLHzyIMVmI/AAAAAAAAAU8/oXI50egfsk8/s320/menorcerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378080597477185122" border="0" /></a></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial">Temos um operador RELACIONAL( FALSE(pois 1 é igual a 1)</font><font style="font-weight: bold;"></p> 

                                                                                  <p>
                                                                                    2 &#8211;</font> ! False &#8211; o contrário de False é True, portanto <font style="font-weight: bold;">o resultado é True</font></font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">3 &#8211;</font> </font></font></font></font></font></font></font></font></font></font></font><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLQhh7OVaI/AAAAAAAAAVU/G3KQhgxc-wk/s1600-h/notCerto.png"><img style="cursor: pointer; width: 107px; height: 24px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLQhh7OVaI/AAAAAAAAAVU/G3KQhgxc-wk/s320/notCerto.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378090179494827426" border="0" /></a> &#8211; O Operador Not avalia a Expressão como <font style="font-weight: bold;">True</font><br /><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                                                    <p>
                                                                                      <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">Constutores de decisão:</font><br /><font style="color: rgb(0, 0, 0);" face="arial">***Lembre-se que temos 2 tipos de instruções, as de bloco de código e as de uma linha somente, portanto todas podem ser escritas com uma linha de instrução somente, como o exemplo o if abaixo.</font>
                                                                                    </p>

                                                                                    <p>
                                                                                      <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">O construtor if:</font>
                                                                                    </p>

                                                                                    <p>
                                                                                      <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">if</font>(<font style="font-weight: bold;">expressão_booleana</font>){</font>
                                                                                    </p>

                                                                                    <p>
                                                                                      <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">bloco_de_código</font>
                                                                                    </p>

                                                                                    <p>
                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">}//fim da instrução</font>
                                                                                    </p>

                                                                                    <p>
                                                                                      <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">ou </font>
                                                                                    </p>

                                                                                    <p>
                                                                                      <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">if</font>(<font style="font-weight: bold;">expressão_booleana</font>)</font><br /><font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">instrucao;</font>
                                                                                    </p>

                                                                                    <p>
                                                                                      <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*expressão_booleana </font>&#8211; É uma combinação de operadores relacionais, operadores condicionais ou uma variavel booleana ou seja qualquer instrução ou variavel que retorne um valor booleano</p> 

                                                                                      <p>
                                                                                        </font><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*bloco_de_código-</font> São as linhas de código que são executadas caso a expressao_booleana retorne true</font>
                                                                                      </p>

                                                                                      <p>
                                                                                        <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">A expressão_booleana é avaliada:</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Caso true &#8211; </font>então o bloco_de_código é executado</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Caso false &#8211;</font> então pulamos para //fim da instrução</font>
                                                                                      </p>

                                                                                      <p>
                                                                                        </font></font></font></font></font></font></font></font></font></font></font></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLTeTq9QrI/AAAAAAAAAVc/bQQwoUJEo74/s1600-h/if.png"><img style="cursor: pointer; width: 307px; height: 243px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLTeTq9QrI/AAAAAAAAAVc/bQQwoUJEo74/s320/if.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378093422663778994" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /><font style="color: rgb(0, 0, 0);" face="arial">Isso é chamado de fluxograma</font></p> 

                                                                                        <p>
                                                                                          <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">Vamos a um exemplo:</font>
                                                                                        </p>

                                                                                        <p>
                                                                                          </font></font></font></font></font></font></font></font></font></font></font></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLUiZpvK0I/AAAAAAAAAVk/xBDBXDdai5g/s1600-h/ifexemplo.png"><img style="cursor: pointer; width: 320px; height: 293px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqLUiZpvK0I/AAAAAAAAAVk/xBDBXDdai5g/s320/ifexemplo.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378094592500378434" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">Dentro da expressao_booleana temos:</font><br />i <font style="font-weight: bold;"> 2 &#8211; Um operador Relacional( False ou seja i++ não é executado.</font><br /><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                                                          <p>
                                                                                            <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">if Alinhado(ou seja if dentro de if):</font>
                                                                                          </p>

                                                                                          <p>
                                                                                            <font style="color: rgb(0, 0, 0);" face="arial">Você pode querer alinhar construtores if, nesse caso temos um if dentro de outro:</font>
                                                                                          </p>

                                                                                          <p>
                                                                                            <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">if</font>(expressão_booleana1){</font>
                                                                                          </p>

                                                                                          <p>
                                                                                            <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">bloco_de_código1</font>
                                                                                          </p>

                                                                                          <p>
                                                                                            <font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">if</font>(expressão_booleana2){</font>
                                                                                          </p>

                                                                                          <p>
                                                                                            <font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">bloco_de_código2</font></font>
                                                                                          </p>

                                                                                          <p>
                                                                                            <font style="color: rgb(0, 0, 0);" face="arial"> }<font style="font-weight: bold;">//fim do</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;"> bloco_de_código2</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                                                            <p>
                                                                                              <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">bloco_de_código1</p> 

                                                                                              <p>
                                                                                                </font><font style="color: rgb(0, 0, 0);" face="arial">}<font style="font-weight: bold;">//fim do </font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">bloco_de_código1</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                                                                <p>
                                                                                                  <font style="color: rgb(0, 0, 0);" face="arial">*Todos os lugares one esta escrito bloco_de_código pode ser escrito instruções.</font>
                                                                                                </p>

                                                                                                <p>
                                                                                                  <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">VEJAMOS O FLUXOGRAMA:</font>
                                                                                                </p>

                                                                                                <p>
                                                                                                  </font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLVdrk8fqI/AAAAAAAAAVs/hJBdBMzlXBQ/s1600-h/ifNested.png"><img style="cursor: pointer; width: 192px; height: 320px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqLVdrk8fqI/AAAAAAAAAVs/hJBdBMzlXBQ/s320/ifNested.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378095610924400290" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                                                                  <p>
                                                                                                    <font style="font-weight: bold;">Clique na imagem para ampliar</font>
                                                                                                  </p>

                                                                                                  <p>
                                                                                                    <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">Construtores if/else :</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> São blocos de código onde, se for true o resultado da expressão_booleana um bloco_de_código é executado, se for false o resultado da expressão_booleana outro bloco_de_código é executado.</font>
                                                                                                  </p>

                                                                                                  <p>
                                                                                                    <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">if</font>(expressao_booleana){</font>
                                                                                                  </p>

                                                                                                  <p>
                                                                                                    <font style="color: rgb(0, 0, 0);" face="arial">bloco_de_codigo1</font>
                                                                                                  </p>

                                                                                                  <p>
                                                                                                    <font style="color: rgb(0, 0, 0);" face="arial">}<font style="font-weight: bold;">else</font>{</font>
                                                                                                  </p>

                                                                                                  <p>
                                                                                                    <font style="color: rgb(0, 0, 0);" face="arial">bloco_de_codigo2</font>
                                                                                                  </p>

                                                                                                  <p>
                                                                                                    <font style="color: rgb(0, 0, 0);" face="arial">}</font>
                                                                                                  </p>

                                                                                                  <p>
                                                                                                    <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*expressão_booleana</font> &#8211; É uma combinação de operadores relacionais, operadores condicionais ou uma variavel booleana ou seja qualquer instrução ou variavel que retorne um valor booleano</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*bloco_de_código1</font> &#8211; São as linhas de código que são executadas caso a expressao_booleana <font style="font-weight: bold;">retorne true</font></font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*bloco_de_código2 </font>&#8211; São as linhas de código que são executadas caso a expressao_booleana <font style="font-weight: bold;">retorne false</font></font>
                                                                                                  </p>

                                                                                                  <p>
                                                                                                    </font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLWTOKb4cI/AAAAAAAAAV0/8rv6YDXLneg/s1600-h/ifelse.png"><img style="cursor: pointer; width: 307px; height: 243px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLWTOKb4cI/AAAAAAAAAV0/8rv6YDXLneg/s320/ifelse.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378096530741518786" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"></p> 

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">Acorrentando Construtores if/else:</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> Você pode acorrentar construtores if/else obtendo assim diferentes expressões de avaliação:</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">if</font>(expressao_booleana1){</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">bloco_de_codigo1</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">}<font style="font-weight: bold;">else if</font>(expressao_booleana2){</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">bloco_de_codigo2</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">}<font style="font-weight: bold;">else</font>{</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">bloco_de_codigo3</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">}</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">*<font style="font-weight: bold;">expressão_booleana </font>&#8211; É uma combinação de operadores relacionais, operadores condicionais ou uma variavel booleana ou seja qualquer instrução ou variavel que retorne um valor booleano</font><br /><font style="color: rgb(0, 0, 0);" face="arial">*<font style="font-weight: bold;">bloco_de_código1</font> &#8211; São as linhas de código que são executadas caso a expressao_booleana1 retorne true</font><br /><font style="color: rgb(0, 0, 0);" face="arial">*<font style="font-weight: bold;">bloco_de_código2 </font>&#8211; São as linhas de código que são executadas caso a expressao_booleana1 retorne false e a expressao_booleana2 retorne true</font><br /><font style="color: rgb(0, 0, 0);" face="arial">*<font style="font-weight: bold;">bloco_de_código3</font> &#8211; São as linhas de código que são executadas caso a expressao_booleana1 retorne false e a expressao_booleana2 retorne false também</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">Você pode também alinhar blocos if/else que forão acorrentados.</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">Construtor switch: </font><br /><font style="color: rgb(0, 0, 0);" face="arial"> Permite que você tenha varias ramificações no seu código, isso quer dizer que você tem quantas avaliações de código quiser simplificando oque o acorrentamento de if/ else if /else faz.</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> Ele faz o teste apenas de igualdade , não se um valor é menor ou maior que o outro e sim somente testa o valor de igualdade uma vez, UMA VEZ.</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">Você pode NÃO PODE ALINHAR CONSTRUTORES switch!!! Porem pode alinhar outros construtores como if/else dentro do switch!!!</font></font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">switch</font>(variavel){</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">case valor_literal:</font> codigo_de_bloco;[break]</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">case Outrovalor_literal:</font> codigo_de_bloco;[break]</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial"> [default:] codigo_de_bloco;</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">}</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*switch</font> &#8211; É uma keyword que indica a declaração de uma instrução switch</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*variavel </font>&#8211; Você pode ter apenas aqui: byte,short, int ou enum</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*case</font> &#8211; É uma keyword que indica a declaração de um valor que você esta testando, O valor é testado com o valor de valor_literal a junção de ambos(case e valor_literal) é chamada de <font style="font-weight: bold;">case label</font></font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*valor_literal</font> &#8211; São valores literais para teste, pode ser Constant(variavel final) ou então literais(&lsquo;b&rsquo;, 20) ou enum</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*break </font>&#8211; É uma keyword, é opcional, sem a instrução break quando o valor for encontrado no <font style="font-weight: bold;">valor_literal</font> todos os abaixo deles vão ser executado caso não tenha o break, ele interrompe o fluxo na hora que acha(Realmente não tem como não usar).</font><br /><font style="color: rgb(0, 0, 0);" face="arial"><font style="font-weight: bold;">*default &#8211;</font> É opcional, e caso seja testado todos os case, e não tenha sido encontrado o valor desejado, o default é executado.</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0); font-weight: bold;" face="arial">***Coloque sempre o break.</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0); font-weight: bold;" size="4" face="arial">Um exemplo de um bloco switch:</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">switch(variavel){</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">case valor_literal:</font> codigo_de_bloco;<font style="font-weight: bold;">break;</font></font><br /><font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">case Outrovalor_literal</font>: codigo_de_bloco;</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">default:</font> codigo_de_bloco;</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">}</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      <font style="color: rgb(0, 0, 0);" face="arial">Veja que usamos uma instrução com o break, e outra sem, e usamos o default também Vemos oque acontece:</font>
                                                                                                    </p>

                                                                                                    <p>
                                                                                                      </font></font></font></font></font></font></font></font></font></font></font></font></font></font></font><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLXqC-DzhI/AAAAAAAAAV8/rB-ZZaSAmk4/s1600-h/switch.png"><img style="cursor: pointer; width: 320px; height: 264px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqLXqC-DzhI/AAAAAAAAAV8/rB-ZZaSAmk4/s320/switch.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5378098022385438226" border="0" /></a><font style="color: rgb(0, 0, 0);" size="3"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><font style="color: rgb(0, 0, 0);" face="arial"><br /><font style="font-weight: bold;" size="5"><font size="3">Clique na imagem para ampliar</font></p> 

                                                                                                      <p>
                                                                                                        </font><font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">Quando usar switch?</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> &#8211; Para verificação de igualdade entre valores</font><br /><font style="color: rgb(0, 0, 0);" face="arial"> &#8211; Para testar apenas um valor, esse do tipo int,shot,byte, char ou enum.</font>
                                                                                                      </p>

                                                                                                      <p>
                                                                                                        <font style="color: rgb(0, 0, 0);" face="arial"> <font style="font-weight: bold;">Você pode NÃO PODE ALINHAR CONSTRUTORES switch!!! Porem pode alinhar outros construtores como if/else dentro do switch!!!</font></font>
                                                                                                      </p>

                                                                                                      <p>
                                                                                                        <font style="font-weight: bold;" size="5"><br /></font><font style="color: rgb(0, 0, 0); font-weight: bold;" size="5" face="arial">É hora da revisão:</p> 

                                                                                                        <p>
                                                                                                          </font>&#8211; Cuidado com a Precedência de Operadores, oque for Primeiro deve ser feito primeiro, exemplo Parenteses ( )<br /><font style="color: rgb(0, 0, 0);" face="arial">&#8211; Para avaliação de expressões booleanos usamos Operadores relacionais e condicionais</font><br /><font style="color: rgb(0, 0, 0);" face="arial">&#8211; Em blocos de decisão podemos usar instruções de um linha ou de código de bloco:</font><br /><font style="color: rgb(0, 0, 0);" face="arial">if(boolean_expression)</font><br /><font style="color: rgb(0, 0, 0);" face="arial">i++;</font>
                                                                                                        </p>

                                                                                                        <p>
                                                                                                          <font style="color: rgb(0, 0, 0);" face="arial">if(boolean_expression){</font><br /><font style="color: rgb(0, 0, 0);" face="arial">int x = 0;</font><br /><font style="color: rgb(0, 0, 0);" face="arial">i++;</font>
                                                                                                        </p>

                                                                                                        <p>
                                                                                                          <font style="color: rgb(0, 0, 0);" face="arial">}</font><br /><font style="color: rgb(0, 0, 0);" face="arial">&#8211; boolean_expression pode ser qualque