You are on page 1of 15

AJ1 Sintaxe da Linguagem Java

Introduo
1.1 Evoluo tecnolgica 1.2 Paradigmas de programao 1.2.1 Paradigma Procedural 1.2.2 Paradigma Orientado a Objetos 1.3 Linguagens x Ambientes de desenvolvimento 1.4 Linguagens interpretadas x linguagens compiladas

3
3 5 5 5 7 8

Plataforma Java
2.1 Histria do Java 2.2 Mitos da linguagem 2.3 Java 2 Standard Edition (J2SE) 2.4 Java 2 Micro Edition (J2ME) 2.5 Java 2 Enterprise Edition (J2EE) 2.6 Arquitetura da plataforma Java 2 Standard Edition 2.6.1 Java 2 Standard Development Kit (J2SDK) 2.6.2 Instalao do Java Development Kit 1.4.2 2.6.3 JVM - Java Virtual Machine 2.6.4 Garbage Collector 2.6.5 Java: compilado ou interpretado?

9
9 11 12 14 15 16 16 17 20 21 22

Fundamentos da linguagem
3.1 3.2 3.3 3.4 3.5 3.6 A Linguagem Java Palavras reservadas Convenes do cdigo Comentrios Laboratrio Certificao Sun Certified Java Programmer (SCJP)

24
24 25 26 27 28 29

Variveis
4.1 Tipos primitivos 4.1.1 Nmeros inteiros 4.1.2 Nmeros com ponto flutuante 4.1.3 Caracteres 4.1.4 Booleanos 4.2 Reference 4.3 Variveis locais 4.4 Escopo 4.5 Laboratrio 4.6 Certificao Sun Certified Java Programmer (SCJP)

30
30 31 33 35 37 38 39 40 41 42

Operadores
5.1 Operadores Unrios 5.1.1 Operador de negao: ! 5.1.2 Operador de incremento e decremento: ++, -5.1.3 Operadores de representao de sinal: + e 5.1.4 Operador de inverso: ~ 5.1.5 Operador de converso: Cast 5.2 Operadores aritmticos: +, -, *, / e % 5.2.1 Soma e subtrao: + e 5.2.2 Multiplicao e diviso: * e / Copyright 2004 Globalcode The Developers Company, todos os direitos reservados

43
43 43 44 44 45 46 49 49 49

ndice 5.2.3 Resto da diviso: % 5.3 Operadores de deslocamento: <<, >> e >>> 5.4 Operadores de comparao: <, <=, >, >=, == e != 5.5 Operadores de comparao de tipos: instanceof 5.6 Operadores lgicos 5.6.1 5.6.2 Operadores AND e OR (&& e ||) Operadores bit a bits (&, ^e |) 49 51 56 57 58 58 59 62 63 64 65 66

5.7 Operadores de atribuio: =, +=,-=, *=, /=, %= 5.8 Operador ternrio 5.9 Tabela resumida de Operadores 5.10 Certificao Sun Certified Java Programmer (SCJP) 5.11 Exerccios adicionais

Controle de Fluxo
6.1 if, else 6.1.1 Laboratrio 6.2 switch 6.2.1 Laboratrio 6.3 while 6.3.1 Laboratrio 6.4 do while 6.5 for 6.5.1 Laboratrio 6.6 break 6.7 continue 6.8 Certificao Sun Certified Java Programmer (SCJP) 6.9 Exerccios adicionais

68
68 70 71 73 74 75 76 77 78 79 80 81 82

Arrays
7.1 7.2 7.3 7.4 7.5 7.6 Arrays bidimensionais Arrays multidimensionais Mtodo main Laboratrio Certificao Sun Certified Java Programmer (SCJP) Exerccios adicionais

83
86 92 93 94 95 96

Classes Utilitrias
8.1 String 8.1.1 Principais mtodos da classe String 8.1.2 Comparando Strings 8.2 StringBuffer

98
98 98 100 103

Math
9.1 Laboratrio 9.1.1 Exerccios adicionais

106
108 109

10
10.1 10.2

Apndice
Lista de exerccios extras Soluo das questes preparatrias para certificao

110
110 112

Copyright 2004 Globalcode The Developers Company, todos os direitos reservados

AJ1 Sintaxe da Linguagem Java

1 Introduo
1.1 Evoluo tecnolgica
medida que o mercado exige informatizao torna-se cada vez mais necessrio o uso de programas mais complexos e pesados, alm de aumentar a velocidade de processamento e capacidade de armazenamento do hardware. Podemos medir a evoluo do hardware quantitativamente atravs do seu poder de processamento (clock do processador, medido em Hertz ou mega Hertz) e da sua capacidade de armazenamento (disco rgido - medido em mega bytes ou mais comumente em giga bytes). A qualidade do software medida atravs de sua confiabilidade, operabilidade, manutenibilidade, extensibilidade, escalabilidade, entre outras mtricas. Grande parte das mtricas de qualidade do software depende do processo de desenvolvimento do software. Por isto, para que haja maior produtividade e qualidade do software existem cada vez mais softwares de apoio, tais como: Compiladores; Ambientes de desenvolvimento; Servidores de aplicao; Banco de dados; APIs e frameworks. Evoluo tecnolgica

