Anda di halaman 1dari 19

Curso Java Starter

www.t2ti.com
1

Curso Java Starter


Apresentao O Curso Java Starter foi projetado com o objetivo de ajudar quelas pessoas que tm uma base de lgica de programao e desejam entrar no mercado de trabalho sabendo Java, A estrutura do curso formada por mdulos em PDF e por mini-cursos em vdeo. O aluno deve baixar esse material e estud-lo. Deve realizar os exerccios propostos. Todas as dvidas devem ser enviadas para a lista de discusso que est disponvel para inscrio na pgina do Curso Java Starter no site www.t2ti.com. As dvidas sero respondidas pelos instrutores Albert Eije, Cludio de Barros e Miguel Kojiio, alm dos demais participantes da lista. Nosso objetivo que aps o estudo do Curso Java Starter o aluno no tenha dificuldades para acompanhar um curso avanado onde poder aprender a desenvolver aplicativos para Web, utilizando tecnologias como Servlets e JSP e frameworks como Struts e JSF, alm do desenvolvimento para dispositivos mveis. Albert Eije trabalha com informtica desde 1993. Durante esse perodo j trabalhou com vrias linguagens de programao: Clipper, PHP, Delphi, C, Java, etc. Atualmente mantm o site www.alberteije.com. Cludio de Barros Tecnlogo em Processamento de Dados. Miguel Kojiio bacharel em Sistemas de Informao, profissional certificado Java (SCJP 1.5). O curso Java Starter surgiu da idia dos trs amigos que trabalham juntos em uma instituio financeira de grande porte.

www.t2ti.com
2

Curso Java Starter

Mdulo

01
Histrico
janela de James Gosling.

Introduo ao

Java

A linguagem de programao Java foi criada em 1991 por James Gosling, ela iniciou-se como parte do projeto Green da Sun Microsystems. Inicialmente a linguagem iria chamar-se Oak (Carvalho) em referncia a rvore que era visvel pela A mudana de nome ocorreu pois j existia uma linguagem de programao com este nome, ento a linguagem foi rebatizada para Java. O termo Java utilizado, geralmente, quando nos referimos a: Linguagem de programao orientada a objetos; Ambiente de desenvolvimento composto pelo compilador, interpretador, gerador de documentao e etc.;

Ambiente de execuo que pode ser praticamente qualquer mquina que possua Java Runtime Environment (JRE) instalado;

A linguagem de programao Java uma linguagem de alto-nvel com as seguintes caractersticas: Simples: O aprendizado da linguagem de programao Java pode ser feito em um curto perodo de tempo; Orientada a objetos: Desde o incio do seu desenvolvimento esta linguagem foi projetada para ser orientada a objetos; Familiar: A linguagem Java muito familiar para os programadores C/C++ ; Robusta: Ela foi pensada para o desenvolvimento de softwares confiveis,

www.t2ti.com
3

Curso Java Starter


provendo verificaes tanto em tempo de execuo quanto compilao, o coletor de lixo responsabiliza-se pela limpeza da memria quando houver necessidade; Segura: Aplicaes Java so executadas em ambiente prprio (JRE) o que inviabiliza a intruso de cdigo malicioso; Portvel: Programas desenvolvidos nesta linguagem podem ser executados em praticamente qualquer mquina desde que esta possua o JRE instalado; etc.

Mquina Virtual Java - JVM A mquina virtual java (JVM) uma mquina imaginria que emula uma aplicao em uma mquina real. a JVM que permite a portabilidade do cdigo Java, isto ocorre porque todo cdigo Java compilada para um formato intermedirio, bytecode, este formato ento interpretado pela JVM. Existem diversas JVMs cada uma delas destinada a um tipo de sistema operacional (Windows, Linux, Mac e etc.), desta forma sendo o cdigo da aplicao Java, bytecode, um cdigo interpretado pela JVM, podemos desenvolver uma aplicao sem nos preocuparmos onde ela ser executada pois sabemos que existindo a JVM instalada nosso cdigo ser executvel. Coletor de Lixo Garbage Collection Muitas linguagens de programao nos permitem alocar espao na memria em tempo de execuo, uma vez encerrado o programa deve haver uma maneira de liberar este espao para que outras aplicaes possam utiliz-lo. Em muitas das linguagens de programao, inclusive C e C++, a responsabilidade pela liberao do espao que no mais ser utilizado do programador, no entanto, nem sempre fcil gerenciar o que est e o que no est sendo utilizado, a m gerncia da memria ocasiona muitas vezes o estouro de pilha (stack overflow) entre outros problemas. Na linguagem de programao Java a responsabilidade pela gerncia da

www.t2ti.com
4

Curso Java Starter


