Apostila de programacao java

  • Published on
    20-Jul-2015

  • View
    152

  • Download
    1

Embed Size (px)

Transcript

<ul><li><p>Apostila de JAVA</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>Sumrio1. Introduo ______________________________________________ 031.1. O que JAVA? _________________________________________ 031.2. O que uma Applet ______________________________________ 031.3. O que uma Aplicao____________________________________ 031.4. O que o Appletviewer ___________________________________ 031.5. O que Applet no WWW _________________________________ 031.6. Criando uma Aplicao ___________________________________ 041.7. Criando uma Applet _____________________________________ 042. O Bsico ________________________________________________ 062.1 Variveis e tipos de dados _________________________________ 062.2. Comentrios ____________________________________________ 062.3. Caracteres Especiais _____________________________________ 072.4. Expresses e Operadores __________________________________ 072.5. Comparaes ___________________________________________ 083. Arrays, Loops e Condicionais _______________________________ 103.1. Arrays ________________________________________________ 103.2. Condicionais ___________________________________________ 113.3. Operador Condicional ____________________________________ 123.4. Switch_________________________________________________ 123.5. Loop For ______________________________________________ 133.6. Loop While ____________________________________________ 133.7. Loop Do _______________________________________________ 134. Criando Classes e Aplicaes em Java _________________________ 144.1. Definindo Classes _______________________________________ 144.2. Definindo Variveis de Instncia ___________________________ 144.3. Constantes _____________________________________________ 144.4. Variveis de Classe ______________________________________ 144.5. Definio de Mtodos ____________________________________ 154.6. A palavra chave this _____________________________________ 154.7. Passando argumentos para Mtodos _________________________ 165. Mais sobre Mtodos _______________________________________ 175.1. Polimorfismo ou Sobrecarga _______________________________ 175.2. Mtodos Construtores ____________________________________ 195.3. Mtodos Destrutores _____________________________________ 216. Window Toolkit __________________________________________ 226.1. Eventos _______________________________________________ 226.2. Componentes AWT ______________________________________ 266.3. Grficos _______________________________________________ 337. Threads _________________________________________________ 367.1. O que so threads? _______________________________________ 367.2. Os estados de uma thread _________________________________ 377.3. Threads em Applets ______________________________________ 387.4. Herdando de Thread x Implementando Runnable _______________ 398. Procure Saber Mais Sobre __________________________________ 41Referncias Bibliogrficas ____________________________________ 42</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 3</p><p>1. INTRODUO1.1. O que JAVA?</p><p>Java uma linguagem de programao orientada a objetos desenvolvida pela SunMicrosystems. Modelada depois de C++, a linguagem Java foi projetada para ser pequena,simples e portvel a todas as plataformas e sistemas operacionais, tanto o cdigo fonte comoos binrios. Esta portabilidade obtida pelo fato da linguagem ser interpretada, ou seja, ocompilador gera um cdigo independente de mquina chamado byte-code. No momento daexecuo este byte-code interpretado por uma mquina virtual instalado na mquina. Paraportar Java para uma arquitetura hadware/s especfica, basta instalar a mquina virtual(interpretador). Alm de ser integrada Internet, Java tambm uma excelente linguagempara desenvolvimento de aplicaes em geral. D suporte ao desenvolvimento de software emlarga escala.</p><p>1.2. O que uma APPLET?Applet um programa especial escrito em Java adaptado para instalao e execuo</p><p>dentro de pginas HTML. Estas pginas podem ento ser visualizadas num browser.1.3. O que uma APLICAO?</p><p>Aplicao um programa mais geral escrito na linguagem Java. No requer umbrowser para sua execuo. De fato, Java pode ser usada para criar todo tipo de aplicaesque usualmente voc implementa com outras linguagens mais convencionais.1.4. O que o APPLETVIEWER?</p><p>Quem criou o Java espera que todos os browsers algum dia suportem as applets, o queno acontece ainda. Para facilitar o desenvolvimento de aplicaes, foi criado o Appletviewerque mostra apenas a rea onde executada applet. Depois de testar bem seu cdigo com oAppletviewer, voc deve ento test-lo com alguns browsers que suportem Java para ver oefeito final.</p><p>1.5. O que APPLET no WWWAs applets so disparadas quando se carrega uma pgina HTML. A seguir h um</p><p>exemplo de cdigo HTML que dispara uma applet.</p><p> Java </p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 4</p><p>1.6. Criando uma APLICAOPara comear, criaremos uma simples aplicao em Java: a clssica Hello World!, o</p><p>exemplo que todos os livros de linguagens usam.</p><p>1.6.1. O cdigo fonteComo todas as linguagens de programao, o cdigo fonte ser criado em um editor de</p><p>texto ASCII puro. No Unix alguns exemplos so emacs, pico, vi e outros. No Windows,notepad ou dosedit tambm servem.A seguir, o cdigo da aplicao Hello World! (arquivo: HelloWorld.java):class HelloWorld {</p><p>public static void main (String args[]) {System.out.println(Hello World!);</p><p>}}</p><p>1.6.2. Compilando a aplicaoPara compilar a aplicao, basta digitar o comando:javac HelloWorld.javaEste comando vai gerar o arquivo HelloWorld.class, que o byte-code da aplicao.</p><p>Para executar o byte-code basta digitar o comando:java HelloWorld1.7. Criando uma APPLET</p><p>Criar uma applet diferente de criar uma simples aplicao porque uma applet executada e visualizada dentro de uma pgina HTML. Como exemplo, novamente serimplementada a clssica Hello World!.1.7.1. O cdigo fonte</p><p>A seguir, o cdigo da aplicao Hello World! (arquivo: HelloWorldApplet.java):import java.awt.Graphics;</p><p>public class HelloWorldApplet extends java.applet.Applet {public void paint (Graphics g) {</p><p>g.drawString (Hello World!,5,25);}</p><p>}</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 5</p><p>1.7.2. Compilando a appletPara compilar a applet, basta digitar o comando:javac HelloWorldApplet.javaEste comando vai gerar o arquivo HelloWorldApplet.class, que o byte-code da</p><p>applet. Para executar o byte-code necessrio haver uma pgina HTML, a qual tem o cdigo aseguir (arquivo: exemplo1.html):</p><p> Java Hello World </p><p>1.7.3. VisualizaoA pgina com cdigo descrito anteriormente pode ser visualizada atravs de umbrowser que suporte java ou do appletviewer utilizando-se do comando a seguir:appletviewer exemplo1.html</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 6</p><p>2. O BSICO2.1. Variveis e tipos de dados</p><p>Variveis so alocaes de memria nas quais podemos guardar dados. Elas tm umnome, tipo e valor. Toda vez que necessite usar de uma varivel voc precisa declar-la e sento poder atribuir valores a mesma.2.1.1. Declarando variveis</p><p>As declaraes de variveis consistem de um tipo e um nome de varivel: como segueo exemplo:int idade;String nome;boolean existe;</p><p>Os nomes de variveis podem comear com uma letra, um sublinhado ( _ ), ou umcifro ($). Elas no podem comear com um nmero. Depois do primeiro caracter pode-secolocar qualquer letra ou nmero.2.1.2. Tipos de variveis</p><p>Toda varivel deve possuir um tipo. Os tipos que uma varivel pode assumir uma dastrs coisas a seguir: Uma das oito primitivas bsicas de tipos de dados O nome de uma classe ou interface Um Array</p><p>Veremos mais sobre o uso de arrays e classes mais a frente.Os oito tipos de dados bsicos so: inteiros, nmeros de ponto-flutuante, caracteres ebooleanos (verdadeiro ou falso).Tipos Inteiros:</p><p>Tipo Tamanho Alcancebyte 8 bits -128 at 127short 16 bits -32.768 at 32.767int 32 bits -2.147.483.648 at 2.147.483.647long 64 bits -9223372036854775808 at 9223372036854775807Existem dois tipos de nmeros de ponto-flutuante: float ( 32 bits, preciso simples) e</p><p>double (64 bits, preciso dupla).2.1.3. Atribuies a variveis</p><p>Aps declarada uma varivel a atribuio feita simplesmente usando o operador =:idade = 18;existe = true;</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 7</p><p>2.2. ComentriosJava possui trs tipos de comentrio, o /* e */ como no C e C++. Tudo que estiver</p><p>entre os dois delimitadores so ignorados:/* Este comentrio ficar visvel somente no cdigo o compilador ignorarcompletamente este trecho entre os delimitadores*/</p><p>Duas barras (//) tambm podem ser usadas para se comentar uma linha:int idade; // este comando declara a varivel idadeE finalmente os comentrios podem comear tambm com /** e terminar com */. Este</p><p>comentrio especial e usado pelo javadoc e para gerar uma documentao API do cdigo.Para aprender mais sobre o javadoc acesse a home page (http://www.javasoft.com).2.3. Caracteres especiais</p><p>Caracter Significado\n Nova Linha\t Tab\b Backspace\r Retorno do Carro\f Formfeed (avana pgina na impressora)\\ Barra invertida\ Apstrofe\ Aspas</p><p>\ddd Octal\xdd Hexadecimal</p><p>2.4. Expresses e operadores2.4.1. Operadores Aritmticos</p><p>Operador Significado Exemplo+ soma 3 + 4- subtrao 5 - 7* multiplicao 5 * 5/ diviso 14 / 7</p><p>% mdulo 20 % 7Exemplo Aritmtico:</p><p>class ArithmeticTest {public static void main ( Strings args[] ) {</p><p>short x = 6;int y = 4;float a = 12.5f;float b = 7f;</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 8</p><p>System.out.println ( x + x + , y + y );System.out.println ( x + y = + (x + y) );System.out.println ( x - y = + (x - y) );System.out.println ( x / y = + (x / y) );System.out.println ( x % y = + ( x % y ) );System.out.println ( a + a + , b + b );System.out.println ( a / b = + ( a / b ) );</p><p>}}</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 9</p><p>A sada do programa acima :x 6, y 4x + y = 10x - y = 2x / y = 1x % y = 2a 12.5, b 7a / b = 1.78571</p><p>2.4.2. Mais sobre atribuiesVariveis podem atribuidas em forma de expresses como:int x, y, z;x = y = z = 0;No exemplo as trs variveis recebem o valor 0;</p><p>Operadores de Atribuio:Expresso Significado</p><p>x += y x = x + yx -= y x = x - yx *= y x = x * yx /= y x = x / y</p><p>2.4.3. Incrementos e decrementosComo no C e no C++ o Java tambm possui incrementadores e decrementadores :y = x++;y = --x;As duas expresses do resultados diferentes, pois existe uma diferena entre prefixo e</p><p>sufixo. Quando se usa os operadores ( x++ ou x-- ), y recebe o valor de x antes de x serincrementado, e usando o prefixo ( ++x ou x ) acontece o contrario, y recebe o valorincrementado de x.</p><p>2.5. ComparaesJava possui vrias expresses para testar igualdade e magnitude. Todas as expresses</p><p>retornam um valor booleano (true ou false).</p><p>2.5.1. Operadores de comparaoOperador Significado Exemplo</p><p>== Igual x == 3!= Diferente ( No igual) x != 3&lt; Menor que x &lt; 3&gt; Maior que x &gt; 3</p><p>= 3</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 10</p><p>2.5.2. Operadores lgicosOperador Significado</p><p>&amp;&amp; Operao lgica E (AND)|| Operao lgica OU (OR)! Negao lgica&amp; Comparao bit-a-bit E (AND)| Comparao bit-a-bit OU (OR)^ Comparao bit-a-bit OU-Exclusivo (XOR)</p><p>&gt; Deslocamento a direita</p><p>&gt;&gt;&gt; Deslocamento a direita com preenchimento de zeros- Complemento bit-a-bit</p><p>x &gt; y )</p><p>x &gt;&gt;&gt;= y Atribuio com deslocamento a direita e com preenchimento dezeros ( x = x &gt;&gt;&gt; y )</p><p>x &amp;= y atribuio AND ( x = x &amp; y )x |= y atribuio OR ( x = x | y )x ^= y atribuio XOR ( x = x ^ y )</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 11</p><p>3. ARRAYS, LOOPS E CONDICIONAIS3.1. Arrays</p><p>Arrays em Java so diferentes do que em outras linguagens. Arrays em Java soobjetos que podem ser passados e acoplados a outros objetos.</p><p>Arrays podem conter qualquer tipo de elemento valorado(tipos primitivos ou objetos),mas voc no pode armazenar diferente tipos em um simples array.Ou seja, voc pode ter um array de inteiros, ou um array de strings, ou um array de array, masvoc no pode ter um array que contenha ambos os objetos strings e inteiros.</p><p>A restrio acima descrita significa que os arrays implementados em Java sogenricos homogneos, ou seja, um nico array pode armazenar qualquer tipo de objeto com arestrio que todos sejam do mesma classe.3.1.1. Declarando um Array:</p><p>String difficult[];Point hits[];int temp[];</p><p>Outra alternativa de declarao:String[] difficult;</p><p>Point[] hits;int[] temp;</p><p>3.1.2. Criando Objetos Arrays:Um dos caminhos usar o operador new para criar uma nova instncia de um array,</p><p>por exemplo:</p><p>int[] temps = new int[99];</p><p>Quando voce cria um objeto array usando o operador new, todos os ndices soinicializados para voc ( 0 para arrays numricos, falso para boolean, \0 para caracteres, eNULL para objetos). Voc tambm pode criar e inicializar um array ao mesmo tempo.String[] chiles = { jalapeno, anaheim, serrano , jumbou,thai};</p><p>Cada um dos elementos internos deve ser do mesmo tipo e deve ser tambm do mesmotipo que a varivel que armazena o array. O exemplo acima cria um array de Strings chamadochiles que contm 5 elementos.</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 12</p><p>3.1.3. Acessando os Elementos do ArrayUma vez que voc tm um array com valores iniciais, voc pode testar e mudar os</p><p>valores em cada ndice de cada array.Os arrays em Java sempre iniciam-se na posio 0 como no C++. Por exemplo:</p><p>String[] arr= new String[10];arr[10]=out;</p><p>Isto provoca um erro de compilao pois o ndice 10 no existe, pois isto est fora dasbordas do array.</p><p>arr[9] = inside;Esta operao de atribuio vlida e insere na posio 9 do array, a string inside.</p><p>3.1.4. Arrays MultidimensionaisJava no suporta arrays multidimensionais. No entanto, voc pode declarar e criar um</p><p>array de arrays e acess-los como voc faria no estilo-C.int coords[][]= new int[12][12];coords[0][0] = 1;coords[0][1] = 2;</p><p>3.2. CondicionaisO condicional contm a palavra chave if, seguido por um teste booleano. Um opcionalelse como palavra chave pode ser executado na caso do teste ser falso, Exemplo:</p><p>if ( x &lt; y)System.out.println( x e menor do que y);</p><p>elseSystem.out.println( y e maior);</p><p>Nota tcnica: A diferena entre o if em Java e C ou C++ que o teste deve retornar umvalor booleano(true ou false).</p><p>3.2.1. BlocoUm bloco definido por ({}) e contm um grupo de outros blocos. Quando um novo</p><p>bloco criado um novo escopo local aberto e permite a definio de variveis locais. Asvariveis definidas dentro de um bloco s podem ser vistas internamente a este, e soterminadas ou extintas no final da execuo deste(}).</p></li><li><p>Apostila de Java Grupo PET - Informtica</p><p>GEEK BRASIL http://www.geekbrasil.com.br Pgina 13</p><p>void testblock(){int x = 10, w=1;</p><p>if (x&gt; w){ // inicio do bloco</p><p>int y=50;System.out.println(dentro do bloco);System.out.println(x: + x);System.out.println(y: + y);</p><p>} // final do bloco</p><p>System.out.println(w: + w);System.out.println(y: + y); // erro varivel no conhecida</p><p>}</p><p>3.3. O operador CondicionalUma alternat...</p></li></ul>