1 Java
INTRODUÇÃO
Linguagem Java
2
“Uma linguagem de propósito geral, simples, orientada a objeto,
distribuída, interpretada, robusta, segura, de arquitetura neutra,
portável, de alta performance, multithread e dinâmica”.
“Escreva uma vez, compile uma vez e rode em qualquer lugar”.
About Java [Sun, 1995]
Histórico
3
Em 1991, SUN Microsystems financiou uma pesquisa corporativa interna
com o codinome Green Project.
Um grupo de analistas da Sun foi formado, liderados por James Gosling.
Criação de uma linguagem que gerasse um código intermediário, chamado
bytecode, que fosse interpretado por uma máquina virtual executando sobre
ele (a Java Virtual Machine).
A linguagem desenvolvida baseou-se em C e C++. Inicialmente a linguagem
foi batizada de Oak , que mais tarde foi rebatizada de Java.
Em maio de 1995, A Sun anunciou formalmente a linguagem Java em uma
conferência importante.
Java Tecnologia
4
JSE (Java Standard Edition) – principal edição que se destina ao desenvolvimento de aplicações
Desktop e Servidoras, fornecendo as principais API’s (Swing e Awt) .
JDK ( Java Development kit ) ou SDK (Software Development Kit)
Ambiente destinado aos desenvolvedores , representados por um conjunto de
ferramentas: Javac (compilador) , java (interpretador) , javadoc .
JRE ( Java Runtime Environment) – ambiente de execução Java , composto pela
biblioteca de funcionalidades ( Java API ) e máquina virtual Java (JVM)
JEE ( Java Enterprise Edition ) – destinada ao desenvolvimento de aplicações corporativas ,
Voltadas para a internet ou intranet , distribuídas em [Link] da JSE.
JME (Java Micro Edition ) – destinada ao desenvolvimento de aplicações para dispositivos
móveis ou portáteis.
JavaCard – destinada ao desenvolvimento de aplicações para serem executadas em cartões
Inteligentes e outros dispositivos com poucos recursos de memória.
Disponível : [Link]
5
Versões
JDK 1.0.2 - essa foi a versão mais difundida, e a última, entre as versões 1.0, e é a versão que
está embutida nos browsers mais antigos.
JDK 1.1 - essa versão incorporou uma grande quantidade de funcionalidades.
JDK 1.1.6 - essa é uma versão importante porque incorporou ao JDK uma série de
melhorias de performance e estabilidade.
JDK 1.2 -Várias melhorias e a incorporação de uma grande quantidade de funcionalidades.
Java 2 - nesse momento foi considerado que a plataforma Java tinha atingido uma maturidade
e uma evolução suficiente para ser realizada uma troca de nome. O que aconteceu na verdade
é que foi dado um nome para as versões da Tecnologia Java.
Java 2 Micro Edition (J2ME) - a plataforma Java voltada para pequenos devices
(telefones celulares, agendas eletrônicas, televisores, aparelhos eletrônicos)
Java 2 Standard Edition (J2SE) - a plataforma voltada para aplicações cliente Essa é a
plataforma que será encontrada nos browsers web e instalada nos sistemas operacionais
que já incluírem a plataforma Java
Java 2 Enterprise Edition (J2EE) - essa é a plataforma Java para desenvolvimento e
execução de aplicações servidoras.
JDK v1.3 , 1.4 , 1.5 , 1.6 , 1.7 – Várias funcionalidades e ferramentas.
Ambientes
6
Java Runtime Environment (JRE). É o ambiente de execução de
Java. Contém tudo o que é necessário para rodar aplicações Java. É
composto pela JVM (Java Virtual Machine) e um conjunto de
bibliotecas.
Java Development Kit (JDK). É o ambiente de desenvolvimento
de Java. Consiste de uma coleção de API´s e ferramentas de linha
de comando, apropriadas a cada Sistema Operacional (SO), que
permitem ao usuário compilar, executar, depurar e documentar
aplicações Java entre outras tarefas. Cada API inclui uma interface
com o SO, uma coleção de classes e uma coleção de exceções que
pode ser levantada quando alguma dessas classes é ativada.
Maquina Java (JVM)
7
A Máquina Virtual Java (JVM) é um ambiente de execução
responsável por gerenciar os recursos utilizados pelos programas
como memória, processador, acesso ao sistema de arquivos, etc.
É responsável por interpretar os bytecodes Java traduzindo-os para
instruções reais e chamadas de sistema da máquina onde a
aplicação está rodando.
Entre as vantagens desta arquitetura, podemos destacar a
portabilidade do código pois os bytecodes podem ser executados em
qualquer plataforma para o qual a JVM já tenha sido portada. A
segurança do ambiente pode ser garantida uma vez que os
programas não tem acesso direto a recursos como disco e memória.
Este modelo é conhecido como “Caixa de Areia”.
Bytecodes
8
Os Bytecodes são instruções da Máquina Virtual Java (JVM).
Quando o compilador java (javac) compila um fonte java, gera uma
Classe Java em um arquivo (.class). Por exemplo:
public class AloMundo {
public static void main(String[] args) {
[Link]( “Alo, Mundo!” );
}
}
[Link]
Compilação (javac)
0x20 0x2a 0x2f 0xbe 0xc5 0x94 0x64 0x61 ..
[Link]
9
Programação
10
1 //Primeiro Programa
2 public class PrimeiroPrograma
3 {
4 public static void main(String args[])
5 {
6 [Link]("Meu primeiro programa Java.");
7 }
8 }
Linha 1: comentário de programa, iniciado com “//”.
Linha 2: declaração da classe PrimeiroPrograma. O arquivo deverá ser salvo com este mesmo
nome, com a extensão java. Ex.: [Link]
Linha 4:Corresponde a declaração do método main
Convenção de Nomes
11
Nome de Classes: Cada palavra do nome da classe começa com letra maiúscula. Todas as
palavras são unidas.
Ex.: JTextField
Integer
Math
ActionEvent
Nome de Métodos , Objetos e variáveis: começa com letra minúscula .
Todas as palavras são unidas.
Ex.: nomePessoa
endereco
Constante: todas as letras em maiúsculo.
Ex.: PI
DEFAULT_KEYMAP
LEFT
Palavras reservadas: todas as letras em minúsculas
Ex.: public
Comentários
12
De linha:
// comentário 1
// comentário 2
De bloco:
/* linha 1
linha 2
linha n
*/
Delimitadores
13
De instrução
Em Java as instruções terminam com ponto-e-vírgula “;”
De bloco
Um bloco de instruções Java deve estar entre chaves:
{ - begin
} - end
Palavras Reservadas
14
abstract • false • null • transient
boolean • final • package • true
break • finally • private • try
byte • float • protected • void
• for • public • volatile
case • if • return • while
catch • implements • short • const
char • import • static • goto
• instanceof • super
class • int • switch
continue • interface • synchronized
default • long • this
do • native • throw
• new • throws
double
else
extends
Tipos de Dados
15
Classificação Tipo Tamanho Faixa
Lógico boolean 1 bit true e false
Texto char 2 bytes
String variável
Inteiros byte 1 byte -128 a 127
short 2 bytes -32.768 a 32.767
int 4 bytes -[Link] a [Link]
long 8 bytes -[Link].854.775.808L a
[Link].854.775.807L
Ponto float 4 bytes Aprox. +/-3.40282347E+38F (7 dígitos
flutuante decimais significantes)
double 8 bytes Aprox. +/-1.79769313486231570E+308
(15 dígitos decimais significantes)
Exemplo
16
public class Numero
{
public static void main(String args[])
{
int n;
a = 10;
[Link]("O valor numérico é "
+ a);
}
}