memria do Coletor de lixo (Garbage Collector), desta forma, programadores Java ficam livres da preocupao de alocao e desalocao da memria. O Coletor de lixo um processo que roda em segundo plano e responsvel pela liberao de memria alocada por variveis que no mais sero utilizadas pela aplicao. Fases de um programa Java As fases pelo qual passam um programa Java relacionam-se da seguinte forma:

1. Criao do cdigo fonte (Programa.java); 2. Compilao do cdigo fonte e gerao do bytecode (Programa.class); 3. Interpretao do bytecode pela mquina virtual; 4. Converso do bytecode em linguagem de mquina. Hotspot Hotspot a mquina virtual Java, ela prov algumas funcionalidades muito importantes. Ao contrrio de outras aplicaes, que so compiladas diretamente para cdigo da mquina em que sero executadas, em Java estas somente so transformadas em cdigo de mquina em tempo de execuo quando necessrio. No princpio esta abordagem trouxe problemas de sobrecarga e lentido dos sistemas, no entanto, a JVM vem se aprimorando e, em muitas situaes, as aplicaes Java tem desempenho similar as aplicaes que so previamente compiladas. Este desempenho vem melhorando muito devido a otimizao que a mquina virtual consegue fazer a medida que o cdigo executado. Perceba que quando programamos em C, por exemplo, o cdigo fonte transformado em cdigo de mquina imediatamente.

www.t2ti.com
5

Curso Java Starter


Em princpio podemos pensar que o fato do programa no precisar passar por uma etapa a mais, interpretao, ir torn-lo mais eficiente, mas muitas vezes a compilao esttica no consegue prever situaes que iro ocorrer durante a execuo do cdigo: trechos da aplicao mais utilizados, carga do sistema, quantidade de usurios simultneos, memria disponvel e etc.. Estas informaes, relativas ao ambiente no qual a aplicao est sendo executada, so utilizadas pela JVM para fazer otimizaes em tempo de execuo e havendo necessidade o cdigo que est sendo interpretado transformado em instrues nativas do sistema operacional (cdigo de mquina) em um processo de compilao dinmica. Esta transformao em tempo de execuo realizada pelo JIT, Just-in-time compiler. O fato do cdigo (bytecode) ser transformado, em tempo de execuo, em cdigo de mquina permite que a JVM mude a estratgia de compilao em busca de um melhor desempenho, em um ciclo de aprendizado contnuo. JRE e JDK JRE: O Java Runtime Environment contm tudo aquilo que um usurio comum precisa para executar uma aplicao Java (JVM e bibliotecas), como o prprio nome diz o Ambiente de execuo Java; JDK: O Java Development Kit composto pelo JRE e um conjunto de ferramentas teis ao desenvolvedor Java. Verses do Java: Abaixo temos uma sntese das verses do Java e as principais alteraes nas nomenclaturas e no seu contedo. 1. JDK 1.0 (1996): Primeira verso; 2. JDK 1.1 (1997): Adio das bibliotecas JDBC, RMI e etc; 3. J2SE 1.2 (1998) Playground: A partir daqui todas as verses Java foram denominadas de Java 2 Standard Edition, passaram a ter apelidos (Playground) e foi adicionado o Framework Collections e etc.; 4. J2SE 1.3 (2000) Kestrel: Incluso das bibliotecas JNDI, JavaSound e etc.;

www.t2ti.com
6

Curso Java Starter


5. J2SE 1.4 (2002) Merlin: Palavra reservada assert, biblioteca NIO e etc.; 6. J2SE 5.0 (2004) Tiger: Apesar da verso ser 1.5, agora chamada apenas de 5. Adies importantes como: Enumerao, Autoboxing, Generics, for-each e etc; 7. JSE 6 (2006) Mustang: Entre outras alteraes houveram mudana na nomenclatura (remoo do 2 J2SE) e melhora significativa na performance. Ferramentas do JDK A seguir temos uma breve descrio das principais ferramentas que fazem parte do JDK: javac: Compilador da linguagem Java; java: Interpretador Java; jdb: Debugador Java; java -prof: Interpretador com opo para gerar estatsticas sobre o uso dos mtodos;

javadoc: Gerador de documentao; jar: Ferramenta que comprime, lista e expande; appletviewer: Permite a execuo e debug de applets sem browser; javap: Permite ler a interface pblica das classes; extcheck: Detecta conflitos em arquivos Jar.

Primeiro contato com o Java - Definies


Classe: a estrutura que, quando construda, produzir um objeto, dizemos todo objeto instncia de alguma classe;

