Sei sulla pagina 1di 61

Curso Bsico de

Java

Nathalia Gomes Chaves

Expectativas

Quais as expectativas que voc tem em relao a este curso?


https://docs.google.com/spreadsheet/viewform?formkey=dF9kZ TdtRktGR0ZxS3RsTHNVem1fN1E6MQ

Curso Bsico de Java

Agenda

Conhecendo os Conceitos de Java; Variveis Primitivas; Controle de Fluxo; Eclipse IDE; Incio da Orientao a Objetos ; Arrays, Modificadores de Acesso e Atributos de Classe; Orientao a Objetos: Classes Abstratas e Interfaces; Controlando os Erros com Excees; Apresentando Interface Swing.

Curso Bsico de Java

Mdulo I:
Conhecendo os Conceitos de Java.

Curso Bsico de Java

Mdulo I - Contedo Conhecendo os Conceitos de Java.


O que Java; Mquina Virtual ; Entendendo: JVM, JRE e JDK; Os objetivos do Java e onde aplicar;

Configurando o ambiente;
Passos do primeiro programa; Exerccios 01; Curiosidades do Java.

Curso Bsico de Java

Conhecendo os Conceitos de Java O que Java?


Respondendo as perguntas mais bsicas sobre Java. Na concluso desde Mdulo voc ser capaz de: responder o que Java; mostrar as vantagens e desvantagens do Java; entender bem o conceito de mquina virtual; compilar e executar um programa simples.

Curso Bsico de Java

Conhecendo os Conceitos de Java O que Java?


A histria da plataforma Java essencial para enxergar os motivos do seu sucesso. Programao na dcada de 90, quais os maiores problemas? ponteiros? gerenciamento de memria? organizao? falta de bibliotecas? ter de reescrever parte do cdigo ao mudar de sistema operacional? custo financeiro de usar a tecnologia?

Curso Bsico de Java

Conhecendo os Conceitos de Java O que Java?


A linguagem Java resolve bem esses problemas, que apareciam constantemente nas outras linguagens. Alguns desses problemas foram particularmente atacados porque uma das grandes motivaes para a criao da plataforma Java era de que essa linguagem fosse usada em pequenos dispositivos, como Tvs, video-cassetes, aspiradores, liquidificadores e outros. Lanamento focado no uso em clientes web (browsers) para rodar pequenas aplicaes (applets).

Curso Bsico de Java

Conhecendo os Conceitos de Java O que Java?