Anotaes

1 Introduo Evoluo das linguagens de programao

Copyright 2004 Globalcode The Developers Company, todos os direitos reservados

AJ1 Sintaxe da Linguagem Java

1.2 Paradigmas de programao


Dois paradigmas de programao bastante comuns so o Procedural e o Orientado a Objetos. As principais diferenas entre estes paradigmas so observadas na organizao do cdigo e nas tcnicas de modelagem do problema.

1.2.1 Paradigma Procedural


Algumas caractersticas comuns deste paradigma so: Conjunto de instrues organizado em blocos para executar determinada tarefa (funes). Conjuntos de funes agrupadas por funcionalidade em bibliotecas. Modelagem atravs de fluxograma e grande utilizao de algortmos. Extremamente tcnica. Exemplos: Pascal; C; Perl; Basic

1.2.2 Paradigma Orientado a Objetos


A orientao a objetos o paradigma de programao predominante atualmente e est aos poucos substituindo a programao procedural criada no inicio da dcada de 60. Neste paradigma o programa composto por objetos com propriedades e operaes que podem ser executadas por eles, ou seja, a estrutura de dados definida juntamente com as funes (mtodos) que podero ser executadas. Todas as funcionalidades e atributos de cada entidade do sistema so armazenados em classes que representam esta entidade. Normalmente, utilizamos a Unified Modeling Language (UML) para modelar solues orientadas a objetos. Exemplos: Smalltalk; Java; C++; C#.

Anotaes

1 Introduo Evoluo da estrutura de dados do paradigma procedural para o paradigma orientado a objetos.

Copyright 2004 Globalcode The Developers Company, todos os direitos reservados

AJ1 Sintaxe da Linguagem Java

1.3 Linguagens x Ambientes de desenvolvimento