Objeto: Em tempo de execuo, quando a JVM encontra a palavra reservada new criada uma instncia da classe apropriada; Estado: definido pelo conjunto de atributos de uma classe, isto , cada instncia da classe possuir um estado independente dos demais objetos. Comportamento: So os mtodos da classe, comportamento aquilo que uma classe faz (algoritmos), muitas vezes, um determinado comportamento (mtodo) muda o estado do objeto, isto , aps a execuo do mtodo um ou mais atributos mudaram de valor;

www.t2ti.com
7

Curso Java Starter

Primeiro contato com o Java - Nomenclatura


Existem trs aspectos importantes, em relao a nomenclatura, que devemos considerar quando estamos programando Java. Identificadores vlidos: Definem as regras para que o compilador identifique o nome como vlido. I. Devem iniciar com uma letra, cifro ($) ou sublinhado/underscore (_); II. Aps o primeiro caracter podem ter qualquer combinao de letras, caracteres e nmeros; III.No possuem limite de tamanho; IV. No podem ser palavras reservadas; V. Identificadores so case-sensitive isto , Nome e nome so identificadores diferentes.

Exemplos:

Identificadores vlidos
_codigo $turma $$_5A

Identificadores invlidos
5ident -idade %valor

Conveno de nomenclatura da SUN: So recomendaes da SUN para nomenclatura de classes, mtodos e variveis. Seu programa ir funcionar mesmo que voc no siga estas convenes. I. Classes e interfaces: A primeira letra deve ser maiscula e, caso o nome seja formado por mais de uma palavra, as demais palavras devem ter sua primeira letra maiscula tambm (camelCase); II. Mtodos: A primeira letra deve ser minscula e aps devemos aplicar o camelCase; III.Variveis: Da mesma forma que mtodos; IV. Constantes: Todas as letras do nome devem ser maisculas e caso seja formada por mais de uma palavra separada por underscore.

www.t2ti.com
8

Curso Java Starter


Exemplos:

Classes
Carro CursoJavaIniciante Hotel

Mtodos
desligar iniciarModulo

Variveis
motor quantidadeModulos

Constantes
COMBUSTIVEL NOME_CURSO TAXA_SERVICO

reservarSuiteMaster nomeReservaSuite

Conveno JavaBeans: Requisitos para que os nomes atendam a especificao para JavaBeans. I. Se o atributo no for um booleano o mtodo getter (utilizado para obter a varivel) deve iniciar por get; I. Se o atributo for um booleano o mtodo getter pode iniciar por get ou is; II. O mtodo setter (atribuio) da propriedade sempre deve iniciar por set; III.O restante do nome deve ser o nome do atributo concatenado ao prefixo (is, get ou set) em letra maiscula; IV. O mtodo setter e getter sempre devem ser pblicos.

Exemplos:

Setters atributo nome


public void setNome(argumento)

Getters atributo valor


public boolean getValor() public boolean isValor()

Instalao do JDK

A seguir veremos os passos necessrios para a instalao do JDK no Windows porm, antes de iniciarmos, vamos dar uma olhada nas variveis de ambiente que devem ser atualizadas e criadas quando instalamos o JDK:

JAVA_HOME: Indica o diretrio onde foi instalado o JDK, muito utilizado por frameworks e por outros programas para localizar o JDK;

www.t2ti.com
9

Curso Java Starter

PATH:

Identifica

local

onde

encontram-se

as

ferramentas

de

desenvolvimento (compilador, interpretador, gerador de documentao e etc.), devemos adicionar o diretrio JAVA_HOME\bin; CLASSPATH: Identifica diretrio onde o ClassLoader pode encontrar classes que so utilizadas pela sua aplicao.

Windows Faa o download do JDK no site da SUN e execute o instalador. *Muitos estudantes tm tido dificuldade para escolher o instalador. O instalador correto
o termo JDK no seu nome, se contiver o termo JRE o incorreto. sempre conter

www.t2ti.com
10

Curso Java Starter


Este diretrio ser utilizado na configurao do ambiente.

A seguir clique em Next> at que a instalao seja iniciada.

www.t2ti.com
11

Curso Java Starter

Neste momento inicia-se a instalao do JRE, continue clicando em Next>.

Nesta tela selecione todos os navegadores disponves.

www.t2ti.com
12

Curso Java Starter


Aguarde a concluso da instalao.

Clique em Finish para terminar o processo.

www.t2ti.com
13

Curso Java Starter


Aps a instalao do Java ns devemos iniciar a configurao das variveis de ambiente. 1. Clique com o boto direito em cima do cone Meu Computador; 2. V em Propriedades; 3. Selecione a aba Avanado; 4. Clique no boto Variveis de ambiente; 5. Clique no boto Nova em Variveis do sistema; 5.1. Nome da varivel: JAVA_HOME 5.2. Valor da varivel: Coloque aqui o endereo de instalao neste caso =

C:\Arquivos de programas\Java\jdk1.5.0_05 5.3. Clique em OK