O Java desenvolvido e mantido pela Sun (http://www.sun.com) atravs de um comit (http://www.jcp.org) e seu site principal o http://java.sun.com. Com a compra da Sun pela Oracle em 2009, muitas URLs e nomes tem sido trocados para refletir a marca da Oracle.

Curso Bsico de Java

Conhecendo os Conceitos de Java O que Java?


A Sun criou um time (conhecido como Green Team) para desenvolver inovaes tecnolgicas em 1992. Esse time foi liderado por James Gosling, considerado o pai do Java. Tiveram a ideia de criar um interpretador (j era uma mquina virtual) para pequenos dispositivos, facilitando a reescrita de software para aparelhos eletrnicos, como vdeo cassete, televiso e aparelhos de TV a cabo.

Curso Bsico de Java

10

Conhecendo os Conceitos de Java O que Java?


Na poca a idia no deu certo! Hoje o Java domina o mercado de aplicaes para celulares com mais de 2.5 bilhes de dispositivos compatveis, porm em 1994 ainda era muito cedo para isso.

Curso Bsico de Java

11

Conhecendo os Conceitos de Java O que Java?


Com o surgimento da web, a Sun percebeu que poderia utilizar a idia criada em 1992 para rodar pequenas aplicaes dentro do browser. A semelhana era que na internet havia uma grande quantidade de sistemas operacionais e browsers, e com isso seria grande vantagem poder programar numa nica linguagem, independente da plataforma. O Java 1.0 foi lanado: focado em transformar o browser para uma aplicao que possa tambm realizar operaes, no apenas renderizar html.

Curso Bsico de Java

12

Conhecendo os Conceitos de Java O que Java?


Atualmente os applets realmente no so o foco da Sun. A tecnologia Java nasceu com um objetivo em mente, foi lanado com outro, mas, no final, decolou mesmo no desenvolvimento de aplicaes do lado do servidor.

Curso Bsico de Java

13

Conhecendo os Conceitos de Java O que Java?


Histria da linguagem Java em: http://java.sun.com/java2/whatis/1996/storyofjava.html E um vdeo interessante: http://tinyurl.com/histjava A Oracle comprou a Sun em 2009, fortalecendo a marca. A Oracle sempre foi, junto com a IBM,uma das empresas que mais investiram e fizeram negcios atravs do uso da plataforma Java. No Brasil, diversos grupos de usurios se formaram para tentar disseminar o conhecimento da linguagem.

Curso Bsico de Java

14

Conhecendo os Conceitos de Java O que Java?


Um deles o GUJ (http://www.guj.com.br), uma comunidade virtual com artigos, tutoriais e frum para tirar dvidas, o maior em lngua portuguesa com mais de cem mil usurios e 1 milho de mensagens.

Curso Bsico de Java

15

Conhecendo os Conceitos de Java Mquina Virtual


Em uma linguagem de programao como C e Pascal, temos a seguinte situao quando vamos compilar um programa:

Cdigo fonte em C

compila

Cdigo binrio para um determinado SO

Curso Bsico de Java

16

Conhecendo os Conceitos de Java Mquina Virtual


O cdigo fonte compilado para cdigo de mquina especfico de uma plataforma e sistema operacional. Muitas vezes o prprio cdigo fonte desenvolvido visando uma nica plataforma.

Esse cdigo executvel (binrio) resultante ser executado pelo sistema operacional e, por esse motivo, ele deve saber conversar com o sistema operacional em questo.

Curso Bsico de Java

17

Conhecendo os Conceitos de Java Mquina Virtual

Curso Bsico de Java

18

Conhecendo os Conceitos de Java Mquina Virtual


Existe um cdigo executvel para cada sistema operacional. Para compilar necessrio uma vez para Windows, outra para o Linux, e assim por diante, caso necessite que esses softwares possam ser utilizado em vrias plataformas.

Esse o caso de aplicativos como o OpenOffice, Firefox e outros.


Como foi dito anteriormente, na maioria das vezes, a sua aplicao se utiliza das bibliotecas do sistema operacional, como, por exemplo, a de interface grfica para desenhar as telas.

Curso Bsico de Java

19

Conhecendo os Conceitos de Java Mquina Virtual


A biblioteca de interface grfica do Windows bem diferente das do Linux: como criar ento uma aplicao que rode de forma parecida nos dois sistemas operacionais? Precisamos reescrever um mesmo pedao da aplicao para diferentes sistemas operacionais, j que eles no so compatveis. O Java utiliza do conceito de mquina virtual, onde existe, entre o sistema operacional e a aplicao, uma camada extra responsvel por traduzir.

Curso Bsico de Java

20

Conhecendo os Conceitos de Java Mquina Virtual


O que sua aplicao deseja fazer para as respectivas chamadas do sistema operacional onde ela est rodando no momento:

Curso Bsico de Java

21

Conhecendo os Conceitos de Java Mquina Virtual


A maneira com a qual voc abre uma janela no Linux ou no Windows a mesma: voc ganha independncia de sistema operacional. Independncia de plataforma em geral: no preciso se preocupar em qual sistema operacional sua aplicao est rodando, nem em que tipo de mquina, configuraes, etc. Uma mquina virtual um conceito bem mais amplo que o de um interpretador, ou seja, como um computador de mentira": tem tudo que um computador tem.

Curso Bsico de Java

22

Conhecendo os Conceitos de Java Mquina Virtual


A mquina virtual responsvel por gerenciar memria, threads, a pilha de execuo, etc. Sua aplicao roda sem nenhum envolvimento com o sistema operacional.

Sempre conversando apenas com a Java Virtual Machine (JVM).

Curso Bsico de Java

23

Conhecendo os Conceitos de Java Mquina Virtual


Caracterstica interessante: como tudo passa pela JVM, ela pode tirar mtricas, decidir onde melhor alocar a memria, entre outros. Uma JVM isola totalmente a aplicao do sistema operacional.

Se uma JVM termina inesperadamente, s as aplicaes que estavam rodando nela iro terminar: isso no afetar outras JVMs que estejam rodando no mesmo computador, nem afetar o sistema operacional.

Curso Bsico de Java

24

Conhecendo os Conceitos de Java Mquina Virtual


Esse cdigo de mquina gerado por um compilador java, como o javac, e conhecido por bytecode, pois existem menos de 256 cdigos de operao dessa linguagem, e cada opcode gasta um byte. O compilador Java gera esse bytecode que, diferente das linguagens sem mquina virtual, vai servir para diferentes sistemas operacionais, j que ele vai ser traduzido pela JVM. Write once, run anywhere Esse um slogan que a Sun usa para o Java, j que voc no precisa reescrever partes da sua aplicao toda vez que quiser mudar de sistema operacional.
Curso Bsico de Java
25

Conhecendo os Conceitos de Java Entendendo: JVM, JRE e JDK

JVM = apenas a virtual machine, esse download no existe, ela sempre vem acompanhada. JRE = Java Runtime Environment, ambiente de execuo Java, formado pela JVM e bibliotecas, tudo que voc precisa para executar uma aplicao Java. Mas ns precisamos de mais. JDK = Java Development Kit: Ele formado pela JRE somado a ferramentas, como o compilador.

Curso Bsico de Java

26

Conhecendo os Conceitos de Java


Cdigo-fonte do convite de festa interativo. Method Party ( ) 0 aload 0 1 invokespecial #1 <Method java.lang.Object ( ) > 4 return

Cdigo-fonte 1
Crie um documento para o cdigo-fonte. Use um protocolo estabelecido ( nesse caso a linguagem Java)

Compilador 2

Sada(cdigos) 3 O computador criar um novo documento, codificado em bytecode Java. Qualquer dispositivo capaz de executar Java conseguir interpretar/ converter em arquivo que possa processar. O bytecode compilado independente da plataforma .

Mquinas vituais 4 Seus amigos no tm uma mquina Java fsica, mais todos tm uma mquina Java virtual ( implementada em software ) sendo executada dentro dos seus aparelhos eletrnicos. A mquina virtual ler e executar bytecode.
27

Execute seu documento em um compilador de cdigo-fonte. O compilador procurar erros e no deixar voc compilar at ter certeza que tudo ser executado corretamente.

Curso Bsico de Java

Conhecendo os Conceitos de Java Os objetivos do Java e onde aplicar


O Java aparentemente pode parecer ter menor produtividade quando comparada com outras linguagens. preciso ficar claro que a premissa do Java no a de criar sistemas pequenos, onde temos um ou dois desenvolvedores, mais rapidamente que linguagens como php, perl, e outras.

Curso Bsico de Java

28

Conhecendo os Conceitos de Java Os objetivos do Java e onde aplicar


O foco da plataforma : aplicaes de mdio a grande porte, onde o time de desenvolvedores tem vrias pessoas e sempre pode vir a mudar e crescer. Criar a primeira verso uma aplicao usando Java, mesmo utilizando IDEs e ferramentas poderosas, ser mais trabalhoso que muitas linguagens script ou de alta produtividade. Porm, com uma linguagem orientada a objetos e madura como o Java, ser extremamente mais fcil e rpido fazer alteraes no sistema, desde que voc siga as boas prticas e recomendaes sobre design orientado a objetos.

Curso Bsico de Java

29

Conhecendo os Conceitos de Java Os objetivos do Java e onde aplicar


A quantidade enorme de bibliotecas gratuitas para realizar os mais diversos trabalhos (relatrios, grficos, sistemas de busca, gerao de cdigo de barra, manipulao de XML, tocadores de vdeo, manipuladores de texto, impresso, etc) um ponto fortssimo para adoo do Java: voc pode criar uma aplicao sofisticada, usando diversos recursos. Cada linguagem tem seu espao e seu melhor uso.

Curso Bsico de Java

30

Conhecendo os Conceitos de Java Os objetivos do Java e onde aplicar


O uso do Java interessante em aplicaes que viro a crescer, em que a legibilidade do cdigo importante, onde temos muita conectividade e se temos plataformas (ambientes e sistemas operacionais) heterogneos (Linux, Unix, OSX e Windows misturados).

Hoje existe uma quantidade enorme de ofertas de emprego procurando desenvolvedores Java para trabalhar com sistemas web e aplicaes de integrao no servidor.

Curso Bsico de Java

31

Conhecendo os Conceitos de Java Configurando o ambiente


Instalao do Java Development Kit em ambiente Windows e Linux. Escolhendo a VM A VM apenas uma especificao e devemos baixar uma implementao. H muitas empresas que implementam uma VM, como a prpria Sun, a IBM, a BEA e outras. A da Sun/Oracle a mais usada e possui verses para Windows, Linux e Solaris. Acesse: http://www.oracle.com/technetwork/java/javase/downloads/ind ex.html

Curso Bsico de Java

32

Conhecendo os Conceitos de Java Configurando o ambiente


Instalando no Ubuntu e outros Linux Cada distribuio Linux tem sua prpria forma de instalao. Algumas j trazem o Java junto, outras possibilitam que voc instale pelos repositrios oficiais e em alguns necessrio baixar direto da Sun e configurar tudo manualmente. No Ubuntu, a distribuio usada na Caelum e a mais usada no mundo, a instalao bastante simples. Basta ir no terminal e digitar: sudo apt-get install sun-java6-jdk
Curso Bsico de Java
33

Conhecendo os Conceitos de Java Configurando o ambiente


No Mac OS X e Solaris O Mac OS X j traz o Java instalado junto com o sistema operacional. uma VM desenvolvida pela prpria Apple e baseada no cdigo da Sun. Atualizaes para a VM devem ser obtidas no site da Apple em: http://developer.apple.com/java/ O Solaris, por ser da prpria Sun, tambm traz o Java instalado j de fbrica. a prpria VM da empresa, que pode ser baixada tambm no site oficial:

http://java.sun.com/javase/downloads/
Curso Bsico de Java
34

Conhecendo os Conceitos de Java Configurando o ambiente


Instalao do JDK em ambiente Windows: Para instalar o JDK no Windows, primeiro baixe-o no site da Sun. um simples arquivo executvel que contm o Wizard de instalao.

Instalao: 1) D um clique duplo no arquivo jdk-<verso>-windows-i586p.exe e espere at ele entrar no wizard de instalao.

Curso Bsico de Java

35

Conhecendo os Conceitos de Java Configurando o ambiente


2) Nesta tela, aceite o contrato da Sun/Oracle, clicando em Accept:

