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
trabalo 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 tena
dificuldades para acompanar 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 trabala com inform+tica desde 1889) %urante esse per(odo j+
trabalou com v+rias linguagens de programao: Clipper! $;$! %elpi! C! Java! etc)
"tualmente mant#m o site ///)alberteije)com)
Cl+udio de 2arros # -ecnlogo em $rocessamento de %ados)
3iguel 4ojiio # bacarel em Sistemas de <nformao! profissional certificado
Java =SCJ$ 1)>?)
O curso Java Starter surgiu da id#ia dos trs amigos que trabalam juntos em
uma instituio financeira de grande porte)
www.t2ti.com
0
Curso Java Starter
Mdulo
Introduo ao
Java
Histrico
" 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 camar'se Oa7 =Carvalo? em referncia a +rvore que era vis(vel pela
janela de James @osling)
" 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 ouver
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)
"!#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 aver uma maneira de
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 pila
=stac7 overflo/? entre outros problemas)
5a linguagem de programao Java a responsabilidade pela gerncia da
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 desempeno similar as aplicaGes que so previamente
compiladas)
1ste desempeno vem melorando 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: trecos 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 melor desempeno! 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 # camada 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 melora 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 sublinadoEunderscore =R?C
<<) "ps o primeiro caracter podem ter qualquer combinao de letras!
caracteres e n.merosC
<<<)5o possuem limite de tamanoC
<H) 5o podem ser palavras reservadasC
H) <dentificadores so case'sensitive isto #! L5omeM e LnomeM so
identificadores diferentes)
1*emplos:
Fdenti=icadores v!lidos Fdenti=icadores inv!lidos
Rcodigo >ident
Qturma 'idade
QQR>" 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 "Btodos $ari!veis Constantes
Carro desligar motor CO32TS-<H1B
CursoJava<niciante iniciar3odulo quantidade3odulos 5O31RCTDSO
;otel reservarSuite3aster nomeDeservaSuite -"V"RS1DH<CO
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 )etters ( atributo valor
public void set5ome=argumento? 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 olada 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 o local onde encontram'se as ferramentas de
desenvolvimento =compilador! interpretador! gerador de documentao e
etc)?! devemos adicionar o diretrio J"H"R;O31WbinC
C&ASSA<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 escoler o instalador) O instalador correto sempre conter+
o termo J%4 no seu nome! se contiver o termo JD1 # o incorreto)
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 semelantes 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) 1scola 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*ecutada
1
) "gora
vamos entender um pouco de cada treco 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
Bina:
*+ %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+ &ecamento do corpo do m#todo mainC
8+ &ecamento 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 lina de cdigo
,+ OP te*to PO: 1sta declarao # utili,ada quando desejamos comentar mais
de uma lina 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
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+ reconecer 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 nenum 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 compartile 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 treco 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