Você está na página 1de 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 trabal o sabendo Java! " estrutura do curso # formada por mdulos em $%& e por mini'cursos em v(deo) O aluno deve bai*ar esse material e estud+'lo) %eve reali,ar os e*erc(cios propostos) -odas as d.vidas devem ser enviadas para a lista de discusso que est+ dispon(vel para inscrio na p+gina do Curso Java Starter no site ///)t0ti)com) "s d.vidas sero respondidas pelos instrutores "lbert 1ije! Cl+udio de 2arros e 3iguel 4ojiio! al#m dos demais participantes da lista) 5osso objetivo # que aps o estudo do Curso Java Starter o aluno no ten a dificuldades para acompan ar um curso avanado onde poder+ aprender a desenvolver aplicativos para 6eb! utili,ando tecnologias como Servlets e JS$ e frame/or7s como Struts e JS&! al#m do desenvolvimento para dispositivos mveis) "lbert 1ije trabal a com inform+tica desde 1889) %urante esse per(odo j+ trabal ou com v+rias linguagens de programao: Clipper! $;$! %elp i! C! Java! etc) "tualmente mant#m o site ///)alberteije)com) Cl+udio de 2arros # -ecnlogo em $rocessamento de %ados) 3iguel 4ojiio # bac arel em Sistemas de <nformao! profissional certificado Java =SCJ$ 1)>?) O curso Java Starter surgiu da id#ia dos trs amigos que trabal am juntos em uma instituio financeira de grande porte)

www.t2ti.com
0

Curso Java Starter

Mdulo

01
Histrico
janela de James @osling)

Introduo ao

Java

" linguagem de programao Java foi criada em 1881 por James @osling! ela iniciou'se como parte do projeto @reen da Sun 3icrosAstems) <nicialmente a linguagem iria c amar'se Oa7 =Carval o? em referncia a +rvore que era vis(vel pela " mudana de nome ocorreu pois j+ e*istia uma linguagem de programao com este nome! ento a linguagem foi rebati,ada para Java) O termo Java # utili,ado! geralmente! quando nos referimos a: Binguagem de programao orientada a objetosC "mbiente de desenvolvimento composto pelo compilador! interpretador! gerador de documentao e etc)C

"mbiente de e*ecuo que pode ser praticamente qualquer m+quina que possua Java Runtime Environment =JD1? instaladoC

" linguagem de programao Java # uma linguagem de alto'n(vel com as seguintes caracter(sticas: Simples: O aprendi,ado da linguagem de programao Java pode ser feito em um curto per(odo de tempoC Orientada a objetos: %esde o in(cio do seu desenvolvimento esta linguagem foi projetada para ser orientada a objetosC Familiar: " linguagem Java # muito familiar para os programadores CECFF C Robusta: 1la foi pensada para o desenvolvimento de soft/ares confi+veis!

www.t2ti.com
9

Curso Java Starter


provendo verificaGes tanto em tempo de e*ecuo quanto compilao! o coletor de li*o responsabili,a'se pela limpe,a da memria quando necessidadeC Segura: "plicaGes Java so e*ecutadas em ambiente prprio =JD1? o que inviabili,a a intruso de cdigo maliciosoC ort!vel: $rogramas desenvolvidos nesta linguagem podem ser e*ecutados em praticamente qualquer m+quina desde que esta possua o JD1 instaladoC etc) ouver

"!#uina $irtual Java % J$" " m+quina virtual java =JH3? # uma m+quina imagin+ria que emula uma aplicao em uma m+quina real) I a JH3 que permite a portabilidade do cdigo Java! isto ocorre porque todo cdigo Java # compilada para um formato intermedi+rio! bAtecode! este formato # ento interpretado pela JH3) 1*istem diversas JH3s cada uma delas destinada a um tipo de sistema operacional =6indo/s! Binu*! 3ac e etc)?! desta forma sendo o cdigo da aplicao Java! bAtecode! um cdigo interpretado pela JH3! podemos desenvolver uma aplicao sem nos preocuparmos onde ela ser+ e*ecutada pois sabemos que e*istindo a JH3 instalada nosso cdigo ser+ e*ecut+vel) Coletor de &i'o ( )arbage Collection 3uitas linguagens de programao nos permitem alocar espao na memria em tempo de e*ecuo! uma ve, encerrado o programa deve liberar este espao para que outras aplicaGes possam utili,+'lo) 1m muitas das linguagens de programao! inclusive C e CFF! a responsabilidade pela liberao do espao que no mais ser+ utili,ado # do programador! no entanto! nem sempre # f+cil gerenciar o que est+ e o que no est+ sendo utili,ado! a m+ gerncia da memria ocasiona muitas ve,es o estouro de pil a =stac7 overflo/? entre outros problemas) 5a linguagem de programao Java a responsabilidade pela gerncia da aver uma maneira de