Curso Bsico de Java

36

Conhecendo os Conceitos de Java Configurando o ambiente


3) Selecionar quais recursos sero instalados junto com o java (ferramentas de desenvolvimento, demonstraes, o cdigo fonte e o prprio java) e onde ele ser instalado. Clique em Next.

Curso Bsico de Java

37

Conhecendo os Conceitos de Java Configurando o ambiente


4) Pronto, agora ele instalar o JDK, apenas aguarde. 5) Agora ser intalado JRE (Java Runtime Environment), caso no esteja instalado. Clique em Next. 6) Aguarde at o fim da instalao e clique em Finish.

Curso Bsico de Java

38

Conhecendo os Conceitos de Java Configurando o ambiente


Variveis de ambiente: Precisamos configurar algumas variveis de ambiente aps a instalao. 1) Clique com o boto direito em cima do cone Meu Computador e selecione a opo Propriedades.

Curso Bsico de Java

39

Conhecendo os Conceitos de Java Configurando o ambiente


2) Aba Avanado e depois clique no boto Variveis de Ambiente

Curso Bsico de Java

40

Conhecendo os Conceitos de Java Configurando o ambiente


3) Nesta tela, na parte de cima, as variveis de ambiente do usurio corrente e, embaixo, as variveis de ambiente do computador (servem para todos os usurios). Clique no boto Nova da parte de baixo:

Curso Bsico de Java

41

Conhecendo os Conceitos de Java Configurando o ambiente


4) Agora em Nome da Varivel digite JAVA_HOME e, em valor da varivel, digite o caminho da instalao do Java. Provavelmente, ser algo como: C:\Arquivos de programas\Java\jdk1.6.0_03.

E, depois, clique em OK.


Curso Bsico de Java
42

Conhecendo os Conceitos de Java Configurando o ambiente


5) Crie uma nova varivel de ambiente repetindo o passo anterior, porm, agora, defina o nome da varivel como CLASSPATH e o valor com . (.;%JAVA_HOME%). 6) Agora ser alterado uma varivel. Para isso, procure a varivel PATH, ou Path e clique no boto de baixo Editar.

Curso Bsico de Java

43

Conhecendo os Conceitos de Java Configurando o ambiente


7) No final do valor ;%JAVA_HOME%\bin, no esquea do ponto-evrgula - assim, estar adicionando mais um caminho varivel Path.

Observao: No altere o nome da varivel!

Curso Bsico de Java

44

Conhecendo os Conceitos de Java Configurando o ambiente


8) Agora abra o prompt. Menu Iniciar, Executar e digite cmd. 9) No console, digite javac -version. O comando deve mostrar a verso do Java Compiler e algumas opes. Caso isso no acontea, reveja os passos anteriores.

