java

Propaganda
JAVA
HISTÓRICO
A linguagem de programação Java foi criada em
1991 por James Gosling
| Inicialmente
I i i l
t a linguagem
li
iria
i i chamar-se
h
O k
Oak
(Carvalho) em referência a árvore que era visível
pela janela de James Gosling.
Gosling
| A mudança de nome ocorreu pois já existia uma
linguagem de programação com este nome, então
a linguagem foi rebatizada para Java.
|
CARACTERÍSTICAS
Linguagem de programação orientada a objetos;
| Ambiente de desenvolvimento composto pelo
compilador,
il d interpretador,
i t
t d gerador
d d
de
documentação e etc.;
| Ambiente de execução que pode ser praticamente
qualquer máquina que possua Java Runtime
Environment (JRE) instalado;
| A linguagem Java é muito familiar para os
programadores
p
g
C/C++ ;
|
CARACTERÍSTICAS
Aplicações Java são executadas em ambiente
próprio (JRE) o que inviabiliza a intrusão de
código malicioso;
| Programas desenvolvidos nesta linguagem podem
ser executados em praticamente qualquer
máquina desde que esta possua o JRE instalado;
|
MÁQUINA VIRTUAL JAVA - JVM
A máquina virtual java (JVM) é uma máquina
imaginária que emula uma aplicação em uma
máquina real.
real
| É a JVM que permite a portabilidade do código
Java isto ocorre porque todo código Java é
Java,
compilada para um formato intermediário,
bytecode, este formato é então interpretado pela
JVM.
| Cada Sistema Operacional que tenha uma JVM
instalada pode executar o código Java
|
COLETOR DE LIXO – GARBAGE
COLLECTION
|
Em muitas das linguagens de programação,
inclusive C e C++, a responsabilidade pela
liberação do espaço que não mais será utilizado é
do programador
nem sempre é fácil gerenciar o que está e o que não
está sendo utilizado
y a má gerência da memória ocasiona muitas vezes o
estouro de
d pilha
ilh (stack
(
k overflow)
fl ) entre outros
problemas.
y
|
Na linguagem de programação Java a
responsabilidade pela gerência da memória é do
Coletor de lixo ((Garbage
g Collector))
FASES DE UM PROGRAMA JAVA
1.
2.
3.
4.
Criação do código fonte (Programa.java);
Compilação do código fonte e geração do
b t d (Programa.class);
bytecode
(P
l )
Interpretação do bytecode pela máquina virtual;
C
Conversão
d
do bytecode
b
d em li
linguagem d
de
máquina.
HOTSPOT
|
|
As informações,
f
relativas ao ambiente no qual a
aplicação está sendo executada, são utilizadas pela
JVM para fazer otimizações em tempo de execução e
havendo necessidade o código que está sendo
interpretado é transformado em instruções nativas do
sistema
i t
operacional
i
l (código
( ódi de
d máquina)
á i ) em um
processo de compilação dinâmica.
Esta transformação em tempo de execução é realizada
pelo JIT, Just-in-time compiler. O fato do código
(bytecode) ser transformado, em tempo de execução,
em código de máquina permite que a JVM mude a
estratégia de compilação em busca de um melhor
desempenho, em um ciclo de “aprendizado”
aprendizado contínuo.
JRE E JDK
JRE: O Java Runtime Environment contém tudo
aquilo que um usuário comum precisa para
executar uma aplicação Java (JVM e bibliotecas),
bibliotecas)
como o próprio nome diz é o “Ambiente de
ç Java”;;
execução
| JDK: O Java Development Kit é composto pelo
JRE e um conjunto de ferramentas úteis ao
desenvolvedor Java.
|
VERSÕES DO JAVA
|
|
|
|
|
|
|
JDK 1.0
1 0 (1996):
(1996) Primeira
P i i versão;
ã
JDK 1.1 (1997): Adição das bibliotecas JDBC, RMI e etc;
J2SE 1.2 ((1998)) - Playground:
yg
Ap
partir daqui
q todas as
versões Java foram denominadas de Java 2 Standard
Edition e foi adicionado o Framework Collections e etc.;
J2SE 1.3 (2000) – Kestrel: Inclusão das bibliotecas JNDI,
JNDI
JavaSound e etc.;
J2SE 1.4 (2002) – Merlin: Palavra reservada “assert”,
biblioteca NIO e etc.;
etc ;
6. J2SE 5.0 (2004) – Tiger: Apesar da versão ser 1.5,
agora é chamada apenas de 5. Adições importantes como:
E
Enumeração,
ã Autoboxing,
A t b i g Generics,
G
i for-each
f
h e etc;
t
7. JSE 6 (2006) – Mustang: Entre outras alterações
houveram mudança na nomenclatura (remoção do 2 –
J2SE) e melhora
lh
significativa
i ifi ti na performance.
f
FERRAMENTAS DO JDK
jjavac: Compilador
C
il d da
d linguagem
li
Java;
J
| java: Interpretador Java;
| jdb:
jdb Debugador
D b
d Java;
J
| java -prof: Interpretador com opção para gerar
estatísticas sobre o uso dos métodos;
| javadoc: Gerador de documentação;
|j
jar: Ferramenta q
que comprime,
p
, lista e expande;
p
;
| appletviewer: Permite a execução e debug de
applets sem browser;
| javap: Permite ler a interface pública das
classes;
| extcheck: Detecta conflitos em arquivos Jar.
Jar
|
DEFINIÇÕES
|
|
|
|
Classe: É a estrutura
Cl
t t
que, quando
d construída,
t íd
produzirá um objeto, dizemos “todo objeto é instância
de alguma classe”;
Objeto: Em tempo de execução, quando a JVM
encontra a palavra reservada new é criada uma
instância da classe apropriada;
Estado: É definido pelo conjunto de atributos de uma
classe, isto é, cada instância da classe possuirá um
estado
t d independente
i d
d t dos
d d
demais
i objetos.
bj t
Comportamento: São os métodos da classe,
comportamento
p
é aquilo
q
q
que uma classe faz
(algoritmos), muitas vezes, um determinado
comportamento (método) muda o estado do objeto, isto
é após a execução do método um ou mais atributos
é,
mudaram de valor;
NOMENCLATURA
|
Identificadores válidos: Definem as regras
para que o compilador identifique o nome como
válido.
válido
1
1.
2.
3.
4.
5.
Devem iniciar com uma letra,
letra cifrão ($) ou
sublinhado/underscore (_);
Após o primeiro caractere podem ter qualquer
combinação de letras, caracteres e números;
Não possuem limite de tamanho;
Nã podem
Não
d
ser palavras
l
reservadas;
d
Identificadores são case-sensitive isto é, “Nome” e
“nome”
nome são identificadores diferentes.
NOMENCLATURA - EXEMPLOS
CONVENÇÃO
Ç
DE NOMENCLATURA DA
SUN
1.
2.
3.
4.
Classes e interfaces: A primeira letra deve ser
maiúscula e, caso o nome seja formado por mais
de uma palavra
palavra, as demais palavras devem ter
sua primeira letra maiúscula também
(
(camelCase);
);
Métodos: A primeira letra deve ser minúscula e
após devemos aplicar o camelCase;
Variáveis: Da mesma forma que métodos;
Constantes: Todas as letras do nome devem ser
maiúsculas e caso seja formada por mais de
uma palavra separada por underscore.
CONVENÇÃO
Ç
DE NOMENCLATURA DA
SUN - EXEMPLOS
CONVENÇÃO JAVABEANS:
1.
2.
3.
4.
5.
Se o atributo não for um booleano o método
getter (utilizado para obter a variável) deve
iniciar por “get”;
get ;
Se o atributo for um booleano o método getter
pode iniciar por “get”
get ou “is”;
is ;
O método setter (atribuição) da propriedade
sempre deve iniciar por “set”;
set ;
O restante do nome deve ser o nome do atributo
concatenado ao p
prefixo ((is,, g
get ou set)) em letra
maiúscula;
O método setter e getter sempre devem ser
públicos.
INSTALAÇÃO DO JDK
|
Download:
D
l d
http://www.java.com/pt_BR/download/
JAVA_HOME: Indica o diretório onde foi
p frameworks
instalado o JDK,, muito utilizado por
e por outros programas para localizar o JDK;
| PATH: Identifica o local onde encontram-se as
f
ferramentas
t d
de d
desenvolvimento
l i
t ((compilador,
il d
interpretador, gerador de documentação e etc.),
devemos adicionar o diretório JAVA_HOME\bin;;
| CLASSPATH: Identifica diretório onde o
ClassLoader pode encontrar classes que são
utilizadas
tili d pela
l sua aplicação.
li ã
|
CONFIGURAÇÃO DE AMBIENTE
|
|
|
|
|
Clique com o botão direito em cima do ícone “Meu
Meu Computador
Computador”;;
Vá em “Propriedades”;
Selecione a aba “Avançado”;
Clique
q
no botão “Variáveis de ambiente”;;
Clique no botão “Nova” em “Variáveis do sistema”;
y
y
y
|
Clique novamente no botão “Nova” em “Variáveis do sistema”;
y
y
y
|
y
y
|
Nome da variável: CLASSPATH
Valor da variável:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME
%JAVA HOME%\lib %JAVA HOME%\lib\ l j %JAVA HOME
%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\
jre\lib;%JAVA_HOME%\jre\lib\rt.jar
Clique em OK
Selecione a váriavel PATH em “Variáveis
Variáveis do sistema
sistema”;;
y
|
Nome da variável: JAVA_HOME
Valor da variável: Coloque aqui o endereço de instalação neste caso =
C:\Arquivos de programas\Java\jdk1.5.0_05
Clique em OK
Adicione o seguinte endereço ao campo Valor da variável:
%JAVA_HOME%\bin
Clique em OK;
Clique em OK;
Clique em OK.
CONFIGURAÇÃO DE AMBIENTE
CONFIGURAÇÃO DE AMBIENTE
PRIMEIRO PROGRAMA
TIPOS PRIMITIVOS,
OPERADORES
E CONTROLE DE FLUXO
TIPOS DE DADOS
CONVERSÕES ENTRE TIPOS JAVA
OPERADORES
OPERADORES
OPERADORES
OPERADORES
CONTROLE DE FLUXO
CONTROLE DE FLUXO
CONTROLE DE FLUXO
CONTROLE DE FLUXO
|
break e continue
CONTROLE DE FLUXO
|
break e continue
CONTROLE DE FLUXO
ENTRADA DE DADOS
//importe a classe Scanner para utilizar a leitura pelo teclado
//Similar ao #include do C
import java.util.Scanner;
public class Leitura {
p
public static void main(String[] args) {
// crie a variável de leitura dos dados
Scanner s = new Scanner(System.in);
// use os métodos de leitura específicos do tipo desejado
System.out.print("digite uma linha: ");
String linha = s.nextLine(); // le a linha
S t
System.out.print("digite
t i t("digit um numero: ");
")
int i = s.nextInt(); // le um inteiro
System.out.print("digite um numero: ");
double d = s.nextDouble(); // le um ponto
ponto-flutuante
flutuante
System.out.print(" Primeira linha: "+linha);
System.out.print(" Primeiro número: "+i);
System.out.print(" Segundo número: « +d);
}
}
EXERCÍCIOS
ARRAYS UNIDIMENSIONAIS
|
|
|
|
Arrays são objetos que armazenam múltiplas variáveis do mesmo tipo ou do
mesmo sub-tipo
Um array é um objeto que armazena um número pré-definido de elementos,
isto é, o seu tamanho é definido no momento da sua construção.
Seus elementos são acessados através de índices que iniciam-se sempre por 0
(zero), ou seja, um array de tamanho quatro terá índices 0, 1, 2 e 3.
Exemplo:
1. int[] jogoSena; //Declaração
2.
3 jogoSena
3.
j
S
= new int[6];
i t[6] //Criação
//C i ã
4.
5. jogoSena[0] = 23; //Inicialização da posição 0
6 jogoSena[1]
6.
j
S
[1] = 12;
12 //Inicialização
//I i i li ã da
d posição
i ã 1
7. jogoSena[2] = 55; //Inicialização da posição 2
8. jogoSena[3] = 02; //Inicialização da posição 3
9 jogoSena[4]
9.
j
S
[4] = 07;
07 //Inicialização
//I i i li ã da
d posição
i ã 4
10.jogoSena[5] = 19; //Inicialização da posição 5
ARRAYS UNIDIMENSIONAIS
|
O t
Outras
formas
f
de
d inicialização
i i i li ã
i t[] outroJogoSena
int[]
t J
S
= {23,
{23 12,
12 55,
55 02,
02 07,
07 19};
19}
|
No exemplo acima,
acima acontecem quatro coisas em
apenas uma linha:
I. Declaração de uma referência a um array de
inteiros chamado outroJogoSena;
y II. Criação de um array com seis posições;
y III.Inicialização
III Inicialização das posições com os valores 23,
23 12,
12
55, 02, 07 e 19;
y IV. Atribuição do novo objeto (array) a referência
outroJogoSena;
t J
S
y
ARRAYS UNIDIMENSIONAIS
|
Para conhecer o tamanho total de um array basta
você acessar o atributo length.
Primeira
P
i i posição
i ã (índice):
(í di ) de
d qualquer
l
array é sempre
0;
y Última p
posição
ç ((índice):
) é sempre
p o seu tamanho – 1
(length - 1).
y
ARRAYS MULTIDIMENSIONAIS
|
A função destes arrays é a mesma dos seus
irmãos unidimensionais porém arrays
multidimensionais permitem a construção de
estruturas de dados mais ricas.
Download