www.t2ti.com
J

Curso Java Starter


memria # do Coletor de li*o =@arbage Collector?! desta forma! programadores Java ficam livres da preocupao de alocao e desalocao da memria) O Coletor de li*o # um processo que roda em segundo plano e # respons+vel pela liberao de memria alocada por vari+veis que no mais sero utili,adas pela aplicao) Fases de um programa Java "s fases pelo qual passam um programa Java relacionam'se da seguinte forma:

*+ Criao do cdigo fonte =$rograma)java?C ,+ Compilao do cdigo fonte e gerao do bAtecode =$rograma)class?C -+ <nterpretao do bAtecode pela m+quina virtualC .+ Converso do bAtecode em linguagem de m+quina) Hotspot ;otspot # a m+quina virtual Java! ela prov algumas funcionalidades muito importantes) "o contr+rio de outras aplicaGes! que so compiladas diretamente para cdigo da m+quina em que sero e*ecutadas! em Java estas somente so transformadas em cdigo de m+quina em tempo de e*ecuo quando necess+rio) 5o princ(pio esta abordagem trou*e problemas de sobrecarga e lentido dos sistemas! no entanto! a JH3 vem se aprimorando e! em muitas situaGes! as aplicaGes Java tem desempen o similar as aplicaGes que so previamente compiladas) 1ste desempen o vem mel orando muito devido a otimi,ao que a m+quina virtual consegue fa,er a medida que o cdigo # e*ecutado) $erceba que quando programamos em C! por e*emplo! o cdigo fonte # transformado em cdigo de m+quina imediatamente)

www.t2ti.com
>

Curso Java Starter