Curso Bsico de Java

45

Conhecendo os Conceitos de Java Configurando o ambiente


J2ME (Micro Edition)= Para dispositivos mveis; J2SE (Standard Edition) = Para desktop, applets e WEB; J2EE (Enterprise Edition) = Para server/client.

Curso Bsico de Java

46

Conhecendo os Conceitos de Java Passos do primeiro programa


O programa que imprime uma linha simples. Para mostrar uma linha, podemos fazer: System.out.println("Minha primeira aplicao Java!");

Mas esse cdigo no ser aceito pelo compilador java.


O Java uma linguagem bastante burocrtica, e precisa de mais do que isso para iniciar uma execuo.

Curso Bsico de Java

47

Conhecendo os Conceitos de Java Exerccios 01.


O mnimo que precisaramos escrever algo como: class MeuPrimeiroPrograma { public static void main(String[] args) { System.out.println(Ol Mundo!"); } }

Curso Bsico de Java

48

Conhecendo os Conceitos de Java Passos do primeiro programa


Aps digitar o cdigo acima, grave-o MeuPrimeiroPrograma.java em algum diretrio. como

Para compilar, voc deve pedir para que o compilador de Java da Sun, chamado javac, gere o bytecode correspondente ao seu cdigo Java.

Curso Bsico de Java

49

Conhecendo os Conceitos de Java Passos do primeiro programa


Depois de compilar, o bytecode foi gerado. Quando o sistema operacional listar os arquivos contidos no diretrio atual, voc poder ver que um arquivo .class foi gerado, com o mesmo nome da sua classe Java.

Para quem j tem uma experincia com Java, esse primeiro cdigo muito simples. Mas, se seu primeiro cdigo em Java, pode ser um pouco complicado.

Curso Bsico de Java

50

Conhecendo os Conceitos de Java Passos do primeiro programa


Preciso sempre programar usando o Notepad ou similar? No necessrio digitar sempre seu programa em um simples aplicativo como o Notepad. Mas, no comeo, interessante usar algo que no possua ferramentas, para que possa se acostumar com os erros de compilao, sintaxe e outros.

Curso Bsico de Java

51

Conhecendo os Conceitos de Java Passos do primeiro programa


Preciso sempre programar usando o Notepad ou similar? Depois do captulo de polimorfismo e herana sugerimos a utilizao do Eclipse (http://www.eclipse.org), a IDE lder no mercado, e gratuita. Existe um captulo a parte para o uso do Eclipse nesta apostila. No Linux, recomendamos o uso do gedit ou do kate. No Windows, voc pode usar o Notepad++ ou o TextPad. No Mac, TextWrangler ou TextMate.

Curso Bsico de Java

52

Conhecendo os Conceitos de Java Passos do primeiro programa


Os procedimentos para executar seu programa so muito simples. O javac o compilador Java, e o java o responsvel por invocar a mquina virtual para interpretar o seu programa.

Curso Bsico de Java

53

Conhecendo os Conceitos de Java Passos do primeiro programa


Ao executar, pode ser que a acentuao resultante saia errada devido a algumas configuraes que deixamos de fazer. 1 class MeuPrograma { 2 public static void main(String[] args) {3 4 // miolo do programa comea aqui! 5 System.out.println("Minha primeira aplicao Java!!"); 6 // fim do miolo do programa 7 } 9}

Curso Bsico de Java

54

Conhecendo os Conceitos de Java Passos do primeiro programa


O miolo do programa o que ser executado quando chamamos a mquina virtual. Por enquanto, todas as linhas anteriores, onde h a declarao de uma classe e a de um mtodo, no importam para ns nesse momento. Mas devemos saber que toda aplicao Java comea por um ponto de entrada, e este ponto de entrada o mtodo main.

Curso Bsico de Java

55

Conhecendo os Conceitos de Java Passos do primeiro programa


Ainda no sabemos o que mtodo, mas veremos no Mdulo seguinte. Sempre que um exerccio for feito, o cdigo que nos importa sempre estar nesse miolo.

No caso do nosso cdigo, a linha do System.out.println faz com que o contedo entre aspas seja colocado na tela.

Curso Bsico de Java

56

Conhecendo os Conceitos de Java Curiosidades do Java.


O MeuPrograma.class gerado no legvel por seres humanos (no que seja impossvel). Ele est escrito no formato que a virtual machine sabe entender e que foi especificado que ela entendesse.

como um assembly, escrito para esta mquina em especfico.

Curso Bsico de Java

57

Conhecendo os Conceitos de Java Curiosidades do Java.


javap -c MeuPrograma E a sada: MeuPrograma(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return

Curso Bsico de Java

58

Conhecendo os Conceitos de Java Curiosidades do Java.


public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Minha primeira aplicao Java!! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return }

Curso Bsico de Java

59

Conhecendo os Conceitos de Java Curiosidades do Java.


o cdigo acima, que a JVM sabe ler. o cdigo de mquina, da mquina virtual. Um bytecode pode ser revertido para o .java original (com perda de comentrios e nomes de variveis locais).

Caso seu software v virar um produto de prateleira, fundamental usar um ofuscador no seu cdigo, que vai embaralhar classes, mtodos e um monte de outros recursos (indicamos o http://proguard.sf.net).

Curso Bsico de Java

60

Concluso do Mdulo I

Mdulo I:
Conhecendo os Conceitos de Java.

Curso Bsico de Java

61

Potrebbero piacerti anche