Diversas linguagens possuem ambiente de desenvolvimento associado a elas: Exemplos: Linguagem Basic possui o MS Visual Basic; Object Pascal possui o Delphi. Outras linguagens esto desvinculadas de ambiente de desenvolvimento: Exemplos: Java PHP C/C++ As principais vantagens da linguagem ser desvinculada de ambiente so: No h dependncia de um nico fornecedor de ambiente de desenvolvimento. Maior controle sobre o cdigo produzido. A concorrncia entre fornecedores gera melhorias nas ferramentas. A desvinculao da linguagem de um ambiente de desenvolvimento "socializa" a linguagem de programao, permitindo que o desenvolvedor possa escolher se quer ou no comprar um ambiente de desenvolvimento. Apesar das vantagens de uma linguagem ser desvinculada de uma IDE, um ambiente de desenvolvimento proporciona maior facilidade para a escrita do cdigo, depurao e construo de interfaces grficas. Alguns ambientes de desenvolvimento Java so: JBuilder (www.borland.com) NetBeans (http://www.netbeans.org) Java Studio Creator (www.sun.com) JEdit (www.jedit.org) IBM Websphere Studio Application Developer (WSAD) (www.ibm.com) Eclipse (www.eclipse.org) JDeveloper (www.oracle.com) Nota: Todos os ambientes de desenvolvimento dependem do J2DKSE instalado. Anotaes

1 Introduo

1.4 Linguagens interpretadas x linguagens compiladas


Linguagens de programao so comumente divididas em linguagens interpretadas e compiladas. Interpretadas Como o prprio nome diz, so interpretadas linha a linha em tempo de execuo. Exemplos: Perl; ASP (Active Server Pages); JavaScript; Basic. Compiladas O compilador traduz o programa fonte apenas uma vez para linguagem compilada (executvel) no importando quantas vezes o programa ir ser executado. No processo de compilao o cdigo fonte submetido anlise sinttica, lxica e semntica. Caso algum erro seja encontrado o arquivo "executvel" pela Virtual Machine (.class) no gerado, e os erros so apontados pelo compilador. Muitos erros so eliminados durante o processo de compilao. Exemplos: caracteres invlidos. nomes de variveis, mtodos, classes invlidas. seqncia de comandos invlidos "{" sem "}" correspondente. tipos e quantidade de parmetros, retorno de funes, etc... Erros lgicos no so capturados no processo de compilao. Exemplos: Diviso por zero; Operadores logicamente errados; Operaes com objetos no construdos (nulos). Exemplos: Pascal C/C++ Java.

Copyright 2004 Globalcode The Developers Company, todos os direitos reservados

AJ1 Sintaxe da Linguagem Java

2 Plataforma Java
2.1 Histria do Java
A Sun Microsystems, acreditando no crescimento do uso de pequenos dispositivos eletrnicos destinados ao consumidor final, financiou uma pesquisa interna de codinome Projeto Green em 1991, que resultou na criao de um equipamento chamado Start Seven (*7) e uma linguagem baseada em C e C++ que seu criador James Gosling, batizou de Oak (carvalho) em homenagem a uma rvore que podia ser vista atravs da janela de seu escritrio na Sun. Algumas caractersticas do Start Seven eram: Monitor LCD 5 colorido e touchscreen Interface PCMCIA Wireless Verso de UNIX rodando em menos de 1MB Linguagem segura, robusta, multi-plataforma, com threads, bibliotecas grficas, interpretada, com coleta automtica de lixo, distribuda entre outras caractersitcas. Controle remoto Permitia distribuio de objetos em uma rede sem fio

Obs: O Duke, maskote do Java at hoje foi criado juntamente com o projeto Star Seven! Mais tarde descobriu-se que j havia uma linguagem chamada Oak. Quando uma equipe da Sun visitou uma cafeteria local, o nome Java (cidade de origem de um caf importado) foi sugerido e aceito. O mercado para pequenos dispositivos eletrnicos cresceu menos do que o esperado pela Sun Microsystems mas com a exploso da popularidade da World Wide Web em 1993 a Sun previu o imediato potencial do Java para o desenvolvimento de contedo dinmico para a Web. Por causa do fenomenal interesse pela WWW, a apresentao formal do Java em uma conferncia causou interesse imediato na comunidade comercial. Atualmente Java muito utilizado para o desenvolvimento de contedo dinmico para a Web, aplicativos corporativos, comerciais, financeiros, aplicativos de alta capacidade de processamento em servidores, aplicativos para pequenos dispositivos como celulares, PDAs, etc...

Anotaes

2 Plataforma Java Histrico resumido da tecnologia Java

10

Copyright 2004 Globalcode The Developers Company, todos os direitos reservados

AJ1 Sintaxe da Linguagem Java

2.2 Mitos da linguagem


Java da SUN? A especificao Java foi criada pela SUN, no entanto, a linguagem mantida pelo Java Community Process (JCP) que rene Java experts, empresas e universidades que atravs de processos democrticos definem a evoluo da linguagem. Java uma linguagem direcionada para Web? Java no apenas uma linguagem direcionada para Web, apesar de ser atualmente bastante conhecida e divulgada por seus "dotes" para desenvolvimento de aplicaes Web, Java uma linguagem completa como: C++, Pascal e Basic. Java igual a JavaScript? No. Java compilada e JavaScript interpretada pelo interpretador contido no browser. Java uma criao da SUN e JavaScript uma criao da Netscape. A linguagem JavaScript originalmente chamava-se LiveScript, mas um acordo entre a Sun e a Netscape acabou fazendo com que LiveScript viesse a se chamar JavaScript. Java lento? Java, como aplicao stand alone, mais lento que uma linguagem compilada com cdigo nativo (por exemplo, linguagem C), pois para ser portvel no interage diretamente com o servidor grfico do sistema operacional. No entanto, a afirmao de que "Java lento" completamente falsa para softwares distribudos (em servidores), onde bibliotecas grficas no so necessrias para gerar respostas aos usurios. (Servlet, JSP, RMI).

Anotaes

11

2 Plataforma Java

2.3 Java 2 Standard Edition (J2SE)


a especificao do Java que contm APIs com as funes bsicas do Java como I/O, multithread, network, conectividade com bancos de dados entre outras mais.

12

Copyright 2004 Globalcode The Developers Company, todos os direitos reservados

AJ1 Sintaxe da Linguagem Java J2SE composto por classes para atender as seguintes necessidades: Classes essenciais Applets Networking Internacionalizao Segurana Serializao de objetos Java Database Connectivity (JDBC) Utilitrios Veja alguns exemplos de aplicaes implementadas utilizando a plataforma J2SE:

Console

AWT / Swing

Applet

Anotaes

13

2 Plataforma Java

2.4 Java 2 Micro Edition (J2ME)


a especificao Java que contm APIs com funcionalidades para desenvolvimento de aplicaes para pequenos dispositivos como: agendas eletrnicas, telefones celular, palmtop e aparelhos eletrnicos em geral que possuam uma KVM (Mquina Virtual para pequenos dispositivos).

Emulador para desenlvolvimento de aplicaes J2ME, desta forma voc no precisa ter um celular que roda J2ME para desenvoler e testar suas aplicaes.

14

Copyright 2004 Globalcode The Developers Company, todos os direitos reservados

AJ1 Sintaxe da Linguagem Java

2.5 Java 2 Enterprise Edition (J2EE)


a especificao Java que contm APIs com funcionalidades especficas para o desenvolvimento de aplicaes para servidores tais como, Servlets, JSP, EJB e JMS. O J2EE uma extenso ao J2SE e acompanha um servidor Web, um servidor de componentes transacionais de negcio, servidor de banco de dados, e um servidor de filas de mensagens. Veja abaixo uma ilustrao da arquitetura J2EE completa:
Applet Container

Web Container

APPLET

SERVLET

JSP

Java Mail JAF

J2SE J2EE

Application Client Container


Application Client

EJB Container

EJB
Java Mail JAF

J2SE J2EE

Anotaes

15

You might also like