1m princ(pio podemos pensar que o fato do programa no precisar passar por uma etapa a mais! interpretao! ir+ torn+'lo mais eficiente! mas muitas ve,es a compilao est+tica no consegue prever situaGes que iro ocorrer durante a e*ecuo do cdigo: trec os da aplicao mais utili,ados! carga do sistema! quantidade de usu+rios simultKneos! memria dispon(vel e etc)) 1stas informaGes! relativas ao ambiente no qual a aplicao est+ sendo e*ecutada! so utili,adas pela JH3 para fa,er otimi,aGes em tempo de e*ecuo e avendo necessidade o cdigo que est+ sendo interpretado # transformado em instruGes nativas do sistema operacional =cdigo de m+quina? em um processo de compilao dinKmica) 1sta transformao em tempo de e*ecuo # reali,ada pelo J<-! Just'in'time compiler) O fato do cdigo =bAtecode? ser transformado! em tempo de e*ecuo! em cdigo de m+quina permite que a JH3 mude a estrat#gia de compilao em busca de um mel or desempen o! em um ciclo de Laprendi,adoM cont(nuo) JRE e J/0 JRE: O Java Duntime 1nvironment cont#m tudo aquilo que um usu+rio comum precisa para e*ecutar uma aplicao Java =JH3 e bibliotecas?! como o prprio nome di, # o L"mbiente de e*ecuo JavaMC J/0: O Java %evelopment 4it # composto pelo JD1 e um conjunto de ferramentas .teis ao desenvolvedor Java) $ers1es do Java2 "bai*o temos uma s(ntese das versGes do Java e as principais alteraGes nas nomenclaturas e no seu conte.do) *+ J/0 *+3 4*55672 $rimeira versoC ,+ J/0 *+* 4*55872 "dio das bibliotecas J%2C! D3< e etcC -+ J,SE *+, 4*5597 ( la:ground2 " partir daqui todas as versGes Java foram denominadas de Java 0 Standard 1dition! passaram a ter apelidos =$laAground? e foi adicionado o &rame/or7 Collections e etc)C .+ J,SE *+- 4,3337 ( 0estrel2 <ncluso das bibliotecas J5%<! JavaSound e etc)C

www.t2ti.com
N

Curso Java Starter


;+ J,SE *+. 4,33,7 ( "erlin2 $alavra reservada LassertM! biblioteca 5<O e etc)C 6+ J,SE ;+3 4,33.7 ( <iger2 "pesar da verso ser 1)>! agora # c amada apenas de >) "diGes importantes como: 1numerao! "utobo*ing! @enerics! for'eac e etcC 8+ JSE 6 4,3367 ( "ustang2 1ntre outras alteraGes ouveram mudana na nomenclatura =remoo do 0 O J0S1? e mel ora significativa na performance) Ferramentas do J/0 " seguir temos uma breve descrio das principais ferramentas que fa,em parte do J%4: javac: Compilador da linguagem JavaC java: <nterpretador JavaC jdb: %ebugador JavaC java %pro=: <nterpretador com opo para gerar estat(sticas sobre o uso dos m#todosC

javadoc: @erador de documentaoC jar: &erramenta que comprime! lista e e*pandeC appletvie>er: $ermite a e*ecuo e debug de applets sem bro/serC javap: $ermite ler a interface p.blica das classesC e'tc?ec@: %etecta conflitos em arquivos Jar)

rimeiro contato com o Java % /e=ini1es


Classe2 I a estrutura que! quando constru(da! produ,ir+ um objeto! di,emos Atodo objeto B instCncia de alguma classeDC

Objeto2 1m tempo de e*ecuo! quando a JH3 encontra a palavra reservada ne> # criada uma instKncia da classe apropriadaC Estado2 I definido pelo conjunto de atributos de uma classe! isto #! cada instKncia da classe possuir+ um estado independente dos demais objetos) Comportamento2 So os m#todos da classe! comportamento # aquilo que uma classe fa, =algoritmos?! muitas ve,es! um determinado comportamento =m#todo? muda o estado do objeto! isto #! aps a e*ecuo do m#todo um ou mais atributos mudaram de valorC

www.t2ti.com
P

Curso Java Starter

rimeiro contato com o Java % Eomenclatura


1*istem trs aspectos importantes! em relao a nomenclatura! que devemos considerar quando estamos programando Java) Fdenti=icadores v!lidos2 %efinem as regras para que o compilador identifique o nome como v+lido) <) %evem iniciar com uma letra! cifro =Q? ou sublin adoEunderscore =R?C <<) "ps o primeiro caracter podem ter qualquer combinao de letras! caracteres e n.merosC <<<)5o possuem limite de taman oC <H) 5o podem ser palavras reservadasC H) <dentificadores so case'sensitive isto #! L5omeM e LnomeM so identificadores diferentes)

1*emplos:

Fdenti=icadores v!lidos
Rcodigo Qturma QQR>"

Fdenti=icadores inv!lidos
>ident 'idade Svalor

Conveno de nomenclatura da SGE2 So recomendaGes da ST5 para nomenclatura de classes! m#todos e vari+veis) Seu programa ir+ funcionar mesmo que voc no siga estas convenGes) <) Classes e interfaces: " primeira letra deve ser mai.scula e! caso o nome seja formado por mais de uma palavra! as demais palavras devem ter sua primeira letra mai.scula tamb#m =camelCase?C <<) 3#todos: " primeira letra deve ser min.scula e aps devemos aplicar o camelCaseC <<<)Hari+veis: %a mesma forma que m#todosC <H) Constantes: -odas as letras do nome devem ser mai.sculas e caso seja formada por mais de uma palavra separada por underscore)

www.t2ti.com
U

Curso Java Starter


1*emplos:

Classes
Carro CursoJava<niciante ;otel

"Btodos
desligar iniciar3odulo

$ari!veis
motor quantidade3odulos

Constantes
CO32TS-<H1B 5O31RCTDSO -"V"RS1DH<CO

reservarSuite3aster nomeDeservaSuite