6. Clique novamente no boto Nova em Variveis do sistema; 6.1. Nome da varivel: CLASSPATH 6.2. Valor da varivel:

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME %\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\ jre\lib;%JAVA_HOME%\jre\lib\rt.jar


6.3. Clique em OK 7. Selecione a vriavel PATH em Variveis do sistema; 7.1. Adicione o seguinte endereo ao campo Valor da varivel:

7.2.%JAVA_HOME%\bin
7.3. Clique em OK; 8. Clique em OK; 9. Clique em OK. Agora vamos testar a instalao. Clique no boto Iniciar, v em Executar e digite cmd.

www.t2ti.com
14

Curso Java Starter


No prompt do MS-DOS vamos testar o interpretador, digite java -version, dever aparecer algo parecido com isto:

Agora vamos testar o compilador, digite javac -version, dever aparecer algo parecido com isto:

Nos dois casos se apareceram textos semelhantes aos apresentados

www.t2ti.com
15

Curso Java Starter


significa que a instalao foi bem sucedida.

Primeira aplicao Java


Vamos criar a nossa primeira aplicao Java utilizando o editor do MS-DOS, para isto dirija-se ao prompt e digite edit Teste.java.

Dentro do editor digite o texto conforme abaixo:

www.t2ti.com
16

Curso Java Starter


Saia do editor pressionando ALT + F e X, se a verso do MS-DOS for em portugus a combinao de teclas ser diferente (provavelmente ALT + A e R), ao sair, o editor perguntar se voc deseja salvar. Escolha a opo afirmativa. Retorne ao console e digite: javac Teste.java. Este comando ir compilar a nossa classe e gerar o bytecode (Teste.class). Aps a gerao do arquivo compilado (.class) digite: java Teste. Este comando invoca o interpretador que ir transformar o nosso bytecode em cdigo de mquina.

Pronto, temos nossa primeira aplicao Java sendo executada1. Agora vamos entender um pouco de cada trecho do cdigo digitado.
1. public class Teste 2. { 3. public static void main(String[] parametros) 4. { 5. System.out.println("Curso Java Iniciante!!"); 6. } 7. }

Linha: 1. Declarao da classe pblica de nome Teste; 2. Incio do corpo da classe; 3. Declarao do mtodo main (pblico, esttico, sem retorno e parametrizado);
1 A instalao do JDK e a criao da aplicao so demonstradas no mini-curso Instalao do JDK

www.t2ti.com
17

Curso Java Starter


4. Incio do corpo do mtodo; 5. Comando para impresso na tela; 6. Fechamento do corpo do mtodo main; 7. Fechamento da classe.

Mtodo main
Antes de iniciar o mtodo main, vamos abrir um breve parnteses para introduzir a forma como comentamos o cdigo em Java. Basicamente existem duas formas: 1. // texto: Esta a forma de comentar apenas uma linha de cdigo 2. /* texto */: Esta declarao utilizada quando desejamos comentar mais de uma linha de cdigo Vejamos a classe anterior agora com comentrios:
//Este o comentrio de uma linha public class Teste { /* Este o comentrio de mais de uma linha */ public static void main(String[] parametros) { System.out.println("Curso Java Iniciante!!"); }

Retornando ao main, temos o seguinte:


public static void main(String[] parametros)

O main o mtodo que inicia as aplicaes Java, quando solicitamos ao interpretador que execute uma determinada classe compilada ele procura o mtodo main, se este mtodo no existir ir ser gerada uma exceo informando que o mtodo no foi localizado. A JVM s ir reconhecer o mtodo main se ele possuir as seguintes caractersticas:

www.t2ti.com
18

Curso Java Starter


1. Ser pblico (public); 2. Esttico (static); 3. No retornar nenhum valor (void); 4. O nome deve ser main; 5. Receber como parmetro um array de String.

Exerccios
Aprenda com quem tambm est aprendendo, veja e compartilhe as suas respostas no nosso Frum: Exerccios Mdulo 01 Introduo ao Java 1. Qual a diferena entre JRE e JDK? 2. Quais so os componentes da JDK? 3. Instale o JDK na sua mquina. 4. Crie uma classe que imprima o seguinte texto Terminei o mdulo 3 com um programa Java!. 5. Compile e execute a classe desenvolvida no exerccio anterior. 6. Comente o trecho de cdigo responsvel pela execuo da impresso, compile e execute. 7. Mude o nome do mtodo main para start, compile e execute. O que aconteceu? 8. Mude novamente o nome do mtodo main, agora para #main, compile e execute. O que aconteceu? 9. Qual dos exerccios, 7 ou 8, gerou uma exceo durante a compilao? E durante a execuo?

www.t2ti.com
19