aula01 java

Upload: alexandro-souza

Post on 06-Jan-2016

265 views

Category:

Documents


0 download

DESCRIPTION

jmb

TRANSCRIPT

  • DANIEL DE CAMARGO JAVA

    1

    Ttulo: Introduo Linguagem Java Data: 17/1/2011 Descrio: Breve histrico sobre a linguagem Java, nomenclaturas e tecnologias

    Histria do Java A linguagem Java surgiu de um projeto desenvolvido pela Sun Microsystems destinado a criar uma linguagem baseada em C/C++ para controlar dispositivos eletrnicos. O projeto passou por vrias dificuldades, principalmente porque o mercado de eletrnicos no se desenvolvia to rapidamente como a Sun havia previsto. Porm, nesta mesma poca, houve a exploso do World Wilde Web, o que animou novamente os desenvolvedores da Linguagem Java, pois viram de imediato o potencial da linguagem para a criao de pginas Web com o chamado contedo dinmico. Alm disso, Java tambm se tornou popular no desenvolvimento de aplicaes standalone1, sendo utilizada para os mais diversos propsitos como projetos universitrios, empresarias e tambm no desenvolvimento de jogos. A caracterstica de Java ser multiplataforma foi o que fez despertar o interesse para a sua utilizao no desenvolvimento de jogos, pois no restringe o jogo a um nico sistema operacional. verdade que no utilizado apenas para jogos, pois a portabilidade da linguagem muito grande e hoje diversos aplicativos so desenvolvidos atravs dessa linguagem poderosa. Esse conceito do Java conhecido como programe uma vez, execute em qualquer lugar, ou seja, uma vez que o cdigo do seu aplicativo tenha sido compilado com sucesso, voc poder execut-lo em diversas plataformas sem a necessidade de ter que reprogramar ou recompilar. Isso sem contar a possibilidade que Java oferece para que os programas standalone sejam rapidamente portados para serem executados em pginas de Web atravs dos Applets

    Instalando e Configurando o Compilador Java Antes de voc comear a programar, preciso familiarizar-se com a terminologia das ferramentas de desenvolvimento Java. Vejamos algumas siglas comuns para desenvolvedores Java:

    JDK (Kit de desenvolvimento Java) o kit de ferramentas que os programadores usam para desenvolvimento de software em Java. Neste kit esto includos vrios recursos como, por exemplo, o javac (compilador), java (a mquina virtual), o javadoc (gerador automtico de documentao) que permitem compilar, executar e documentar um programa Java, respectivamente.

    JRE (Ambiente de execuo do Java) o JRE contm apenas a mquina virtual do Java necessria para a execuo de programas e Applets. O JRE indispensvel para aqueles que desejam apenas executar programas Java, ou seja, o usurio final.

    1 So chamados standi Aloni , ou stand-alone (literalmente "ficam em p por si s") os programas completamente

    autosuficientes: para seu funcionamento no necessitam de um software auxiliar, como um interpretador, sob o qual tero de ser executados.

  • DANIEL DE CAMARGO JAVA

    2

    Para um melhor desenvolvimento iremos utilizar um ambiente de desenvolvimento integrado (IDE). Existem alguns no mercado sendo que os mais conhecidos so:

    Eclipse um projeto aberto iniciado pela IBM; IntelliJ IDEA (comercial) uma IDE desenvolvida pela JetBrains; JBuilder um ambiente desenvolvido pela empresa Borland; JDeveloper (gratuito OTN) uma IDE desenvolvida pela empresa Oracle; NetBeans (software livre) uma IDE desenvolvida pela Sun Microsystems;

    No nosso curso utilizaremos o Eclipse. Logo abaixo mostrarei como adquirir o aplicativo e como instalar da forma correta. Adquirindo o Eclipse O IDE gratuito, basta entrar no site: http://www.eclipse.org/

  • DANIEL DE CAMARGO JAVA

    3

    Dentro do site, no canto direito superior encontrar a opo de Download do Eclipse, como mostra a figura abaixo:

    Voc entrar na pgina de downloads do eclipse, ele te d opo para Windows, Linux e Mac OS, escolha a sua verso de sistema operacional. No meu caso vou instalar no Windows, escolha o Eclipse Classic 3.6.1.

  • DANIEL DE CAMARGO JAVA

    4

    Faa o download.

    Ao final do download, voc ter um arquivo compactado. Agora basta extrair os arquivos na pasta que deseja, geralmente recomendamos extrair no diretrio c:\

  • DANIEL DE CAMARGO JAVA

    5

    Depois de extrair os arquivos, basta ir pasta c:\eclipse e rodar o eclipse.exe que se encontra dentro da pasta.

    Pronto, agora o ambiente j est preparado para podermos iniciar o nosso curso. A nica coisa que ser necessria definir a workspace. Resumidamente, workspace onde sero salvos os seus projetos, ou seja, sua rea de trabalho.

  • DANIEL DE CAMARGO JAVA

    6

    Palavras-Chave do Java

    Todo software uma aplicao que exige no s um grande conhecimento do programador, como tambm que ele saiba exatamente todos os recursos que a linguagem disponibiliza e como utiliz-los da melhor forma, j que o desempenho neste tipo de aplicao um fator crtico. Em nosso primeiro contato com a linguagem nada melhor do que apresentar suas palavras-chave, ou seja, palavras reservadas que no podero ser utilizadas em nomes de variveis, mtodos ou classes, pois quando utilizadas para este propsito resultar em um erro de compilao. Vamos ento s palavras reservadas do Java:

    Comentrios

    Comentar o cdigo uma boa prtica de programao, pois ajuda em diversas situaes como depurao e manuteno do cdigo. importante salientar que as linhas de cdigo identificadas como comentrios no sero analisadas pelo compilador. A linguagem Java oferece duas formas de inserir comentrios no cdigo, comentrio de linha e de bloco. Para comentrios de linha utilizamos os caracteres //, como no exemplo: // iniciando nossos estudos na linguagem Java possvel tambm comentar um bloco inteiro de linhas, para isto basta inserir os comentrios entre a sequncia /* */. Exemplo: /* Comentrio de bloco Estas linhas sero ignoradas pelo programador Bons programas ! */

  • DANIEL DE CAMARGO JAVA

    7

    Identificadores

    Um identificador um "nome" que nos permite dirigirmos especificamente a uma das entidades prprias da linguagem, ou seja, so os nomes que podemos colocar aos nossos/as variveis, mtodos, classes, interfaces e objetos. A nica restrio na formao de identificadores que tm que comear por letra, sublinhado ou pelo signo '$', podendo seguir depois letras ou nmeros. Temos que ter em conta que em Java como em muitas outras linguagens de programao se distinguem as maisculas e as minsculas. H uma srie de normas muito recomendveis para criar identificadores em Java: Em Java habitual escrever todos os identificadores em minscula tendo em conta as seguintes excees: 1. Se em um identificador queremos incluir um nome composto, coloca-se o primeiro nome inteiro em minscula e o resto com a primeira letra em maiscula e o resto em minscula. Por exemplo: minhaNovaVariavel = 3; 2. Os identificadores de classes e interfaces sempre comeam em maiscula seguindo a anterior norma no caso de se tratar de um nome composto. Por exemplo: MinhaNovaClasse(); 3. Os nomes de variveis finais ( as mais habitualmente chamadas "constantes") se escrevem integramente em maiscula. Por exemplo: "PI" Outra restrio muito importante e evidente na hora de escolher identificador, por exemplo, para uma varivel no coincidir com certas palavras restringidas que tem a linguagem.

    Tipos Primitivos Como tipos primitivos entendemos aqueles tipos de informao mais usuais e bsicos. So os habituais de outras linguagens de programao. Descreveremos algum dado para ter em conta em cada tipo. Boolean: No um valor numrico, s admite os valores true ou false. Char: Usa o cdigo UNICODE e ocupa cada caractere 16 bits. Inteiros: Diferem nas precises e podem ser positivos ou negativos.

    Byte: 1 byte.

    Short: 2 bytes.

    Int: 4 bytes.

    Long: 8 bytes.

  • DANIEL DE CAMARGO JAVA

    8

    Reais em ponto flutuante: igual que os inteiros tambm diferem nas precises e podem ser positivos ou negativos.

    Float: 4 bytes.

    Double: 8 bytes.

    Variveis

    Agora que temos as peas necessrias ( identificadores e tipos ) podemos definir variveis em Java. Uma varivel referenciar sempre a um tipo primitivo de Java ou a qualquer outro objeto criado em nosso programa. Vejamos algumas declaraes:

    Int a ; // declarao de uma varivel 'a' //iniciada a 0 (valor por padro). Int b = 8; // declarao de uma varivel 'b' iniciada a 8. NomeClasse referencia; // declarao de uma varivel 'referencia' preparada //para levar um objeto da classe 'NomeClasse'. NomeClasse referencia2; // o mesmo que na varivel anterior. Referencia = new NomeClasse; // se cria um novo objeto da classe //'NomeClasse', e atribuda varivel //'Referencia' Referencia2 = referencia; // Agora tambm 'referencia2' tem o mesmo // objeto a seu cargo que 'referencia'

    Uma vez tenhamos um pouco de idia de como declarar variveis em Java, temos que ter em conta desde que sites de nosso programa podemos acess-las, o que chamamos de mbito das variveis. Basicamente a norma que a varivel tenha validade dentro do bloco fechado entre chaves onde foi declarada, j seja dentro de uma funo ou de, por exemplo, uma sentena 'if'. Vejamos um exemplo com um pequeno programa em Java.

    public class AmbitoVariaveis { public static void main(String[] args) { if (true) { int y=5; } System.out.println(y); } }

  • DANIEL DE CAMARGO JAVA

    9

    Se tentarmos executar este cdigo o compilador nos dar um erro dizendo que a varivel no est definida visto que a declaramos em um bloco diferente de onde pretendamos utiliza-la. Existem mais normas de mbito com respeito s variveis membros de uma classe. Para acessa-las depende se na classe est declarada como 'public' ou como 'private'. As variveis declaradas em uma classe como 'public' se acessam diretamente atravs de 'NomeClase.nomeVariavel'. No caso de uma varivel 'private' s podemos utiliza-la mediante os mtodos dessa classe. Por outro lado atravs da declarao de qualquer funo prpria de uma classe podemos acessar s variveis internas dessa classe diretamente.

    Bibliotecas de Classes

    Os programas em Java consistem em partes chamadas classes. Estas consistem em partes chamadas mtodos que realizam tarefas e retornam as informaes ao completarem suas tarefas. Voc pode programar cada pedao que talvez voc precise para formar um programa em Java. Entretanto, a maioria dos programadores em Java tira proveito de ricas colees de classes existentes em bibliotecas de classes Java. As bibliotecas de classes so tambm conhecidas como Java APIs (Applications Programming Interfaces interfaces de programa aplicativos). Portanto, h realmente duas partes para aprender o mundo de Java. A primeira aprender a prpria linguagem Java de modo que voc possa programar suas prprias classes e a segunda aprender como utilizar as classes nas extensas bibliotecas de classes Java. As bibliotecas de classes so fornecidas principalmente por fornecedores de compiladores, mas muitas bibliotecas de classes so fornecidas por fornecedores independentes de software (ISV Independent Software Vendor). Da mesma forma, muitas bibliotecas esto disponveis a partir da internet como freeware ou shareware. Os produtos freeware voc pode baixar e us-los de graa sujeitando-se a quaisquer restries especficas pelo proprietrio dos direitos da cpia. Voc tambm pode baixar produtos shareware de graa, para experimentar o software. Os produtos shareware freqentemente so isentos de pagamento para uso pessoal. Entretanto, para os produtos que voc usar regularmente ou para fins comerciais, espera-se que voc pague uma taxa especificada pelo proprietrio dos direitos de cpia. Muitos produtos freeware e shareware so de cdigo-fonte aberto. Esses produtos geralmente esto disponveis na internet, o que lhe permite aprender estudando o cdigo-fonte, confirmar que o cdigo serve para a finalidade indicada para ele e at mesmo modificar o cdigo. Freqentemente, esses produtos exigem que voc publique quaisquer aperfeioamentos que faa, de modo que a comunidade possa continuar a evoluir esses produtos. Um exemplo muito popular o sistema operacional Linux.

    Programao Estruturada

    Durante a dcada de 60, muitos grandes esforos no desenvolvimento de software encontraram diversas dificuldades. Em geral, os cronogramas de produo de software se atrasavam, os custos excediam enormemente os oramentos e os produtos finais no eram confiveis. As pessoas

  • DANIEL DE CAMARGO JAVA

    10

    comearam a perceber que o desenvolvimento de software era uma atividade muito mais complexa do que haviam imaginado. Em 1960, a atividade de pesquisa resultou na evoluo da programao estruturada uma abordagem disciplinada para escrever programas que so mais claros, mais fceis de testar e depurar e mais fceis de modificar do que programas no-estruturados. Um dos resultados mais tangveis dessa pesquisa foi o desenvolvimento da linguagem de programao Pascal, que foi projetada para o ensino de programao estruturada em ambientes acadmicos e rapidamente tornou-se a linguagem de programao preferida na maioria das universidades. Infelizmente, a linguagem carece de muitos recursos necessrios para torn-la til em aplicaes industriais, comerciais e governamentais, o que a impediu de ser amplamente aceita nesses ambientes.

    Princpios Bsicos de um ambiente Java tpico Os sistemas Java geralmente consistem em vrias partes: um ambiente, a linguagem, a interface de programas aplicativos (API Applications Programming Interface) Java e vrias bibliotecas de classes. A discusso a seguir explica um ambiente de desenvolvimento de programa Java tpico como mostra a imagem abaixo. Os programas Java normalmente passar por cinco fases para serem executados. So as seguintes edio, compilao, carga, verificao e execuo.

  • DANIEL DE CAMARGO JAVA

    11

    Fase 1 Edio Consiste em editar um arquivo. Isso realizado com um programa editor. O programador digita o cdigo fonte e faz as correes necessrias. Quando o editor especifica que o arquivo deve ser salvo, armazenado em um dispositivo de armazenamento secundrio, como um HD (Disco). Os cdigo terminam com a extenso .java Podemos trabalhar para a edio dos arquivos programas simples como o Bloco de Notas do Windows (para isso ser necessrio a instalao de um compilador) ou ambientes de desenvolvimento integrado (IDEs integrated development environments) Java como JBuilder (Borland), NetBeans, Eclipse, Java Community Edition, entre outros. Todos os programas apresentados durante o nosso curso sero editados atravs do Eclipse.

  • DANIEL DE CAMARGO JAVA

    12

    Fase 2 Compilao Se estivermos utilizando um editor do tipo Bloco de Notas teramos que emitir o comando javac para compilador o programa. O compilador Java traduz o programa Java para bytecodes linguagem entendida pelo interpretador Java. Para compilar um programa chamado inicio.java digite: javac inicio.java Se o programa compilar corretamente, o compilador produz um arquivo chamado inicio.class. Esse arquivo que contm os bytecodes que sero interpretados durante a fase da execuo. Fase 3 Carga O programa deve ser primeiramente colocado na memria antes de poder ser executado. Isso feito pelo carregador de classe, que pego o arquivo (ou arquivos) .class que contm os bytecodes e o transfere para a memria. O arquivo .class pode ser carregado a partir de um disco em seu sistema ou atravs de uma rede (como a rede local de uma universidade ou empresa, ou mesmo a internet). H dois tipos de programas para os quais o carregador de classe carrega arquivos .class aplicativos e applets. O aplicativo um programa tipo processador de texto, planilha, programa de desenho ou programa de correio eletrnico. Que normalmente executado e armazenado a partir do computador local do usurio. O applet um programa pequeno que normalmente armazenado em um computador remoto que os usurios conectam atravs de um navegador de internet. Os applets so carregados no navegador, executados no navegador e descartados quando se completa a execuo. Para executar um applet o usurio deve direcionar um navegador para a localizao apropriada e recarregar o programa. Esses aplicativos so carregados e executados com o interpretador Java, ou JVM (Java Virtual Machine) ou mquina virtual Java. Fase 4 Verificao Antes de executar um aplicativo ou applets os arquivos passam pelo verificador de bytecode para assegurar que os cdigos sejam vlidos e no violam as restries de segurana de Java. Java impe intensa segurana para que os programas no sejam capazes de causar dados aos seus arquivos e ao seu sistema, como acontece com os vrus de computadores. Fase 5 Execuo O computador, sob o controle de sua CPU, interpreta o programa, um bytecode por vez, realizando assim a ao especificada pelo programa.

  • DANIEL DE CAMARGO JAVA

    13

    Alguns programas podem no funcionar na primeira tentativa. Cada uma das fases precedentes pode falhar por causa de vrios erros, principalmente erros lgicos como uma diviso por zero (uma operao ilegal em Java assim como em aritmtica). Isso acontecendo, o programador retornaria para a fase de edio, faria as correes necessrias e prosseguiria novamente pelas fases restantes para determinar se as correes funcionaram adequadamente.