Conveno JavaHeans2 Dequisitos para que os nomes atendam a especificao para Java2eans) <) Se o atributo no for um booleano o m#todo getter =utili,ado para obter a vari+vel? deve iniciar por LgetMC <) Se o atributo for um booleano o m#todo getter pode iniciar por LgetM ou LisMC <<) O m#todo setter =atribuio? da propriedade sempre deve iniciar por LsetMC <<<)O restante do nome deve ser o nome do atributo concatenado ao prefi*o =is! get ou set? em letra mai.sculaC <H) O m#todo setter e getter sempre devem ser p.blicos)

1*emplos:

Setters ( atributo nome


public void set5ome=argumento?

)etters ( atributo valor


public boolean getHalor=? public boolean isHalor=?

Fnstalao do J/0

" seguir veremos os passos necess+rios para a instalao do J%4 no 6indo/s por#m! antes de iniciarmos! vamos dar uma ol ada nas vari+veis de ambiente que devem ser atuali,adas e criadas quando instalamos o J%4:

JA$AIHO"E: <ndica o diretrio onde foi instalado o J%4! muito utili,ado por frame/or7s e por outros programas para locali,ar o J%4C

www.t2ti.com
8

Curso Java Starter

A<H:

<dentifica

local

onde

encontram'se

as

ferramentas

de

desenvolvimento =compilador! interpretador! gerador de documentao e etc)?! devemos adicionar o diretrio J"H"R;O31WbinC C&ASS A<H: <dentifica diretrio onde o ClassBoader pode encontrar classes que so utili,adas pela sua aplicao)

Jindo>s &aa o do/nload do J%4 no site da ST5 e e*ecute o instalador) X3uitos estudantes tm tido dificuldade para escol
o termo J%4 no seu nome! se contiver o termo JD1 # o incorreto) er o instalador) O instalador correto sempre conter+

www.t2ti.com
1Y

Curso Java Starter


1ste diretrio ser+ utili,ado na configurao do ambiente)

" seguir clique em Ee'tK at# que a instalao seja iniciada)

www.t2ti.com
11

Curso Java Starter

5este momento inicia'se a instalao do JD1! continue clicando em Ee'tK)

5esta tela selecione todos os navegadores dispon(ves)

www.t2ti.com
10

Curso Java Starter


"guarde a concluso da instalao)

Clique em Finis? para terminar o processo)

www.t2ti.com
19

Curso Java Starter


"ps a instalao do Java ns devemos iniciar a configurao das vari+veis de ambiente) *+ Clique com o boto direito em cima do (cone L3eu ComputadorMC ,+ H+ em L$ropriedadesMC -+ Selecione a aba L"vanadoMC .+ Clique no boto LHari+veis de ambienteMC ;+ Clique no boto L5ovaM em LHari+veis do sistemaMC ;+*+ 5ome da vari+vel: J"H"R;O31 ;+,+ Halor da vari+vel: Coloque aqui o endereo de instalao neste caso Z

C:\Arquivos de programas\Java\jdk1.5.0_05 ;+-+ Clique em O0


6+ Clique novamente no boto L5ovaM em LHari+veis do sistemaMC 6+*+ 5ome da vari+vel: CB"SS$"-; 6+,+ Halor da vari+vel:

.;%JAVA_HO !%\"i#;%JAVA_HO !%\"i#\$oo"s.jar;%JAVA_HO ! %\"i#\d$.jar;%JAVA_HO !%\"i#\%$m"&o'ver$er.jar;%JAVA_HO !%\ jre\"i#;%JAVA_HO !%\jre\"i#\r$.jar


6+-+ Clique em O0 8+ Selecione a v+riavel $"-; em LHari+veis do sistemaMC 8+*+ "dicione o seguinte endereo ao campo Halor da vari+vel:

7.2.%JAVA_HO !%\#i'
8+-+ Clique em O4; 9+ Clique em O0L 5+ Clique em O0+ "gora vamos testar a instalao) Clique no boto Fniciar! v+ em E'ecutar e digite cmd)

www.t2ti.com
1J

Curso Java Starter


5o prompt do 3S'%OS vamos testar o interpretador! digite java %version! dever+ aparecer algo parecido com isto:

"gora vamos testar o compilador! digite javac %version! dever+ aparecer algo parecido com isto:

5os dois casos se apareceram te*tos semel antes aos apresentados

www.t2ti.com
1>

Curso Java Starter


significa que a instalao foi bem sucedida)

rimeira aplicao Java


