Buscar

curso java basico

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 193 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 193 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 193 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Curso Java Básico
Instrutora: Katia Cristina Lage dos Santos
Regional Belo Horizonte
19/11/2007 a 30/11/2007
Título da Apresentação
Visão geral
Curso Java Básico
O nome Java é usado para referir-se à:
uma linguagem de programação orientada a objetos;
uma coleção de APIs (classes, componentes, frameworks) para o 
desenvolvimento de aplicações multiplataforma;
um ambiente de execução presente em navegadores, mainframes, 
sistemas operacionais, celulares, palmtops, cartões inteligentes, 
eletrodomésticos
Java foi lançada pela Sun Microsystems em 1995
write once, run everywhere; programe uma única vez, execute em 
qualquer lugar;
o projeto é controlado pela Sun (http://java.sun.com/) e pela 
comunidade de usuários JPC (Java Community Process - 
http://jcp.org/en/home/index).
Título da Apresentação
Visão geral
Curso Java Básico
Um programa escrito para a plataforma Java necessita de dois 
componentes para ser executado:
a máquina virtual Java (Java Virtual Machine - JVM);
um conjunto de bibliotecas de classe que disponibilizam um série de 
serviços para esse programa.
O pacote de software que contém a máquina virtual e esta biblioteca de 
classes é conhecido como JRE (Java Runtime Environment).
JVM Bibliotecas de Classe
JRE
+
Título da Apresentação
Máquina Virtual
Curso Java Básico
A máquina virtual Java, ou simplesmente JVM:
é um dos principais componentes da plataforma Java;
permite que o mesmo código possa ser executado em várias 
plataformas sem a necessidade de recompilação.
Mas COMO?
a JVM emula uma máquina real possuindo um conjunto de instruções 
próprio e atua em áreas de gerenciamento de memória;
a JVM possui uma especificação que pode ser implementada nas 
diversas arquiteturas. Essa especificação visa não atender a nenhum 
tipo de tecnologia em específico, seja de hardware ou de sistema 
operacional;
os ambientes de execução e de desenvolvimento são fornecidos por 
fabricantes de hadware e software (MacOS, Linux, etc).
Título da Apresentação
Máquina Virtual
Curso Java Básico
CÓDIGO JAVA
COMPILADOR
CÓDIGO JAVA
COMPILADOR
Byte Code Java
VM Windows
SO Windows
VM Linux
SO Linux
VM Celular
SO Celular
Ambiente de 
Desenvolvimento
Distribuição
Ambiente de Execução
A máquina virtual não trabalha diretamente com a linguagem de 
programação Java, mas sim com o arquivo de formato class. 
Esse tipo de arquivo contém os bytecodes, que são as instruções para a 
máquina virtual e uma tabela de símbolos.
Título da Apresentação
Máquina Virtual
Curso Java Básico
O código Java é compilado, gerando o conjunto de instruções chamado 
de byte-code;
Esse byte-code é aplicado à Máquina Virtual Java (JVM) que se 
encarrega de interpretar os comandos para o sistema operacional onde o 
programa está rodando. Ou seja, a máquina virtual traduz as instruções 
do código Java para instruções válidas no sistema operacional em que 
está rodando;
Esse byte-code poderá então ser interpretado por qualquer máquina 
virtual Java, rodando em Linux, Windows, Palm OS, Solaris ou qualquer 
outro sistema operacional que possua uma máquina virtual Java 
implementada. 
Compile once, run anywhere.
Título da Apresentação
Máquina Virtual
Curso Java Básico
Um programa Java só é executado caso o seu byte-code passe pela 
verificação de segurança da JVM, que consiste em: 
o programa foi escrito utilizando a sintaxe e semântica da linguagem;
não existem violações de áreas restritas de memória no código;
o código não gera Stack Overflow;
os tipos de parâmetros dos métodos são corretos;
não existe nenhuma conversão ilegal entre dados do programa
o acesso a objetos está corretamente declarado.
Caso alguma das condições acima não seja satisfeita, a máquina virtual 
Java causará um erro de execução (runtime error). 
A JVM não permite que um programa Java acesse recursos de hardware 
diretamente, protegendo o computador de operações perigosas. 
Título da Apresentação
Máquina Virtual
Curso Java Básico
Uma JVM possui definições concretas para a implementação dos 
seguintes itens:
conjunto de instruções (equivalentes às instruções da CPU), conjunto 
de registradores, formato padrão de classes, pilha de memória, pilha 
de objetos coletados pelo garbage-collector e área de memória.
Compilador JIT (just-in-time)
desde a versão 1.2 da JRE, a implementação da Sun da JVM inclui 
um compilador just-in-time (JIT);
com este compilador todo o bytecode de um programa é 
transformado em instruções nativas e carregado na máquina virtual 
em uma só operação, permitindo um ganho de desempenho muito 
grande em comparação com a implementação anterior, onde as 
instruções em bytecode eram interpretadas uma por vez. 
Título da Apresentação
Bibliotecas de Classes
Curso Java Básico
Na maioria dos sistemas operacionais modernos, um corpo formado por 
código reusável é organizado e disponibilizado para simplificar o trabalho 
do programador;
Este código encontra-se, normalmente, na forma de bibliotecas dinâmicas 
que a aplicação utiliza durante a sua execução. 
Como a plataforma Java não é dependente de qualquer sistema 
operacional, as aplicações não podem depender das bibliotecas destes 
sistemas. 
Por isso, a plataforma Java disponibiliza um grande conjunto padronizado 
de bibliotecas de classe, que contém praticamente o mesmo número de 
funções encontradas nos sistemas operacionais modernos.
Título da Apresentação
Bibliotecas de Classes
Curso Java Básico
Uma classe de biblioteca Java serve a três propósitos dentro da 
plataforma Java:
disponibilizam ao programador um conjunto de funções bem 
conhecidas que realizam tarefas comuns, como a manutenção de 
listas de elementos ou manipulação de strings;
contém uma interface para tarefas que dependem do hardware e do 
sistema operacional (exemplo, acesso a rede e manipulação de 
arquivos);
se alguma plataforma não suportar alguma função que uma aplicação 
Java necessita, as bibliotecas implementam esta funcionalidade 
usando os recursos disponíveis, ou disponibilizam um meio 
consistente para que a aplicação verifique a presença de determinada 
funcionalidade.
Título da Apresentação
Gerenciamento de Memória 
Curso Java Básico
Durante a execução de um programa de computador, ocorre a alocação e 
liberação dinâmica de memória RAM. Dados são escritos e lidos da 
memória do computador satisfazendo os requisitos de cada programa. 
Em linguagens tradicionais como Pascal, Basic e C/C++, o programador 
é responsável por controlar essa alocação, impedindo o estouro de 
memória (stack overflow) e outros problemas, como o acesso indevido a 
áreas reservadas de memória.
Para facilitar a vida dos programadores, e evitar os erros comuns 
associados à alocação de memória, a linguagem Java introduziu o 
conceito de garbage-collection.
Título da Apresentação
Gerenciamento de Memória 
Curso Java Básico
Garbage-collection
 é um mecanismo de controle automático de alocação e liberação de 
memória. 
Quando uma variável é declarada em um código de computador, a 
JVM cria um ponteiro para uma área de memória equivalente ao 
tamanho do tipo de dado utilizado por essa variável. 
public class Pessoa{
 int intIdade;
 String strNome
 (...)
 public static void main(){
 Pessoa pessoa1 = new Pessoa();
 }
}
pessoa1
Pessoa
MEMÓRIA
Título da Apresentação
Gerenciamento de Memória 
Curso Java Básico
Garbage-collection
Quando essa variável é associada a outra região de memória, a JVM 
coloca o espaço alocado anteriormente em uma pilha de objetos em 
desuso. 
Caso o computador fique com pouca memória disponível, a JVM 
remove objetos dessa pilha, permitindo queesse espaço de memória 
seja re-alocado.
 (...)
 public static void main(){
 Pessoa pessoa1 = new Pessoa();
 Pessoa pessoa2 = new Pessoa();
 pessoa1 = pessoa2;
 }
pessoa1
MEMÓRIA
pessoa2
Pessoa
Título da Apresentação
Gerenciamento de Memória 
Curso Java Básico
O processo de garbage-collection ocorre automaticamente durante a 
execução de um programa Java. 
é possível sugerir ao JVM que execute a coleta de lixo;
no entanto não haverá garantias de que todos os objetos não 
utilizados serão realmente removidos da memória;
chamadas possíveis:Runtime.getRuntime() ou System.gc();
O programador não precisa se preocupar com aritmética de ponteiros 
(grande dificuldade em linguagens como C e Pascal.
Exemplo 1
Plataforma Java 
Curso Java Básico
A plataforma Java se divide em três grandes edições. 
http://www.javafree.org/wiki/Java 
Java Standard Edition (JavaSE);
Java Mobile Edition (JavaME);
Java Enterprise Edition (JavaEE).
Título da Apresentação
Plataforma Java 
Curso Java Básico
Java Standard Edition (JavaSE)
É a tecnologia Java para computadores pessoais, notebooks e 
arquiteturas com poder de processamento e memória consideráveis.
 Várias APIs acompanham esta versão e tantas outras podem ser 
baixadas opcionalmente no site da Sun. 
É com elas que a maioria das aplicações são construídas e 
executadas.
O J2SE possui duas divisões: 
Java Development Kit (JDK) ou Standard Development Kit (SDK): 
um conjunto para desenvolvimento em Java: compilador (javac), 
depurador, gerador de documentação (javadoc), empacotador de 
componentes (jar);
Java Runtime Edition (JRE): uma versão mais leve da JDK pois é 
preparada para o ambiente de execução.
Título da Apresentação
Plataforma Java 
Curso Java Básico
Java Mobile Edition (JavaME)
É a tecnologia Java para dispositivos móveis com limitações de 
memória ou processamento. 
Possui APIs bem simples e leves para economizar espaço, memória 
e processamento. 
São utilizadas para sistemas em celulares, palm tops, pocket pcs, 
smartphones, javacards e demais dispositivos. 
O J2ME se divide em dois grupos de bibliotecas. É dividida em dois 
grupos: 
Connected Limited Device Configuration (CLDC): para celulares e 
smartphones, que são mais limitados;
Connected Device Configuration (CDC): para Palmtops e Pocket 
pcs e alguns dispositívos mais poderosos. 
Título da Apresentação
Plataforma Java 
Curso Java Básico
Java Enterprise Edition (JavaEE)
É a tecnologia Java para aplicações corporativas que podem estar na 
internet ou não. 
Possui um grande número de APIs onde a segurança é a principal 
preocupação. 
É ideal para a construção de servidores de aplicação, integração de 
sistemas ou distribuição de serviços para terceiros. 
A plataforma Java EE não é um produto, mas sim de uma 
especificação definida pela Sun. 
A Java EE simplifica as aplicações empresariais e multi-camadas, 
baseada em componentes padronizados, modulares e reusáveis, e 
oferece um conjunto completo de serviços para estes componentes.
Título da Apresentação
O ambiente Eclipse
Curso Java Básico
O Eclipse é um ambiente de desenvolvimento integrado (IDE – Integrated 
Development Environment) 
Contém um conjunto de funcionalidades embutidas, cuja finalidade é 
prover um modo mais fácil e interativo de construir e manipular seus 
programas. 
Dentre essas funcionalidades, destacam-se:
um editor de texto com facilidades especialmente desenhadas para a 
linguagem;
um compilador e um interpretador, para muitas linguagens 
interpretadas, dentre elas o Java; 
um editor gráfico, com facilidades para criação e edição da interface 
gráfica do programa a ser desenvolvido;
Título da Apresentação
Curso Java Básico
uma ferramenta, denominada debugger, que possibilita um 
monitoramento mais elegante do funcionamento do seu 
programa, facilitando a detecção e remoção dos erros de lógica do 
código.
Além das funcionalidades inerentes ao conceito de IDE, é importante 
ressaltar que o Eclipse é tido como “meta-ambiente de desenvolvimento 
de software”, um “ambiente para construção de ambientes”. Em outras 
palavras, um framework para integração de diferentes tipos de aplicação. 
O ambiente Eclipse
Curso Java Básico
Funcionalidades do ambiente Eclipse
ao iniciar o Eclipse pela primeira vez, será solicitada a indicação de 
um diretório onde será armazenado o código a ser desenvolvido 
workspace;
é possível existir mais de um workspace na mesma mídia de 
armazenamento. Entretanto, cada workspace poderá ser utilizado por 
somente uma instância do Eclipse em execução no momento. 
na janela de definição do workspace é possível definí-lo como o 
diretório padrão (default) onde os projetos a serem desenvolvidos por 
aquela instância do Eclipse serão armazenados.
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Funcionalidades do ambiente Eclipse
após a definição do workspace, será exibida uma janela de boas-
vindas(welcome). 
após fechá-la, será exibido o layout do ambiente sob a denominada 
perspectiva Java Perspective;
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Funcionalidades do ambiente Eclipse
o Eclipse destaca-se dentre as demais IDEs, pelo fato de possuir a 
funcionalidade de customização do ambiente de trabalho. 
trata-se de um programa open-source, originalmente escrito para ser 
uma IDE versátil e possível de ser adaptada para qualquer propósito 
relacionado ao desenvolvimento de software, desde a produção de 
plug-ins para ele mesmo e/ou outros programas, passando pela 
integração de ferramentas ao ambiente Eclipse e culminando no 
desenvolvimento do software final em si. Esta adaptabilidade já 
começa pela estética do ambiente. 
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Package Explorer (1)
é um visualizador simples e elegante dos seus projetos;
um projeto representa toda a estrutura do seu programa, 
armazenando os arquivos-fonte (.java), os bytecodes (.class), as 
configurações gerais do ambiente para o projeto, eventuais arquivos 
de backup e outros arquivos inerentes ao escopo do programa (por 
exemplo, quaisquer possíveis imagens relacionadas ao projeto);
a navegação é semelhante à do Windows Explorer, bastante intuitiva 
e respeitando a hierarquia do projeto, com a qual ficaremos mais 
familiarizados com a prática, ao longo do desenvolvimento do projeto.
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Editor de Textos (2)
o editor de textos do Eclipse denota as palavras-chave de Java™ em 
letras destacadas para facilitar a leitura do código;
esta é uma das funcionalidades mais utilizadas nesta ferramenta, 
possuindo um número expressivo de facilidades, ilustradas nas 
situações seguintes.
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Editor de Textos (2)
Função Autocompletar
Suponha que estejamos escrevendo o método “transferir” de uma 
classe Conta
este método é composto de uma chamada ao método “debitar” e 
outra chamada ao método “creditar”, como podemos na definição 
abaixo:
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Editor de Textos (2)
durante a implementação deste método, quando digitarmos o 
nome de alguma variável que denote um objeto e o ponto para 
chamada de método, o editor de textos do Eclipse nos mostrará 
uma janela com uma relação completa de todos os métodos e 
atributos que este objeto pode acessar em seu contexto, e a 
medida em que escrevermos as letras, ele filtrará tudo o que 
puder ir sendo descartado, como ilustra a imagem abaixo.O ambiente Eclipse
Curso Java Básico
Editor de Textos (2)
Detecção de erros de sintaxe
uma grande funcionalidade das principais IDEs atuais é a 
detecção de erros de compilação em tempo de implementação;
o editor de textos do Eclipse, ao perceber um erro de sintaxe (e 
até alguns poucos erros de lógica), imediatamente destaca o 
trecho que ele supõe estar errado, além de indicar as possíveis 
causas do erro e sugerir algumas soluções;
como podemos ver na figura seguinte, ele sublinha o trecho e 
errado e marca as linhas que apresentam problema de sintaxe no 
lado direito da janela:
O ambiente Eclipse
Curso Java Básico
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Editor de Textos (2)
Indicação de Escopo de Blocos de Código
O editor também separa os trechos de código contido entre 
chaves, no lado esquerdo da janela, em azul. 
Podemos clicar nos triângulos azuis para exibir/esconder trechos 
entre chaves, facilitando a visualização do arquivo e sua 
navegação. 
Por último, o editor do eclipse nos poupa bastante tempo de pesquisa 
em documentação de classes nas APIs das mesmas com um recurso 
muito simples e interessante. 
Ao mantermos o mouse por cima de nomes de classe ou 
métodos, uma caixa de texto aparecerá na tela com toda a 
documentação da classe / método em questão. A figura seguinte 
exemplifica essa funcionalidade.
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Console (3)
o Eclipse oferece um terminal de console para a entrada de dados do 
teclado pela stream de entrada padrão e a saída de dados que o 
programa escreve na stream de saída padrão.
Outline (4)
a janela Outline funciona semelhantemente ao Package Explorer, 
sendo que voltada para a estrutura interna do seu arquivo .java - 
frequentemente a sua classe;
existem ícones diferentes para cada parte do arquivo.
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Criando um projeto
primeiramente clique em 
File > New > Project;
um wizard de criação de 
projetos aparecerá;
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Criando um projeto
em seguida, selecione a 
opção 
Java > Java Project;
clique em Next. 
A seguinte tela irá aparecer:
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Criando um projeto
digite um nome para o seu projeto;
se você quiser criar o projeto em um diretório diferente do workspace:
marque a opção "Create project at external location";
especifique o diretório onde o projeto será ser armazenado;
marque também a opção “Create separate source and output folders” 
na caixa “Project Layout”. Essa opção permite que você não misture 
os arquivos que contém o código-fonte(source) com os arquivos 
gerados pelo compilador(output ou saída) , criando pastas diferentes 
para cada um desses tipos de arquivos;
clique em Next. 
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Criando um projeto
agora você terá a 
oportunidade de escolher os 
diretórios do source e de 
saída;
para deixar os valores 
default clique em Finish, ou 
então altere os valores de 
acordo com sua 
conveniência.
possívelmente aparecerá 
uma janela pedindo para 
confirmar uma mudança de 
perspectiva. Se aparecer, 
clique em "Yes". 
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Criando uma classe
agora, seu projeto já está 
criado, mas ainda não 
possui nenhuma classe;
para criar uma classe, 
clique em 
File > New > Class
a seguinte tela aparecerá:
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Criando uma classe
a parte superior da janela dá algumas indicações sobre o 
preenchimento - como campos obrigatórios, a sugestão de usar inicial 
maiúscula para nomes de classes, etc;
em "Source Folder", determine de que projeto sua classe fará parte e 
a localização do arquivo .java;
selecione o nome da sua classe no campo "Name";
opcionalmente você pode pré-determinar os modificadores de acesso 
da sua classe e deixar prontos os esqueletos de alguns métodos, no 
campo Modifiers e nos campos abaixo de “Which method stubs would 
you like to create?”
escolha "public static void main(String[] args)" – o método principal já 
será defido na classe;
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Criando uma classe
clique em Finish. 
sua classe será criada e aparecerá como a imagem seguinte.
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Utilização de bibliotecas
para adicionar uma 
biblioteca externa ao 
projeto:
clique com o botão 
direito sobre a 
pasta do projeto no 
Package Explorer;
selecione a opção 
Properties. 
a seguinte janela 
surgirá:
O ambiente Eclipse
Título da Apresentação
Curso Java Básico
Utilização de bibliotecas
no menu da esquerda, selecione a opção Java Build Path (como está 
selecionado na figura). 
A parte da direita mudará para mostrar o que está na figura;
selecione a aba Libraries para visualizar as bibliotecas utilizadas pelo 
seu projeto. Provavelmente você poderá ver a biblioteca JRE System 
Library, que é a biblioteca padrão que vem com o JDK instalado na sua 
máquina, e que praticamente todo projeto Java deve utilizar;
para adicionar mais bibliotecas, clique no botão Add External JARs (Java 
ARchives ou, extra-oficialmente, Java Application Resources, o último 
menos usado);
por último, selecione o caminho da biblioteca a ser adicionada e clique 
em Open. 
O ambiente Eclipse
Exemplo 2
Título da Apresentação
Características da linguagem
Curso Java Básico
Todos os programas Java possuem quatro elementos básicos:
Pacotes;
Classes;
Métodos;
Variáveis.
Título da Apresentação
Curso Java Básico
Pacotes
as classes que compõem o núcleo de funcionalidades Java estão 
organizadas em pacotes;
um package Java é um mecanismo para agrupar classes de finalidades 
afins ou de uma mesma aplicação;
além de facilitar a organização conceitual das classes, o mecanismo de 
pacotes permite localizar cada classe necessária durante a execução da 
aplicação;
no entanto, a principal funcionalidade de um pacote Java é evitar a 
explosão do espaço de nome, ou seja, classes com o mesmo nome em 
pacotes diferentes podem ser diferenciadas pelo nome completo, 
pacote.classe. 
Características da linguagem
Título da Apresentação
 
Curso Java Básico
Entre os principais pacotes oferecidos como parte do núcleo Java estão:
java.lang;
java.util;
java.io;
java.net.
Pacotes contêm classes e duas outras entidades de Java que veremos 
posteriormente: exceções e interfaces;
Um package é uma coleção de classes e interfaces relacionadas fornecendo 
proteção de acesso e gerenciamento de nomes de diretórios. 
Usamos a declaração import para acessar essas classes. 
Se a declaração import não for utilizada e desejarmos utilizar alguma classe 
externa, será necessário colocar o caminho da classe a cada acesso. 
Características da linguagem
Título da Apresentação
 
Curso Java Básico
Exemplo:
import java.lang.*;
O asterisco no final diz ao compilador para importar todas as classes do 
pacote java.lang. 
Esse é um dos vários pacotes incluídos na API. 
O compilador Java define implicitamente um pacote para as classes no 
diretório atual e o importa implicitamente. 
Esse é o motivo porque não precisamos colocar explicitamente as classes 
que escrevemos em um pacote. 
Para colocarmos uma classe em um pacote, deve-se inserir a diretiva 
package com o nome do pacote no início da classe.
Características da linguagem
Título da ApresentaçãoCurso Java Básico
Estrutura de um código Java
Como todas linguagem de programação, Java possui um formato básico para a 
escrita de códigos. Tal formato é demonstrado abaixo:
1 // Duas barras significam comentário
2 /* comentários também podem seguir o formato de C++ */
3
4 public class NomeDoPrograma
5 {
6 // O método main indica que o código Java pode ser executado
7 static public void main(String[] args)
8 {
9 // aqui virão os comandos
10 }
11 }
Características da linguagem
Título da Apresentação
 
Curso Java Básico
 
Compreendendo o código Java
linhas 1 e 2: representam comentários. Um comentário pode conter 
qualquer informação relevante ao comportamento do programa, autor, 
versão, etc;
linha 3: está em branco, pois Java permite linhas em branco entre os 
comandos;
linha 4: é a declaração do "nome do programa", que é case-sensitive 
(existe diferença entre maiúsculas e minúsculas). O arquivo que contém 
o código Java deve ser salvo com o mesmo nome que aparece após a 
declaração public class e mais a extensão .java (o exemplo acima 
deveria ser salvo como NomeDoPrograma.java).
Características da linguagem
Título da Apresentação
 
Curso Java Básico
 
Compreendendo o código Java
linhas 5 e 8: a abertura de chave { indica início de bloco;
linha 8: essa linha indica à Java Virtual Machine que o programa será 
executado. Os demais programas não conterão o método main();
 Quando um programa Java é executado, o interpretador da JVM executa 
os comandos que estiverem dentro do bloco indicado pelo método "static 
public void main(String)".
linha 9: aqui seria escrito o código propriamente dito;
linhas 10 e 11: o fechamento de chave } indica fim de bloco.
Características da linguagem
Título da Apresentação
Curso Java Básico
 
Compilando e Executando
a seguir, apresentaremos um exemplo de criação, compilação e execução 
de um programa Java, sem o uso de uma IDE, utilizando apenas os 
programas da JSDK.
1- Crie o arquivo HelloWorld.java em um diretório qualquer com o 
seguinte conteúdo:
public class HelloWorld {
public static void main (String args[])
{
System.out.println("Hello World!");
}
}
Configurar variáveis de ambiente – referência artigo 
http://www.guj.com.br/java.tutorial.artigo.12.1.guj
Características da linguagem
Título da Apresentação
Curso Java Básico
 
Compilando e Executando
2 - Chame o compilador Java para este arquivo:
 
$ javac HelloWorld.Java
3- Seu diretório deve ter recebido um novo arquivo após essa 
compilação: 
HelloWorld.class
Características da linguagem
Título da Apresentação
Curso Java Básico
 
Compilando e Executando
4 - Chame o interpretador Java para este arquivo (omita a extensão 
.class do arquivo):
 $ j ava HelloWorld
5- Observe o resultado na tela: 
Hello World!
Características da linguagem
Título da Apresentação
Estrutura da linguagem 
Curso Java Básico
 
Comentários
Qualquer informação especificada entre os caracteres de comentário 
será ignorada pelo compilador;
Os comentários em Java podem ser por linha ou em bloco:
por linha: 
// isto é um comentário e inicia com duas barras. 
 int valor; // e pode estar no final da linha
 
em bloco: 
 
/* Comentário em bloco 
Aceita múltiplas linhas 
Não utilize comentários aninhados 
*/ 
Título da Apresentação
Curso Java Básico
 
Comentários
As regras que tratam dos comentários em Java são:
comentários não podem ser aninhados;
não podem ocorrer dentro de strings ou literais;
as notações /* e */ não tem significado dentro dos comentários //;
a notação // não tem significado dentro dos comentários /* e /**.
Estrutura da linguagem 
Título da Apresentação
Curso Java Básico
 
Comentários javadoc
É tipo especial de comentário, utilizado para gerar documentação da API 
do código Java.
/** isto é um comentário para geração de javadoc
*/
Estrutura da linguagem 
Título da Apresentação
Curso Java Básico
 
Identificadores
Identificadores são usados para determinar nomes de variáveis, atributos 
de classe ou de instância, parâmetros e métodos;
Os identificadores em Java iniciam com: 
uma letra; 
um sublinhado (_ );
ou um sinal de dólar "$";
Podem possuir números após o primeiro caractere da palavra; 
Pela premissa de ser case-sensitive existe uma diferenciação entre 
letras maiúsculas e minúsculas. 
Estrutura da linguagem 
 
Curso Java Básico
 
Convenções para Identificadores
na linguagem Java é utilizada a seguinte convenção para formação de 
identificadores: 
constantes com todas as letras em maiúsculo: CONSTANTE
variáveis e métodos começam com letra minúscula: variável
classes e interfaces começam com letra maiúscula: Classe 
se o identificador for um nome composto por mais de uma palavra, cada 
nova palavra começa com letra maiúscula:
exemplo: variávelComNomeComposto 
Estrutura da linguagem 
Título da Apresentação
 
Curso Java Básico
 
Tipos Primitivos 
no Java, todos os objetos necessitam ter seu tipo especificado.
existem 8 tipos primitivos em Java;
seis deles são numéricos, um é o caractere e o outro é o booleano;
os tipos Array e String não são tipos primitivos, são Classes e serão 
tratados a seguir.
Estrutura da linguagem 
Título da Apresentação
 
Curso Java Básico
 
Tipos Numéricos Inteiros
os tipos inteiros guardam valores numéricos sem parte fracionária.
 
 
 
na maioria das ocasiões, o tipo int é suficiente;
não se pode esquecer que como Java é portável, esses valores são os 
mesmos para qualquer plataforma de hardware.
Tipo Tamanho Faixa de Valores
int 4 bytes -2.147.483.648 até
2.147.483.647 
short 2 bytes -32.768 até 32.767 
byte 1 byte -128 até 127 
long 8 bytes -9.223.372.036.854.775.808 até 
9.223.373.036.854.775.807 
Estrutura da linguagem 
Título da Apresentação
Curso Java Básico
 
Tipos Numéricos de Ponto Flutuante
os tipos primitivos que representam valores numéricos com ponto 
flutuante:
 
normalmente utilizamos o double na maioria das situações onde é 
necessária a representação desse tipo de número, pois sua precisão é 
maior;
números do tipo float aparecem com um sufixo F. (3.04F). 
se o número aparecer sem o F, ele é considerado double. 
Tipo Tamanho Faixa de Valores 
float 4 bytes +/- 3.40282347E+38F 
(aproximandamente 7 dígitos 
 significativos) 
double 8 bytes +/- 1.79769313486231570E+308 
(15 dígitos significativos) 
 
Estrutura da linguagem 
 
 
Curso Java Básico
 
Estrutura da linguagem 
Tipo caractere
O tipo char serve para representar apenas uma letra ou número.
 
Esse tipo serve para representar caracteres usando a tabela Unicode;
Dessa tabela faz parte a tabela ASCII e mais alguns caracteres 
especiais. 
O tipo char é sempre representado por aspas simples (‘h’). 
Caracteres representados por aspas duplas (“h”) na verdade são Strings. 
Tipo Tamanho Faixa de Valores 
char 2 bytes 0 até 65536 
 
 
Curso Java Básico
 
Estrutura da linguagem 
Tipo booleano
o tipo booleano pode assumir apenas dois valores, true ou false. Esse 
tipo é usado apenas para testes lógicos.
Tipo Tamanho Faixa de Valores 
boolean 1 bit true ou false 
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Valores Padrão
abaixo segue uma lista com os valores padrões de todos os tipos 
primitivos, sendo que não é necessário inicializar as variáveis com esses 
valores, a máquina virtual cuidará desse trabalho.
Tipo Valor
byte 0
short 0
int 0
long 0
float 0.0
double0.0
boolean false
char \u0000
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
String
String é uma classe que manipula cadeias de caracteres;
incluída no pacote java.util;
possui métodos para essas manipulações;
a representação de um String é feita por um conjunto de caracteres entre 
aspas.
Exemplo:
String str = “Isto é uma String do Java”; 
String str = “”; //uma string vazia
 Concatenação de Strings
 String uniao = “use o sinal de + para ” + “concatenar Strings”;
Exemplo 3
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Métodos da Classe java.lang.String
a classe java.lang.String possui muitos métodos;
abaixo apresentamos os mais significativos:
charAt(int indice) 
retorna o caractere na posição especificada
int compareTo(String outraString) 
retorna um valor negativo se a string vier antes de outraString 
 na ordem do dicionário, um valor positivo se outraString vier 
 antes e 0 (zero) caso forem iguais
boolean endsWith(String sufixo)
retorna true se a string terminar com sufixo
 
Curso Java Básico
 
Estrutura da linguagem 
Métodos da Classe java.lang.String
boolean equals(String outra)
retorna true se a string for igual à outra
boolean equalsIgnoreCase(String outra)
retorna true se a string for igual à outra, ignorando maiúsculas e
minúsculas
String toLowerCase()
retorna uma nova string convertendo maiúsculas para minúsculas
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Métodos da Classe java.lang.String
String toUpperCase()
retorna uma nova string convertendo minúsculas para maiúsculas
String trim()
elimina espaços iniciais e finais
Exemplos 4 e 5
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
StringTokenizer
“Quando você lê uma frase, sua mente divide a frase em palavras 
individuais ou tokens...” Deitel&Deitel
Tokens são separados entre si por delimitadores (espaços em branco, 
tabulação, nova linha e retorno de carro);
Pertence ao pacote java.util;
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
StringTokenizer
Há três construtores possíveis:
o construtor que aceita um argumento String, utilizará o string 
delimitador padrão “\n\t\r”;
aquele que aceita dois argumentos String: o segundo String é o 
String delimitador;
a versão que aceita três argumentos, o segundo String é o string 
delimitador e o terceiro argumento (um boolean) determina se os 
delimitadores também são retornados como tokens (somente se o 
argumento for true).
Exemplo 6
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Array
um array tipo de dados utilizado para armazenar um grupo de 
informações semelhantes;
arrays são tipos indexados de dados que permitem a representação de 
agrupamento de dados como vetores e matrizes;
todos os itens de um array devem ser do mesmo tipo em tempo de 
compilação.
o código para declarar o array é:
int nums[10];
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Array
arrays são inicializados com o uso do operador new;
pense em cada elemento do array como um objeto distinto;
o tipo mais simples de array é um array de dimensão de um tipo 
primitivo, por exemplo, um int.;
o código para criar e inicializar o array é:
int nums[ ] = new int [5];
os colchetes depois do identificador nums, dizem ao compilador que 
nums é um array;
o operador new instancia o array e chama o construtor para cada 
elemento;
o construtor é do tipo int e pode conter cinco elementos. 
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Array
arrays podem ser multimensionais;
durante a instanciação, um array multidimensional deve ter pelo menos 
uma de suas dimensões especificadas;
a seguir, exemplos de como criar um array bidimensional:
int [ ][ ] numlist = new int [2][];
int lista[ ][ ] = new int[5][5];
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Array
arrays podem ser inicializados na hora da criação, colocando-se os 
valores inicias desejados entre chaves {};
não é necessário especificar o tamanho – Java irá inicializar o array com 
o número de elementos especificados.
Exemplo:
int nums[ ] = {1, 2, 3, 4, 5};
 int nums[ ][ ] = {(1,1), (2,2), (3,3), (4,4), (5,5)}; 
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Array
os arrays podem ser indexados por um valor byte, short, int ou char;
não se pode indexar arrays com um valor long, ponto flutuante ou 
booleano;
se precisar usar um desses tipos deve-se fazer uma conversão explícita;
os arrays são indexados de zero até o comprimento do array menos um. 
Exemplo 7
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Operador de Atribuição
a atribuição é feita através do operador “=”:
<identificador> = <valor>;
Exemplos: (na declaração da variável)
float umFloat = 0.5;
char caracter = ‘i’;
Exemplos: (após declaração da variável)
idade = 18; 
existe = true;
 
Curso Java Básico
 
Estrutura da linguagem 
Operadores Aritméticos
operadores aritméticos são aqueles que efetuam operações aritméticas 
em um ou mais tipos primitivos. 
Operador Nome Exemplo
+ Adição 23+29
- Subtração 29-23
* Multiplicação 0.5 * salario
/ Divisão 100/42
% Módulo 57%5
Exemplo 8
Título da Apresentação
 
Curso Java Básico
 
Estrutura da linguagem 
Operadores Relacionais
os operadores relacionais utilizados para formar expressões 
condicionais, utilizados em testes e condições de entrada em um fluxo 
do programa.
Operador Nome Exemplo
== Igual 10 == 10
!= Diferente 3 != 2
< Menor 4 < 10
> Maior 10 > 6
>= Maior ou igual 3 >= 3
<= Menor ou igual 5 <= 6
Exemplo 9
Título da Apresentação
 
Curso Java Básico
 
Estrutura da linguagem 
Operadores Lógicos
os operadores lógicos, assim como os relacionais, são utilizados para 
formar expressões condicionais, utilizados em testes e condições de 
entrada em um fluxo do programa.
Operador Nome Exemplo
&& AND (0 < 2) && ( 10 > 5)
|| OR ( 10 >11 ) || (10 < 12 )
! NOT !( 1= = 4 )
^ XOR ( 1!= 0) ^ ( 3< 2 )
?: Condicional 3>2? (comando):
(comando)
Exemplo 10
Título da Apresentação
 
Curso Java Básico
 
Estrutura da linguagem 
Atribuição Composta
para facilitar a programação, Java oferece um tipo de atribuição 
chamada atribuição composta, que pode ser formada com operadores 
aritméticos ou lógicos;
Exemplos:
a += b; // Equivalente a: a = a + b;
a *= 3; // Equivalente a: a = a * 3;
Título da Apresentação
 
 
Curso Java Básico
 
Estrutura da linguagem 
Incremento e Decremento
o incremento é dado pelo operador ++ e o decremento pelo operador --.;
este decremento ou incremento pode ser feito antes ou depois da 
utilização da variável;
colocando–se antes (++var), será realizado o incremento ou 
decremento e depois o valor da variável será utilizado;
ao contrário (var++), o operador após a variável, faz com que o valor 
da variável seja utilizado primeiro e o incremento ou decremento seja 
feito depois.
Exemplos:
i++; //Equivalente a: i = i +1;
--i; //Equivalente a: i = i -1;
Exemplo 11
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Precedência dos Operadores
a tabela abaixo apresenta os operadores em ordem decrescente de 
precedência, isto é, o que está mais acima ocorre antes: 
++ - - !
* / % 
+ - 
<> <= >=
== != 
^
&&
||
= *= /= %= += -= 
Título da ApresentaçãoCurso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo
a maioria dos programas tomam decisões que afetam seu fluxo;
as declarações que tomam essas decisões são chamadas de comandos 
de controle de fluxo. 
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
if...else
executa, condicionalmente, um bloco de comandos, dependendo do 
valor de uma expressão;
Sintaxe:
if (condição) {bloco de comandos} [else {bloco de comandos} ]
Exemplo:
if ( fim == true )
System.out.println(“Término!”);
else System.out.println(“Continuando...”);
Título da Apresentação
 
 
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
if...else
para mais de um comando ser executado depois da declaração, 
utiliza-se o conceito de blocos, delimitados por { };
Exemplo:
if ( fim == true ){
cont = 0;
System.out.println(“Término!”);
}
else {
cont = cont +1;
System.out.println(“Continuando...”);
 }
Exemplo 12
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
Operador Condicional ?:
uma alternativa para o comando if...else é a utilização do operador 
condicional “?:”;
ele é o único operador ternário do Java;
sintaxe:
(expressão lógica) ? expressão 1 : expressão 2;
caso a expressão booleana retorne um valor verdadeiro (true), a 
expressão 1 é executada; caso retorne um valor falso (false), a 
expressão 2 é executada.
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
Operador Condicional ?:
Exemplo:
int total = (salario < 1000) ? salario : salario – desconto;
no exemplo acima, se a variável salario for menor que 1000, é 
atribuído o valor de salario a variável total, mas se a variável salário 
for maior ou igual a que 1000, a variável total recebera o valor da 
variável salário menos a variável desconto.
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
switch
a instrução switch é utilizada quando precisamos selecionar uma 
ação dentro de um número de possibilidades;
switch executa um, de vários grupos de comandos, dependendo de 
uma expressão inteira;
a expressão de comparação do switch deve ser um char, um byte, 
um short ou um int;
não é permitido outro tipo primitivo ou objeto;
o valor resultante da expressão inteira é comparado com cada um 
dos itens constantes nas cláusulas case;
a ordem em que as cláusulas aparecem é importante, visto que a 
comparação é feita seqüencialmente;
uma cláusula opcional default pode aparecer no final do comando.
Título da Apresentação
 
 
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
switch
sintaxe:
switch ( expressão_teste ) {
[case expressão constante 1:
comandos]
...
[default: comandos;]
}
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
switch
Exemplo:
switch ( diaSemana ){
case 1: System.out.println(“Hoje é segunda-feira”);
 break;
case 2: System.out.println(“Hoje é terça-feira ”);
 break; ...
 case 7: System.out.println(“Hoje é domingo”);
 break;
default: System.out.println(“Opção inválida!”);}
Exemplo 13
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
while
executa um bloco de comandos enquanto uma condição for 
verdadeira;
é a mais simples das estruturas de repetição (ou loop), onde a 
expressão de comparação é avaliada antes que o laço seja 
executado;
utilizada quando não se quer que o corpo do laço seja 
necessariamente executado;
Sintaxe:
while (expressão booleana) { bloco de comandos; }
Exemplo:
while ( i != 0 ){
salario = salario * 0.5;
i--; }
Exemplo 14
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
do...while
executa um bloco de comandos enquanto uma condição for 
verdadeira;
a expressão de comparação é avaliada depois que o laço for 
executado;
utilizada quando se quer que o corpo do laço seja necessariamente 
executado;
Título da Apresentação
 
 
 
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
do...while
Sintaxe:
do { bloco de comandos; }
while (expressão booleana);
Exemplo:
do {
salario = salario * 0.5;
i--;
 } while ( i != 0 );
Exemplo 15
Título da Apresentação
 
 
 
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
for
repete um grupo de comandos em um número específico de vezes;
fornece uma expressão para inicializar as variáveis, seguida por uma 
expressão de comparação e depois um lugar para incrementar ou 
decrementar as variáveis de laço;
a declaração pode ser um comando simples ou um bloco de 
comandos;
Sintaxe:
for (inicialização; terminação; incremento) 
{ bloco de comandos; }
Exemplo:
for (i = 0; i < 20; i ++)
salario = salario * 0.5;
Título da Apresentação
 
 
 
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
for
a seção de inicialização é executada uma única vez, quando se entra 
no laço;
a inicialização pode ser vazia se a variável da condição já tiver sido 
inicializada antes do laço;
a seção de terminação é uma expressão lógica que é verificada no 
início de cada uma das iterações do laço;
a terminação também pode ser vazio, caso onde precisaríamos de 
uma instrução break para sair do laço;
a seção de incremento é uma expressão (ou expressões separadas 
por vírgula) que é executada em cada iteração do laço;
não é obrigatório que essa expressão esteja relacionada com o 
controle do laço; o incremento também pode ser vazio.
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
for
na versão 5, o java ampliou a utilização do comando for, agora com 
sintaxe simplifica e normalmente chamado de "for estendido"
Exemplo:
...
int[] mat = { 3, 4, 5, 6 };
for( int x:mat ) {
 System.out.println( x );
}
o laço estendido cria a variável de controle interna para percorrer um 
conjunto (vetor ou Coleções, que veremos adiante)
a cada iteração um valor do conjunto é passado para a variável x e 
executado o bloco de instruções.
Exemplo 16
Título da Apresentação
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
break
o comando break desvia o fluxo de execução de um programa para o 
fim de um laço ou de uma instrução switch;
utilizada para sair de um laço antes do normal;
o laço irá encerrar independentemente de seu valor de comparação 
e a declaração após o laço será executada.
Exemplo:
int i = 0;
while (true) {
System.out.println(i);
i++;
if ( i > 10 ) break;
}
Exemplo 17
Título da Apresentação
 
 
 
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
continue
o comando continue desvia o fluxo de execução de um laço para o 
próxima iteração, abandonando a iteração em que se encontra;
Exemplo:
for (int i = -10; i<10; i++)
{
if ( i == 0 )
continue;
System.out.println(1/i);
}
Exemplo 18
Título da Apresentação
 
 
 
Curso Java Básico
 
Estrutura da linguagem 
Comandos de Fluxo: Comandos de Decisão
return
comando utilizado para transferir controle entre métodos;
retorna informações de métodos, encerrando a execução e 
retornando para o local de ondeo método foi chamado;
Sintaxe:
return valor;
exemplo:
class Teste{
public int Potencia ( int base, int n){
int result = base;
for ( int i = 0; i < n-1; i ++ )
result = result * base;
return result; }
} Exemplo 19
Título da Apresentação
 
 
 
Curso Java Básico
 
O desenvolvimento de aplicações Java sempre é feito através de classes. 
Uma aplicação Java sempre terá a seguinte estrutura:
class NomedaClasse
{
// Atributos
// Métodos
public static void main( String args[] )
{
//corpo principal do programa
}
}
Classes em Java
Título da Apresentação
Curso Java Básico
 
Uma aplicação em Java é caracterizada por possuir o método main();
O método main é o método chamado pelo interpretador Java quando 
executado;
 A declaração do método main deve ser: 
 public static void main( String args[] ) 
 ou public static void main(String... args) (desde 1.5)
 define um método de acesso público (public), sem retorno (void), que 
recebe como parâmetro um array de strings de tamanho indefinido 
representado pela variável args (onde são passados os argumentos da 
linha de comando para a aplicação)
 a única alteração que pode ser feita é no nome do array (args).
Classes em Java
Título da Apresentação
Curso Java Básico
 
Classes e Objetos
 classe é uma descrição de algo existente no domínio do problema 
(aplicação);
 é usada na criação de múltiplos objetos;
 é a descrição dos dados (atributos) e do comportamento (métodos) de 
um objeto;
 um objeto é uma instância particular de um tipo de dado específico 
(classe);
 objeto é uma instância de uma classe;
 instanciar um objeto é criar seu espaço de memória e repassar um 
ponteiro para ele;
Classes em Java
Título da Apresentação
Curso Java Básico
 
Classes e Objetos
 quando um objeto é criado ele precisa ser inicializado, precisa ser 
carregado com a referência (o endereço) de um espaço de memória 
alocado para o seu armazenamento
 para uma única classe podemos ter vários objetos durante a execução 
de um programa.
 em um programa orientado a objetos temos muitos objetos se 
relacionando entre si;
 a interação entre objetos é feita através de mensagens;
 um objeto “chama” os métodos de outro, passando parâmetros quando 
necessário;
 a esta interação entre objetos chama-se troca de mensagens.
Classes em Java
Exemplo 20
Título da Apresentação
Curso Java Básico
 
Classes e Objetos – Exercício 1
 Implemente o relacionamento "uma empresa possui vários endereços" 
(um de cada filial). Os dados da empresa são:
Nome, CNPJ e nome do dono. Os dados de cada um de seus endereços 
são: tipo de logradouro (AVENIDA, RUA, BECO), NÚMERO e CEP.
Classes em Java
Curso Java Básico
 
Métodos
 Um método descreve o comportamento de uma classe;
 Um método de uma classe tem a seguinte estrutura genérica:
<visibilidade> <static> <tipo_retorno> <nome_método> (<parâmetros>) 
{
// corpo ou escopo do método
}
Classes em Java
Título da Apresentação
Curso Java Básico
 
Métodos
 <visibilidade> - é o modificador de acesso para o método, podendo 
ser:
 public – o método poderá ser acessado por qualquer classe.
 private - o método só poderá ser acessado dentro da mesma classe.
 default (package) – o método só poderá ser acessado dentro da 
própria classe ou por classes do mesmo pacote. Modificador utilizado 
por default, caso não seja especificado.
 protected – o método só poderá ser acessado por classes do 
mesmo pacote ou por subclasses (veremos isto em herança).
 <static> - modificador que define se o método é de classe (com static) 
ou de instância (sem static). Métodos de classe podem ser chamado sem 
a especificação de um objeto.
Classes em Java
Título da Apresentação
Curso Java Básico
 
Métodos
 <tipo_retorno> - declaração do tipo de retorno do método, que pode 
ser qualquer um dos tipos primitivos, qualquer objeto ou o tipo void, que 
significa que o método não retorna valor algum. 
 (<parâmetros>) 
 um método pode ter zero ou mais argumentos, também chamados 
parâmetros;
 cada argumento indicará um pedaço da informação que deve ser 
passada ao método no momento de sua chamada;
 quando houver mais de um argumento, eles devem ser separados 
por vírgulas;
 caso o método não receba argumentos, os parênteses devem ser 
deixados vazios.
Classes em Java
Curso Java Básico
 
Métodos
 Em Java todos os argumentos são passados por valor;
 Não existe passagem por referência;
 Se o parâmetro for uma variável de tipo primitivo o valor da variável é 
passada no parâmetro e pode ser alterada dentro do método que não 
será refletido na variável externa;
 Com objetos o efeito é diferente, já que o valor passado no parâmetro do 
método é a referência para o objeto, ou seja, se um objeto for alterado 
dentro do método, o objeto externo também será alterado;
Classes em Java
Exemplo 21
Curso Java Básico
 
Métodos
 No Java 5 foi introduzido o conceito de varargs, que permite a passagem 
de um número variável de argumentos a um método;
 Dentro do método os argumentos variáveis são tratados como arrays 
do tipo que foi definido;
 No caso dos exemplos abaixo, um array de int (int[ ]) ou de String.
 Exemplo:
...
void metodo( int... args ) { 
for( int i : args ) { 
 System.out.println( i ); 
 }
} 
...
 metodo( 1 ); 
 metodo( 1, 2, 3 ); 
Classes em Java
Título da Apresentação
Curso Java Básico
 
Métodos
 Esta funcionalidade alivia o trabalho de o desenvolvedor ter que criar 
arrays com valores e passar aos métodos. 
 Algumas regras aplicadas aos métodos:
 métodos retornam, no máximo, um valor, podendo ser uma variável 
ou um objeto;
 se o tipo de retorno do método não for void, o corpo do método tem 
de ter um comando return;
 a passagem de parâmetros com tipo diferente dos parâmetros 
recebidos (assinatura do método) gera erro de sintaxe;
 um método não pode ser definido dentro de outro método;
 métodos devem ter sua função bem definida, para promover a 
reutilização de código.
Classes em Java
Exemplo 22
Curso Java Básico
 
Métodos – Exercício 2
 A partir das classes criadas no Exercício 1, declare dois método para 
impressão dos dados de um objeto empresa, sendo este passado 
como parâmetro para o método.
 Cada um dos métodos realiza a impressão em uma forma distinta de 
saída: pelo console e por meio de uma caixa de mensagem.
Classes em Java
Curso Java Básico
 
Sobrecarga Métodos
 Exemplo:
public class Empregado {
...
public void defineCampo(int valor) {
idade = valor;
}
public void defineCampo(String valor) {
nome = valor;
}
public void defineCampo(int valor1, String valor2) {
idade = valor1;
nome = valo2;
}
...
}
Classes em Java
Curso Java Básico
 
Sobrecarga Métodos
 Na hora da chamada de um dos métodos, o compilador Java escolhe o 
método correto baseado nos parâmetros fornecidos.
 Exemplo:
...
Empregado emp = new Empregado();
emp.defineCampo(20);
emp.defineCampo(“Maria”);
...
Classes em Java
Exemplo 23
Curso Java Básico
 
Sobrecarga Métodos – Exercício 3
 Crie uma classe que sobrecarregue um método que retorna o triplo de 
um número, sendo este um inteiro(int) ou um número fracionário (double 
ou float).
Classes em Java
Curso Java Básico
 
Variáveis
Variáveis são usadas em linguagens em geral para armazenar valores;
Valores são passados para variáveis através de operações de atribuição
atribuição de valores é feita através de literais
 Ex: int intQuantidadeAlunos = 14;
atribuição de referências (endereços para valores) é feita através de 
operações de construção de objetos e, em dois casos,pode ser feita 
através de literais
 Ex: Conta contaClientePreferencial = new Conta();
 String s = "abcde";
 int[] v = {1, 2, 3};
Classes em Java
Não são tipos primitivos, 
s e v são referências.
Não são tipos primitivos, 
s e v são referências.
Curso Java Básico
 
Escopo de Variáveis
Atributos de dados (declarados no bloco da classe): podem ser usados em 
qualquer lugar (qualquer bloco) da classe
uso em outras classes depende de modificadores de acesso (public, 
private, etc);
existem enquanto o objeto existir( ou enquanto a classe existir, se 
declarados static).
Variáveis locais (declaradas dentro de blocos de procedimentos)
existem enquanto o procedimento (método, bloco de controle de 
execução) estiver sendo executado;
não pode ser usado fora do bloco;
não pode ter modificadores de acesso (private, public, etc).
Classes em Java
Curso Java Básico
 
Classes em Java
Curso Java Básico
 
Classes em Java
private static String numero;
modificadores tipo nome
private static final double LIMMITE_MAXIMO;
double saldo;
Private int numEstoque = 8;
private static String numero;
modificadores tipo nome
private static final double LIMMITE_MAXIMO;
double saldo;
Private int numEstoque = 8;
Atributos
Título da Apresentação
Curso Java Básico
 
Classes em Java
Atributos – Modificadores de Acesso
Atributos public podem ser acessados (lidos, alterados) por objetos de 
qualquer classe.
Atributos private só podem ser acessados (lidos, alterados) dentro da 
própria classe onde foi declarado.
 Atributos protected podem ser acessados (lidos ou alterados) de qualquer 
classe dentro do mesmo pacote ou qualquer sub-classe.
Se um atributo não tem modificador de acesso associado então ele é 
considerado “friendly”. Só é visível para objetos de classes dentro do 
mesmo pacote.
Atributos final, torna o atributo constante;
Atributo não pode ser alterado depois de inicializado;
Atributo static: variáveis de classe vs variáveis de objeto
Curso Java Básico
 
Classes em Java
Atributos de Objeto
class Conta {
String strNome;
String strCpf;
double dblSaldo;
double dblSaldoMinimo;
public Conta(double dblValorSaldoMinimo){
 dblSaldoMinimo = dblValorSaldoMinimo; }
public static void main(){
 Conta a = new Conta(100.00);
 Conta b = new Conta(200.00); }
}
Não utiliza o 
modificador static
Curso Java Básico
 
Classes em Java
Atributos de Classe
class Conta{
String strNome;
String strCpf;
double dblSaldo;
static double dblSaldoMinimo; }
class Banco {
public Banco(){
 Conta c = new Conta();
 Conta d = new Conta();}
}
… new Banco(); …
Uso do 
modificador static
Título da Apresentação
Curso Java Básico
 
Métodos construtores
 Métodos construtores são métodos especiais definidos com o mesmo 
nome da classe;
 Construtores são chamados automaticamente toda vez que um objeto 
da classe é criado;
 Os métodos construtores servem para inicializar as variáveis de 
instância de seus objetos e não possuem nenhum valor de retorno. 
Classes em Java
Título da Apresentação
Curso Java Básico
 
Métodos construtores
 Exemplo:
// Classe com dois construtores
public class Enmpregado{
// Construtor padrão, sem parâmetros
public Empregado() {
}
// Construtor para classe receber um inteiro e um String
public Empregado(int valor1, String valor2) {
int idade = valor1;
String nome = new String;
nome = valor2;
}
...
}
Classes em Java
Título da Apresentação
Curso Java Básico
 
Métodos construtores
 Toda e qualquer classe do Java possui um construtor padrão, que não 
faz nada nem recebe parâmetros, e que só será chamado se nenhum 
construtor for definido. 
 Quando uma classe possui mais de um método com o mesmo, mas com 
parâmetros diferentes diz-se que houve um sobrecarga de métodos. 
Classes em Java
Exemplo 24
Curso Java Básico
 
Métodos construtores – Exercício 4
 Altere o Exercício 2, de forma que:
 Seja possível criar um objeto do tipo Empresa, já inicializando os 
atributos de um objeto desse tipo ou sem inicializar qualquer um 
desses atributos com valores especificados. 
 Neste último caso, faça as modificações necessárias para que os 
atributos sejam inicializados de forma que as strings sejam 
inicializadas com a senteça “Campo não informado".
Classes em Java
Título da Apresentação
Curso Java Básico
 
Referência this
 Os métodos de instância de uma classe Java possuem um parâmetro 
implícito que se refere ao objeto atual sobre o qual o método foi chamado;
 Este parâmetro é referenciado pela palavra chave this, e é utilizado 
quando é necessário enviar a própria referência do objeto para uma 
rotina.
Classes em Java
Exemplo 25
 
Curso Java Básico
 
 Modificadores de Classe
 Modificadores de acesso
 public
Classes public podem ser instanciadas por qualquer objeto 
livremente.
public class NomeClasse
default (pacote)
 Classes sem modificador de acesso explícito, denomiado default, só 
podem ser instanciadas dentro da própria classe ou por classes do 
mesmo pacote. 
 class NomeClasse
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Modificadores de classe
 Outros Modificadores
 final
Classes final são classes que não permitem que você crie 
subclasses por herança delas. 
public final class NomeClasse
abstract
Classes abstract são classes que não permitem que um 
objeto as instancie, ou seja, serve para definir superclasses 
genéricas. 
public abstract class NomeClasse
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Herança e Polimorfismo
 Conceitos Básicos de Herança
 Herança é a possibilidade de criar objetos a partir de outros já 
existentes.
 Herança é uma característica da programação orientada a objetos 
que permite que classes herdem e estendam as funcionalidades e as 
características de outras classes. 
 Uma subclasse é uma especialização da sua superclasse.
 Subclasse é também chamada de classe derivada, classe 
descendente ou classe filha; superclasse é também chamada de 
classe pai.
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Herança e Polimorfismo
 Conceitos Básicos de Herança
 Em Java, a herança é obtida através da palavra reservada extends 
seguida do nome da classe que está sendo estendida;
 Através da herança cria-se uma hierarquia de classes;
 Toda classe, por padrão, estende a classe java.lang.Object;
 Todos os métodos e atributos (public e protected) são herdados pela 
subclasse;
 Os construtores não são herdados;
 A palavra reservada super identifica métodos e atributos da 
superclasse;
 Em Java não é permitida herança múltipla, isto é, uma classe só pode 
estender uma e somente uma outra classe.
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Herança e Polimorfismo
 Conceitos Básicos de Herança
 public class Primata {
public Primata() { // método construtor
}
String nomeCientifico;
public void setNomeCientifico(String nomeCientifico) {
...
}
}
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Herança e Polimorfismo
 Conceitos Básicos de Herança
 public class Humano extends Primata{
public Humano() { // método construtor
}
String nome;
int idade;
int numeroIdentidade;
public void setNome(String nome) {
...
}
public void setIdade(int idade) {
...
}
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Herança e Polimorfismo
 Conceitos Básicos de Herança
 public void setNumeroIdentidade(int numeroIdentidade){
...
}
...
}
public class Homem extends Humano {
public Homem() { // método construtor
}
String certMilitar;
 public void setCertMilitar(String certMilitar) {
...
}
...
}
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Herança e Polimorfismo
 Conceitos Básicos de Herança
public class Mulher extends Humano {
public Mulher() {// método construtor
}
...
}
 No exemplo acima, a classe Homem (subclasse de Humano) possui 
todos os atributos e métodos da classe Humano (sua superclasse) e 
os atributos da classe Primata, superclasse da classe Homem.
Classes em Java
Exemplo 26
Título da Apresentação
Curso Java Básico
 
 Sobrescrita de Métodos
 Uma classe derivada (subclasse) recebe, através do mecanismo de 
herança, todos os métodos definidos na classe pai;
 Sobrescrever um método consiste em definir, na classe derivada, um 
método com a mesma assinatura (mesmos argumentos e tipo de retorno) 
de uma classe ascendente (classe pai em qualquer nível de herança);
 Esta funcionalidade permite que uma classe derivada altere um 
comportamento de um método herdado, sobrescrevendo-o;
 Com o sobrescrita, o método da superclasse fica escondido da 
subclasse podendo ser executado com a referência super;
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Sobrescrita de Métodos
 Atenção para não confundir os conceitos de sobrescrita de métodos e 
sobrecarga de métodos;
 na sobrecarga tem-se métodos dentro da mesma classe que 
possuem o mesmo nome, mas com parâmetros diferentes;
 na sobrescrita tem-se métodos de classes da mesma hierarquia de 
derivação com o mesmo nome, mesmos parâmetros e mesmo tipo de 
retorno.
Classes em Java
Exemplo 27
Título da Apresentação
Curso Java Básico
 
 Sobrescrita de Métodos – Exercício 5
Implemente a seguinte hierarquia:
As Classes Forma, FormaBidimensional e as classes que herdam desta, têm um 
método sobrescrito para obter a área da forma correspondente. Inclua na definição 
de cada método a impressão da senteça “Calculando a área da forma X”, onde X é 
o nome da classe;
De forma similar, cada FormaTridimensional deve ter métodos sobrescritos 
obterArea e obterVolume para calcular a área da base e a superfície, 
respectivamente, da forma tridimensional. Inclua na definição de cada método a 
impressão da senteça “Calculando a área/volume da forma X”, onde X é o nome da 
classe;
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Polimorfismo
 Um objeto polimórfico é um objeto que pode ter formas diferentes, 
funcionalidades diferentes mas continua a pertencer a uma única classe;
 Java, permite que um objeto seja referido com uma variável que é do 
tipo de uma classe ascendeste (superclasses) , e a deteminação do 
comportamento do objeto (métodos a serem executados) será 
determinada em tempo de execução, dependendo do tipo de objeto 
instanciado;
 Isto é possível porque quando criamos uma referência a um tipo abstrato 
de dados, uma classe, o compilador Java considera que o objeto atribuído 
a essa referência será do tipo declarado e não do tipo usado para criar o 
objeto.
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Polimorfismo
 Exemplo: 
class Forma { 
public void desenhar() { 
 System.out.println("Forma"); 
 } 
 } 
class Circulo extends Forma { 
public void desenhar() { 
 System.out.println("Círculo"); 
} 
} 
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Polimorfismo
 public class ExemploPolimorfismo { 
 private static void desenha(Forma[] fs) { 
 for (int i = 0; i < fs.length; i++) 
 fs[i].desenhar(); 
} 
 public static void main(String[] args) { 
 Forma[] formas = new Forma[] { 
 new Circulo(), new Forma(), 
 new Quadrado(), new Triangulo() 
 };
desenha(formas); } 
}
Classes em Java
Título da Apresentação
Curso Java Básico
 
 O operador instanceof
 O operador instanceof é um mecanismo para determinar, em tempo de 
execução, se a classe de um objeto referenciado por uma variável é 
compatível com um determinado tipo de referência conhecido. 
 a sintaxe do operador instanceof é a seguinte:
variávelDoTipoReferencia instanceof NomeDaClasseConhecida;
Classes em Java
Exemplo 28
Título da Apresentação
Curso Java Básico
 
 O operador instanceof
 Ao executar o código do Exemplo 28, a saída será:
objForma é compatível com o tipo Forma
objCirculo é compatível com o tipo Forma
objCirculo é compatível com o tipo Circulo
objQuadrado é compatível com o tipo Forma
objQuadrado é compatível com o tipo Quadrado
 Observe que o operador instanceof identifica a compatibilidade de tipos 
no que se refere ao mesmo tipo do objeto referenciado (compatibilidade 
identificada quando comparado o objCirculo com a classe Circulo, por 
exemplo) e na herança de classes e interfaces (compatibilidade 
identificada quando comparado o objCirculo com a classe Forma, 
supertipo de Circulo, por exemplo). 
Classes em Java
Curso Java Básico
 
 Interfaces
 Interfaces foram concebidas para criar um modelo de implementação de 
baixo acoplamento entre determinadas partes de um software;
 Uma interface é semelhante a uma classe, e descreve um aspecto de 
comportamento que várias classes podem possuir;
 Uma interface não possui atributos de instância nem métodos com 
implementação, mas pode possuir atributos de estáticos (finais de classe) 
e cabeçalhos de métodos (métodos abstratos) que deverão ser 
desenvolvidos nas classes que implementarão a interface;
 Para criar uma interface utilizamos a palavra reservada interface. Seus 
métodos não precisam ser declarados public abstratct, já que assim serão 
considerados por estar em uma interface.
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Interfaces
public class Pessoa {
String nome;
String end;
char sexo;
int idade;
public Pessoa ( String nm, String ed, char sx, int id ){
nome = nm;
end = ed;
sexo = sx;
idade = id;
}
Classes em Java
Título da Apresentação
Curso Java Básico
 
 Interfaces
public String AlterarCadastro ( ) {
....
}
public interface Aluno {
boolean CadastrarAluno( int num_matricula, int cod_curso );
void InserirNotas( int num_matricula );
}
class Universitario extends Pessoa implements Aluno {
 public boolean CadastrarAluno( int num_matricula, int cod_curso ) {
 ... 
 }
Classes em Java
Curso Java Básico
 
 Interfaces
 public void InserirNotas( int num_matricula ){
...
}
}
 Para implementar uma interface, usa-se a palavra-chave implements 
seguida do nome da interface, ou interfaces, visto que não há limite para 
quantidade de classes em implementação.
Classes em Java
Exemplo 29
Curso Java Básico
 
 Interfaces – Exercício 6
Crie uma interface Conta e declare nesta os métodos necessários para 
realizar as seguintes operações comuns a um tipo qualquer de conta:
Obter o saldo atual da conta;
Atualizar o saldo atual da conta;
Obter a data da última alteração (não se preocupe com formatação 
dessa informação);
Definir a data da atualização realizada;
Obter nome do proprietário da conta;
Definir o nome do proprietario da conta;
Obter CPF do proprietário da conta;
Definir CPF do proprietário da conta;
Verificar validação do número de algarismos do CPF do proprietário da 
conta (se tem 11 algarismos);
Classes em Java
Curso Java Básico
 
 Interfaces – Exercício 6 (continuação)
Crie ainda duas classes (concretas) para representa uma Conta Corrente 
e uma Conta Poupança, de forma que ambas as classesimplementem a 
interface Conta, criada anteriormente;
Acrescente na classe conta corrente um atributo e dois métodos para 
obtenção e atualização da informação sobre o número de cheques 
emitidos;
Na classe que representa a conta poupança acrescente um atributo e 
dois métodos para obtenção e atualização da taxa de reajuste (valor 
fracionário);
Crie uma classe Banco de forma que sejam possam ser armazenados e 
recuperados os seguintes dados: Nome do Banco, CNPJ e dois arranjos, 
com 100 posições cada, para incluir dados de contas correntes e contas 
poupança dos clientes com conta no banco;
Acrescente um método para listagem de todos os dados do banco.
Classes em Java
Curso Java Básico
 
 Utilize os conceitos de herança, modificadores de acesso e as demais 
classes da API apresentadas para representar o seguinte diagrama de 
classes:
Exercício Completo 1
Curso Java Básico
 
 Adicione à sua solução uma classe de Validação e declare nesta os 
seguintes métodos: 
 a chave de acesso deve conter 14 caracteres;
UF deve corresponder a um dos seguintes valores: BA, SP, MG, GO ou 
RJ;
o campo Situação deve conter um dos seguintes valores: Autorizada, 
Cancelada, Denegada ou Inutilizada;
o código do medicamento deve atender a seguinte expressão regular {001, 
002, 003}01.
Imprima na tela um objeto do tipo NFeMedicamento e outro 
NFeArmamento em formato XML .Veja o exemplo 2 com o uso da 
biblioteca Xstream. Em caso de dúvida, consulte a API.
Exercício Completo 1 - continuação
Título da Apresentação
Conversão e Cast
Curso Java Básico
 
 Conversões entre Tipos Primitivos de Dados
A linguagem Java não suporta atribuições arbitrárias entre variáveis de 
tipos diferentes. 
Existem duas maneiras de fazer conversões de tipos: 
conversão implícita: quando o tamanho de uma variável é maior que o 
tamanho da variável ou o valor que está sendo atribuído.
Exemplo: 
 int y = 10;
 long x = y;
Título da Apresentação
Curso Java Básico
 
 Conversões entre Tipos Primitivos de Dados
conversão explícita: é necessária quando o tamanho de uma variável é 
menor que o tamanho da variável ou o valor que está sendo atribuído. 
Exemplo: 
 long y = 10L;
 int x = (int) y; 
o tamanho de long é maior que o de int, portanto necessita indicar uma 
conversão. 
esta indicativa é feita pelo tipo da variável, que irá receber o valor, 
entre parênteses: (int). Se esta informação não for colocada, ocorreria 
um erro de compilação indicando tipos incompatíveis. 
Outra forma é usar as constantes de identificação de tipos para fazer 
uma conversão explícita, como em: long y = 10L; 
Para um processo de conversão explícito, utilizamos um mecanismo 
chamado de casting. Para sinalizar um casting coloca-se o nome do 
tipo para o qual se quer converter entre parênteses. 
Conversão e Cast
Título da Apresentação
Curso Java Básico
 
Conversão e Cast
 Conversões entre Tipos Primitivos de Dados
A – Conversão automática
C – Utilizar cast explícito
P – Perda de magnitude ou precisão
X – Java não permite conversão
Tipo
Original
Tipo Destino
byte short int long float double char boolean
byte A A A A A C X
short C, P A A A A C X
int C, P C, P A A A C, P X
long C, P C, P C, P C, P C C, P X
float C, P C, P C, P C, P A C, P X
double C, P C, P C, P C, P C, P C, P X
char C, P C C C C C X
boolean X X X X X X X
Curso Java Básico
 
Conversão e Cast
 Conversões entre Objetos
O cast ou a conversão de objetos em java é realizada de duas maneiras, 
de acordo com a conversão de tipos primitivos: implícito e explícito. 
Primeiramente, toda classe filha pode ser associada a uma declaração de 
classe ou interface pai. Esta é a forma implícita, pois não necessita de 
nenhum recurso para ser efetuado, como no exemplo abaixo: 
Exemplo:
...
Pai objeto = new Filho();
...
No exemplo, o objeto da classe Filho é declarado como uma instância da 
classe Pai. 
Título da Apresentação
Curso Java Básico
 
Conversão e Cast
 Conversões entre Objetos
O inverso deste caso ocorre quando tem-se um objeto pai e sabe-se que 
ele é uma instância de determinada classe Filho. 
Esta forma é a explícita, pois é necessário informar ao compilador, qual a 
classe que deseja-se fazer o cast.
Exemplo:
...
Pai objeto = new Filho();
Filho objFilho = (Filho)objeto;
...
No exemplo, o objeto é declarado como sendo instância da classe Pai, 
mas é criado uma instância da classe Filho. 
Na linha seguinte, é associado a uma variável declarada como Filho o 
valor do objeto, que foi declarado como Pai mas é possível saber que ele é 
um Filho. 
Curso Java Básico
 
Conversão e Cast
 Classes Wrappers
Também conhecidas como “classes de embrulhamento”;
Utilizadas, em especial, para conversão de tipo ou empacotamento em si 
de um valor em um objeto;
Pertencentes ao pacote java.lang;
Principais classes wrappers:
Integer;
Double;
Float;
Boolean.
Conversão de String para Inteiro, Double etc e vice-versa;
Exemplo 30
Título da Apresentação
Curso Java Básico
 
Pacotes java.util e java.lang
 Pacote java.lang
O pacote java.lang contém as classes que constituem recursos básicos da 
linguagem, necessários à execução de qualquer programa Java.
Entre as classes desse pacote destacam-se:
Object 
é a classe base do Java, que serve de superclasse para todas as 
classes existentes em Java. 
toda classe é subclasse de Object, e com isso herda alguns métodos 
automaticamente. 
ela possui métodos como wait( ), notify( ) e notifyAll( ), que suportam 
controle de threads, além dos métodos equals(), toString() e 
getClass().
Class e ClassLoader 
representa classes Java e o mecanismo para carregá-las 
dinamicamente (veremos um exemplo de uso quando virmos conexão 
com banco de dados); 
Título da Apresentação
Curso Java Básico
 
Pacotes java.util e java.lang
 Pacote java.lang
Math 
Classe que possui um conjunto de métodos e 2 constantes para suportar 
computação matemática;
A classe é final e não pode ser estendida;
O construtor é private, portanto não pode ser instanciado;
Constantes: Math.PI e Math.E 
Possui método para cálculo de: valor absoluto, arredondamento para 
cima e para baixo, comparação do maior e menor valor, número 
aleatório, arredondamento, seno, coseno, tangente e raiz quadrada.
Boolean, Character, Byte, Short, Integer, Long, Float, Double 
São classes wrappers, e todos tipo primitivo em Java possui uma classe 
wrapper, encapsulando o tipo primitivo e permitindo a manipulação de 
seus valores como se fossem objetos; 
Título da Apresentação
Curso Java Básico
 
Pacotes java.util e java.lang
 Pacote java.lang
System, Runtime e Process 
São classes que permitem interação da aplicação com o ambiente de 
execução; 
Thread, Runnable, ThreadGroup 
São classes que dão suporte à execução de threads, múltiplas 
linhas de execução; 
Throwable, Error e Exception
São classes que permitem a definição e manipulação de situações de 
erros e condições inesperadas de execução, tais como 
OutOfMemoryError, ArithmeticException (por exemplo, divisão inteira por 
zero) e ArrayIndexOutOfBoundsException (acesso a elemento do array 
além da última posição ou antes da primeira posição). 
Título da Apresentação
Curso Java Básico
 
Pacotes java.util e java.lang
 Pacote java.lang
String 
Classe que guarda uma String imutável e possui diversos métodos 
para manipular a String. 
StringBuffer 
Classe que representa uma String que pode ser modificado 
dinamicamente. É ideal para manipular grande quantidades de textos. 
Curso Java Básico
 
Pacotes java.util e java.lang
 Pacote java.util
O pacote java.util contém classes do framework

Outros materiais