Hamos criar a nossa primeira aplicao Java utili,ando o editor do 3S'%OS! para isto dirija'se ao prompt e digite edit <este+java+

%entro do editor digite o te*to conforme abai*o:

www.t2ti.com
1N

Curso Java Starter


Saia do editor pressionando A&< M F e N! se a verso do 3S'%OS for em portugus a combinao de teclas ser+ diferente =provavelmente A&< M A e R?! ao sair! o editor perguntar+ se voc deseja salvar) 1scol a a opo afirmativa) Detorne ao console e digite: javac <este+java) 1ste comando ir+ compilar a nossa classe e gerar o bAtecode =-este)class?) "ps a gerao do arquivo compilado =)class? digite: java <este) 1ste comando invoca o interpretador que ir+ transformar o nosso bAtecode em cdigo de m+quina)

$ronto! temos nossa primeira aplicao Java sendo e*ecutada1) "gora vamos entender um pouco de cada trec o do cdigo digitado)
1. public class (es$e 2. ) 3. public static void mai'*+$ri'g,- parame$ros. 4. ) 5. +/s$em.out.pri'$"'*0Curso Java 1'i&ia'$e220.; 6. 3 7. 3

Bin a: *+ %eclarao da classe p.blica de nome -esteC ,+ <n(cio do corpo da classeC -+ %eclarao do m#todo main =p.blico! est+tico! sem retorno e parametri,ado?C
1 A instalao do JDK e a criao da aplicao so demonstradas no mini-curso Instalao do JDK

www.t2ti.com
1P

Curso Java Starter


.+ <n(cio do corpo do m#todoC ;+ Comando para impresso na telaC 6+ &ec amento do corpo do m#todo mainC 8+ &ec amento da classe)

"Btodo main
"ntes de iniciar o m#todo main! vamos abrir um breve parnteses para introdu,ir a forma como comentamos o cdigo em Java) 2asicamente e*istem duas formas: *+ OO te*to: 1sta # a forma de comentar apenas uma lin a de cdigo ,+ OP te*to PO: 1sta declarao # utili,ada quando desejamos comentar mais de uma lin a de cdigo Hejamos a classe anterior agora com coment+rios:
44!s$e 5 o &ome'$6rio de uma "i'%a public class (es$e ) 47 !s$e 5 o &ome'$6rio de mais de uma "i'%a 74 public static void mai'*+$ri'g,- parame$ros. ) +/s$em.out.pri'$"'*0Curso Java 1'i&ia'$e220.; 3

Detornando ao main! temos o seguinte:


public static void mai'*+$ri'g,- parame$ros.

O main # o m#todo que inicia as aplicaGes Java! quando solicitamos ao interpretador que e*ecute uma determinada classe compilada ele procura o m#todo main! se este m#todo no e*istir ir+ ser gerada uma e*ceo informando que o m#todo no foi locali,ado) " JH3 s ir+ recon ecer o m#todo main se ele possuir as seguintes caracter(sticas:

www.t2ti.com
1U

Curso Java Starter


*+ Ser p.blico =public?C ,+ 1st+tico =static?C -+ 5o retornar nen um valor =void?C .+ O nome deve ser LmainMC ;+ Deceber como parKmetro um arraA de String)

E'ercQcios
"prenda com quem tamb#m est+ aprendendo! veja e compartil e as suas respostas no nosso &rum: 1*erc(cios O 3dulo Y1 O <ntroduo ao Java *+ [ual a diferena entre JD1 e J%4\ ,+ [uais so os componentes da J%4\ -+ <nstale o J%4 na sua m+quina) .+ Crie uma classe que imprima o seguinte te*to L-erminei o mdulo 9 com um programa Java]M) ;+ Compile e e*ecute a classe desenvolvida no e*erc(cio anterior) 6+ Comente o trec o de cdigo respons+vel pela e*ecuo da impresso! compile e e*ecute) 8+ 3ude o nome do m#todo LmainM para LstartM! compile e e*ecute) O que aconteceu\ 9+ 3ude novamente o nome do m#todo LmainM! agora para L^mainM! compile e e*ecute) O que aconteceu\ 5+ [ual dos e*erc(cios! P ou U! gerou uma e*ceo durante a compilao\ 1 durante a e*ecuo\

www.t2ti.com
18

Você também pode gostar