Documente Academic
Documente Profesional
Documente Cultură
a Objetos I
Tiago Alves de Oliveira
Java
Java uma linguagem de programao orientada a
objetos desenvolvida pela Sun Microsystems.
http://www.javasoft.com/people/jag/index.html
Linguagem de Programao
JAVA - Histrico
Primeira Tentativa
A primeira inveno desta equipe foi o *7 (StarSeven).
Um controle remoto com interface touchscreen.
O aparelho tinha um mascote que ensinava o usurio a utilizar o
controle.
Este controle foi um antecessor da ideia de interao digital, que
esta presente nos televisores digitais atualmente, infelizmente a
tecnologia da poca no estava preparada para tamanho avano.
Linguagem de Programao
JAVA - Histrico
Caractersticas do *7 (StarSeven):
Sugesto Inicial:
Linguagem de Programao C++
Linguagem de Programao
JAVA - Histrico
Dificuldades:
As linguagens de programao existentes no estavam
sendo satisfatrias, inclusive C++.
Linguagem de Programao
JAVA - Histrico
Quais eram as caractersticas necessrias ento?
Mnimo uso de memria
Baixo custo
Confiabilidade
Compatibilidade
Linguagem de Programao
JAVA - Histrico
Requisitos para a nova linguagem:
Pequena
Eficiente
Facilmente portvel
Desenvolvimento de software para diferentes plataformas.
Confivel
Se o software embutido falhar, o fabricante ter que substituir todo o
aparelho.
Simples
Donas de casa teriam que se adaptar sem transtornos aos novos
aparelhos.
Perspectiva de vida til longa
Toda vez que novos programas fossem desenvolvidos, os mesmos
teriam que ter compatibilidade retroativa.
Linguagem de Programao
JAVA - Histrico
Segunda Tentativa:
James Gosling (Sun), um dos desenvolvedores do controle criou
e nomeou a linguagem de programao de Oak, o nome de uma
rvore para manipular o Star7.
*7 (Star Seven)
Computador experimental porttil, tipo controle remoto, com
interface grfica e interativa.
Nova linguagem de programao: OAK
Linguagem de Programao
JAVA - Histrico
A Sun descobriu que o nome OAK j estava sendo
usado.
Java
http://www.javasoft.com/hooked/language-ref.html
Linguagem de Programao JAVA -
Histrico
JAVA ( Just Another Vague Acronym) ?!
Nova plataforma
Pode-se criar uma grande variedade de aplicaes.
Linguagem de Programao
JAVA - Contras
Contras
Desempenho
Eficincia (cdigo interpretado: bytecode);
Necessidade de uma mquina virtual;
Por ser interpretada, torna-se mais lenta, no podendo ser comparada
velocidade de execuo de cdigo nativo.
Linguagem de Programao
JAVA - Caractersticas
Caractersticas Importantes
Portabilidade;
Familiaridade (Similar ao C, C++);
Distribuio (No caso de applets, os usurios sempre
utilizaro o cdigo mais recente);
Segurana (Toda vez que um applet Java transferido para
o browser do usurio recebe um verificao de seu byte-
code);
Orientada a objetos.
Linguagem de Programao
JAVA Ferramentas para
Desenvolvimento
A Sun, ao lanar a linguagem Java, ps disposio
gratuitamente o pacote JDK - Java Developer's Kit,
que inclui, entre outros:
Javac - o compilador de arquivos .java para bytecodes
.class;
Tomcat
Container Web. Executa JSP e Servlets.
Em Java EE, o container contm os componentes construdos
como Servlets (container para aplicaes Web) ou EJBs
(container para componentes de negcio). Um exemplo de
container para Web o Tomcat.
Nomeclaturas
Java Archive (JAR)
um arquivo compactado usado para distribuir um conjunto
de classes Java, um aplicativo java, ou outros itens como
imagens, XMLs, entre outros.
usado para armazenar classes compiladas e metadados
associados que podem constituir um programa.
IDEs
a ferramenta de software na qual o programador ir
desenvolver sua aplicao.
Na plataforma Java
NetBeans
Eclipse
Comando de Linha
A escolha da IDE deve levar em considerao a afinidade da
equipe.
No existe a melhor IDE
Lista de Exerccio
1. Quais so os componentes do JDK? Explique cada um deles.
2. O que o JRE? Qual sua funcionalidade? Em que pacote ele j contempla sua funcionalidade para o
programador.
3. Qual a diferena do JME, JSE e JEE? Em quais situaes voc aplicaria cada uma das plataformas.
4. O que JNI?
5. Pra que serve o JSP?
6. Qual a contribuio do JSF para o JSP?
7. Explique com suas palavras qual a funo do JDBC.
8. Pra que serve os toolkits AWT, SWT e Swing?
1. Pesquise exemplos de componentes dessas ferramentas.
2. Pesquises as vantagens e desvantagens de cada um.
9. Qual a diferena entre EJB e Servelts?
10. Cite 2 servidores de aplicaes. Pesquise qual o mais popular.
11. Qual a finalidade da plataforma Java FX.
12. O que faz o jar?
13. Pesquise as diferenas ou vantagens das plataformas Netbeans e Eclipse
Programao via IDE Netbeans
Download
Faa o download do Netbeans IDE verso atual
http://netbeans.org/downloads/
Voc pode optar pelo download para criaes de aplicaes J2SE,
J2EE, C/C++, PHP ou Tudo.
Opo 1: Tudo
Opo 2: J2EE
Opo 3: J2SE
O JDK 6 e verses posteriores so necessrios para instalar e
executar o Java SE, o Java EE e todos os pacotes do NetBeans. Voc
pode fazer download da verso mais recente do JDK com o pacote
do NetBeans IDE Java SE.
http://www.oracle.com/technetwork/java/javase/downloads/jdk-7-
netbeans-download-432126.html
Programao via IDE Netbeans
Instalao
A instao do Netbeans uma instao normal, como de
qualquer outro programa. No precisa configurar novas
variveis de ambiente, isso feito automaticamente.
Programao via IDE Netbeans
Janela IDE
Iniciando o Netbeans
Programao via IDE Netbeans
Janela IDE
Abaixo esto as Janelas necessrias para a programao.
As demais podem ser fechadas pelo x, inclusive a Pgina
Inicial.
Programao via IDE Netbeans
Programao via IDE Netbeans
Janela IDE
1. Fechar todas as Janelas, sem excesso.
Programao via IDE Netbeans
Janela IDE
Como abri-ls?
Menu Janela Projetos
Menu Janela Sada
Programao via IDE Netbeans
Janela IDE
Arrastando as Janelas
Clica na barra de ttulos das janelas, segura o clique e arrasta para
onde desejar.
Lista de Exerccios
1. Explique o que tem em cada uma das Janelas mencionadas em aula.
2. Aps fechar uma das janelas, como abri-ls novamente?
3. Pesquise outras IDEs para programao Java e encontre opinies sobre as
mesmas.
Conhecendo um Projeto
Criar um Projeto
Conhecendo um Projeto
Criar um Projeto
Conhecendo um Projeto
Criar um Projeto
Conhecendo um Projeto
Criar Pacotes
Os pacotes servem para organizar os cdigos fontes.
Conhecendo um Projeto
Criar Pacotes
Conhecendo um Projeto
Criar Classes
As classes so usadas para escrever os cdigos fontes.
Conhecendo um Projeto
Criar Classes
Conhecendo um Projeto
Fechar um Projeto
Essa opo somente oculta o projeto da IDE, no apaga
absolutamente nada.
Conhecendo um Projeto
Abrir um Projeto
Menu Arquivo Abrir Projeto
Selecione a pasta que contm o projeto com o smbolo do
caf.
Conhecendo um Projeto
Compilar o Projeto
Este passo permite criar os arquivo .class para que o
programa possa ser executado.
nbproject:
Guarda as configuraes do seu Netbeans.
src:
Contm o cdigo fonte.
Conhecendo um Projeto
Pastas do Projeto aps a compilao/execuo
Pasta build
Arquivos compilados .class
Pasta dist
Contm o arquivo .jar que permite a execuo do projeto.
Estas pastas podem ser removidas manualmente.
Conhecendo um Projeto
Remover um Projeto
Exclui as pastas e arquivos do computador.
Lista de Exerccios
1. Crie 2 Projetos
1. Projeto 1
1. Crie 2 pacotes com 2 classes em cada um
1. Nome do pacote: Aula1
1. Nome da classe: Atividade1
2. Nome da classe: Atividade2
2. Nome do pacote: Aula2
1. Nome da classe: Atividade1
2. Nome da classe: Atividade2
Lista de Exerccios
1. Para que serve a opo de:
1. Construir
2. Limpar e Construir
3. Executar
2. O que definir um projeto como principal? Pra que
serve?
3. Quais pastas podem ser apagadas sem que haja
problemas na execuo do projeto?
4. Que tipo de arquivo contm nas pastas:
1. src
Conhecendo um Projeto
Criar um Projeto
HelloWorld
Criar classe principal
Projeto Principal
Implementao
Cdigo Java:
Entendendo o Cdigo
Pacotes:
Usamos pacotes para organizar as classes semelhantes.
Pacotes, a grosso modo, so apenas pastas ou diretrios do
sistema operacional onde ficam armazenados os arquivos
fonte de Java e so essenciais para o conceito de
encapsulamento, no qual so dados nveis de acesso as
classes.
Entendendo o Cdigo
Classe:
Classe uma estrutura que abstrai um conjunto de objetos
com caractersticas similares.
Uma classe define o comportamento de seus objetos atravs
de mtodos e os estados possveis destes objetos atravs de
atributos.
Entendendo o Cdigo
Modificador Public:
O modificador public deixar visvel a classe ou membro para todas
as outras classes, subclasses e pacotes do projeto Java.
Mtodo main:
mtodo da classe primeiroPrograma. Sem ele no possvel deixar
o programa executvel.
Palavra-Chave static:
No precisa instanciar o objeto na memria.
No precisa de construtor.
Basta usar o mtodo main.
void:
o mtodo no retorna nada.
Entendendo o Cdigo
System.out.println:
Permite escrever uma mensagem (a que est no parmetro)
na sada atual (neste caso a sada corrente na interface da
IDE do Netbeans).
Verificao de Erros
Todo erro de sintaxe cometido pelo programador, fica
destacado com um sublinhado de vermelhor.
Quando existir alguma erro no ser possvel compilar o
programa e nem executar, visto que ao executar o
programa compilado tambm.
As lampadas ou sinais que aparecem ao lado do nmero
das linhas tambm pode auxiliar com os erros
cometidos pelo programador.
Verificao de Erros
Qual foi o erro cometido?
Escrever System com a primeira letra (S) em maiscula e
escrever system com a primeira letra (s) em minscula
diferente para Java.
Ou seja, Java case-sensitive.
Comentrios
Comentrios, como o prprio nome instiga, so notas
que podem ser includas no cdigo fonte para descrever
o que se quiser.
Assim, no modificam o programa executado e servem
somente para ajudar o programador a melhor organizar
os seus cdigos.
Comentrios
Tipos de Comentrios:
//
Comentrios que terminam no final da linha so indicados com //.
Pode ser usados desde o incio da linha ou colocados depois do
cdigo funcional.
Para cdigo
/* */
Comentrios de uma ou mais linhas podem ser iniciados por /* e
terminados por */ .
Para efeitos de cdigo.
/** */
Pode-se utilizar comentrios de vrias linhas em que a primeira linha
se inicia com /** e a ltima termina com */.
Para efeitos de documentao.
Comentrios
Exemplo:
Comentrios
O arquivo gerado para documentao uma pgina Web.
Para gerar este arquivo basta ir no menu Executar Gerar
Javadoc.
O arquivo se encontra dentro da pasta dist do projeto.
Lista de Exerccios
1. Explique o que pacote e classe.
2. Explique o que significa void? O que poderia substituir
void?
3. Altere o programa para escrever outra mensagem
alm da proposta, compile e execute.
4. Explique os trs tipos de comentrio, faa um
exemplo usando JAVA.
System.out
Mtodos
println Escreve a mensagem e muda para uma nova linha.
print Escreve a mensagem e o programa continua na mesma
linha.
System.out
Opes dentro da mensagem:
\n Nova linha
\t Tabulao horizontal
\\ - Barra invertida.
\ Aspas duplas
Lista de Exerccios
1. Comece a se organizar:
1. Crie uma pasta para Linguagem de Programao Java e crie
os projetos dentro dessa classe.
2. Os projetos devero ter nomes sugestivos para que voc
consiga os indentific-los.
2. Escreva um aplicativo que exibe uma matriz 4 x 4 com
valores e com um nico print.
Importaes
Java possui vrios pacotes com outros pacotes internos
e vrias classes j prontas para serem utilizadas.
Dentre os pacotes Java podemos determinar dois
grandes pacotes:
o pacote java, que possui as classes padres para o
funcionamento do algoritmo;
e o pacote javax, que possui pacotes de extenso que
fornecem classes e objetos que implementam ainda mais o
pacote java.
Importaes
Para utilizar as milhares de classes contidas nos
inmeros pacotes de Java devemos ou nos referenciar
diretamente a classe ou import-la.
Importando:
Diretamente:
JOptionPane
A classe JOptionPane oferece diversos mtodos, para
criar diversos tipos de caixas de dilogo.
Por exemplo, se quisermos exibir uma caixa de
mensagem para informar o usurio, usamos o mtodo
showMessageDialog(...):
JOptionPane
H uma outra forma de chamada para o mtodo
showMessageDialog, a qual permite melhorarmos o
visual da caixa de mensagem:
JOptionPane
O terceiro parmetro o ttulo que ser exibido na
janela (ao invs de "Message")
O quarto parmetro controla o cone apresentado
esquerda da janela:
JOptionPane.PLAIN_MESSAGE - nenhum cone
JOptionPane.ERROR_MESSAGE - cone de erro
JOptionPane.INFORMATION_MESSAGE - cone de informao
JOptionPane.WARNING_MESSAGE - cone de aviso
JOptionPane.QUESTION_MESSAGE - cone de interrogao
Lista de Exerccios
1. Faa um programa para testar todos os tipos de
showmessage.
Regras das Variveis
Regras para a escolha de nomes de variveis e
constantes em Java
Cada linguagem de programao tem seu conjunto prprio de
regras e convenes para os tipos de nomes que voc pode
usar, e Java no diferente.
Regras das Variveis
Regras para a escolha de nomes de variveis e
constantes em Java
Existem trs aspectos importantes, em relao a
nomenclatura, que devemos considerar quando estamos
programando Java:
Identificadores vlidos
Conveno de nomenclatura da SUN
Conveno JavaBeans
Identificadores Vlidos
Definem as regras para que o compilador identifique o
nome como vlido.
1. Nomes de variveis so sensitivos a minsculas e
maisculas. Isso quer dizer que "cliente" diferente de
"Cliente".
Identificadores Vlidos
2. O nome de uma varivel pode ser qualquer identificador
legal:
Uma sequencia sem limites de tamanho de letras Unicode e dgitos,
comeando com uma letra, "$" ou o caractere de sublinhado "_"
(underscore).
A conveno, contudo, sempre comear um nome de varivel com
uma letra e no "$" ou "_".
Alm disso, por conveno, os caracteres $ e _ nunca so usados.
Identificadores Vlidos
3. Espaos no so permitidos em nomes de variveis.
4. Aps o primeiro caracter, podem ter qualquer combinao de
letras, caracteres e nmeros.
5. No possuem limite de tamanho.
6. No podem ser palavras reservadas.
Identificadores Vlidos
Identifique se vlido ou no as variveis abaixo.
1. $cliente
2. 8cliente
3. -idade
4. %valor
5. $$_turma
6. _quantidade
7. cliente5
8. System
9. #salario
10. Quantidade_de_estoque_do produto
11. Quantidade_de_estoque_do_produto
12. Quantidade de clientes
13. .nome
14. $float
15. for_
16. extends
Conveno de Nomenclatura da SUN
So recomendaes da SUN para nomenclatura de
classes, mtodos e variveis.
Seu programa ir funcionar mesmo que voc no siga
estas convenes.
1. Classes e interfaces: A primeira letra deve ser maiscula e,
caso o nome seja formado por mais de uma palavra, as
demais palavras devem ter sua primeira letra maiscula
tambm (PrimeiroCaso);
Conveno de nomenclatura da SUN
2. Mtodos: A primeira letra deve ser minscula e aps
devemos aplicar o primeiroCaso;
3. Variveis: Da mesma forma que os mtodos:
Quando escolher nomes para suas variveis, use nomes completos
em vez de abreviaes confusas. Isso tornar seu cdigo mais
legvel. Nomes tais como "cliente", "nota", "quantidade", etc, so
bem mais fceis de entender e lembrar que "cl", "n", "qt", etc.
Se o nome de varivel que voc escolher consistir de apenas uma
palavra, escreva-a toda em letras minsculas. Ex.: cliente.
Conveno de nomenclatura da SUN
4. Constantes: Todas as letras do nome devem ser maisculas
e caso seja formada por mais de uma palavra separada por
underscore.
Se o nome for de uma constante, ele deve ser escrito todo em letras
maisculas. Ex.: MODELO = 102.
Se o nome da constante possuir mais de uma palavra, separe-as com
o caractere "_". Ex.: NIVEL_BOLETO = 2.
Conveno de nomenclatura da SUN
5. Tenha tambm em mente que palavras-chaves e
palavras reservadas da linguagem no podem ser
usadas como nomes de variveis.
Atividades
Escreva como devem ser as palavras de acordo com a
sua finalidade.
1. Variavel = Cliente do Banco
2. Classe = Formas Geometricas
3. Mtodo = Cadastrar o Cliente
4. Interface = Controle Remoto
5. Constante = Nmero Pi
Palavras Chaves em Java
Palavras-chave, tambm conhecidas como palavras
reservadas da linguagem, so palavras que no podem
ser usadas como identificadores, ou seja, no podem
ser usadas para representar variveis, classes ou nomes
de mtodos.
Palavras Chaves em Java
Abaixo listo todas as palavras-chave para a
verso atual do Java, junto com o propsito de
cada uma:
abstract - um mtodo marcado como abstract informa que o mesmo no possui
uma implementao ainda, mas que uma classe que o estiver herdando precisar
implement-lo.
assert - utilizado para fazer debug de lgica em tempo de execuo.
boolean - para variveis de valor lgico: true e false.
break - normalmente utilizado para interromper execues de estruturas de
repetio.
byte - para variveis numricas de preciso -128 at 127.
case - indica uma opo entre vrias em blocos catch.
catch - utilizado juntamente com try, seu bloco executado somente em caso de
o programa lanar uma exceo do tipo indicado no seu parmetro.
Palavras Chaves em Java
char - para variveis de caracteres, onde a sua representao interna equivale a um tipo
numrico.
class - para definir o incio de um arquivo Java, todas as classes possuem pelo menos essa
palavra-chave.
const - essa palavra no tem uso especfico em Java mas mesmo assim uma palavra-chave.
continue - para pular a iterao atual de uma estrutura de repetio.
default - normalmente utilizado para o final de uma ou mais opes cases de um bloco
catch.
do - estrutura de repetio que garante que o bloco ser executado pelo menos uma vez
durante a execuo do programa.
double - para variveis numricas e de pontos flutuantes com preciso de 64 bits.
else - complemento de estrutura de condio.
enum - palavra-chave adicionada na verso 5 do Java, um tipo especifico de dados, que
assemelha-se com uma classe, que tem operaes e dados internos.
extends - utilizado para aplicar o conceito de herana para uma classe, onde uma classe
receber os mtodos e variveis de instncia da classe chamada de pai.
Palavras Chaves em Java
final - marca uma varivel, classe ou mtodo para que no seja possvel modificar o seu
valor ou comportamento no decorrer da execuo do programa.
finally - compe o incio de um bloco que sempre executado para um bloco de
tratamento de erros, mais utilizado para limpar recursos que foram abertos no bloco de
tratamento.
float - variveis numricas e de pontos flutuantes com preciso de 32 bits.
for - estrutura de repetio que declara, testa e incrementa varivel para uso local.
goto - no tem uso especfico na linguagem.
if - estrutura de condio mais comum da linguagem.
implements - informa que uma determinada classe ir implementar uma determinada
interface.
import - para relacionar classes externas atual, permitindo o uso de nomes mais
curtos para recursos da classe externa.
instaceof - serve para fazer o teste "-UM" com duas referncias.
int - para variveis numricas de preciso -2.147.483.648 at 2.147.483.647.
interface - informa que o modelo no uma classe, mas sim um prottipo de classe
sem implementao para os mtodos, obrigando as classes que a implementaro siga
as regras de retorno, assinatura de mtodos, etc...
Palavras Chaves em Java
long - para variveis numricas de preciso de 64 bits.
native - mtodos marcados como native dizem que sua implementao feita em uma
outra linguagem (por exemplo C), para que se possa acessar recursos especficos do
sistema operacional.
new - utilizada para se criar novas instncias de objetos.
package - informa em que estrutura de diretrios a classe est localizada.
private - marca a visibilidade de um mtodo ou varivel de instncia para que apenas a
prpria classe acesse.
protected - marca a visibilidade de um mtodo ou varivel de instncia para que a
prpria classe ou suas filhas acessem.
public - marca a visibilidade de uma classe, mtodo ou varivel de instncia para que
todas as classes em todos os pacotes tenham acesso.
return - devolve para o mtodo chamador um valor que do mesmo tipo declarado na
assinatura do mtodo.
short - para variveis numricas de preciso de -32.768 at 32.767.
static - marca um mtodo ou varivel para que se tenha apenas uma cpia da memria
desse membro.
Palavras Chaves em Java
strictfp - serve para aumentar a preciso em operaes com pontos flutuantes.
super - chama membros da classe pai.
switch - representa blocos de decises de fluxos semelhantes ao if, mas com mais
organizao em determinadas situaes.
synchronized - um mtodo com essa marcao ser controlado para que no se possa
ter duas threads acessando o mesmo objeto.
this - representa a instncia que est atualmente sendo executada.
throw - utilizado para lanar uma exceo.
throws - utilizado para se declarar que um mtodo pode lanar uma exceo.
transient - indica que uma determinada varivel de instncia no ser serializada junto
com o objeto da classe.
try - para executar mtodos que tm chances de lanar excees, mas que sero
tratados em blocos catchs que o seguiro.
void - representa um retorno vazio, ou seja, nenhum retorno para esse mtodo.
Palavras Chaves em Java
volatile - indica que uma determinada varivel de instncia
pode ser modificada em duas threads distintas ao mesmo
tempo.
while - bloco de repetio que ser executado enquanto seu
parmetro estiver retornando verdadeiro (true).
Palavras Chaves em Java
Para facilitar mais ainda seguem mais algumas dicas:
Uma palavra-chave no possui nem nunca escrita com letras
maisculas.
As palavras "true" e "false" NO so palavras-chave.
Atividades
1. Identifique as palavras chaves usadas para criao de
variveis.
2. Identifique as palavras chaves usadas nas estruturas
de condio e de repetio.
Tipos de Dados
Observe a tabela a seguir, sobre os tipos de dados.
Esses tipos so conhecidos como Tipos de Dados
Primitivos.
Tipos de Dados Primitivos
Tipo Descrio
boolean Pode ser contido em 1 bit, porm o seu tamanho no
precisamente definido.
Assume os valores true ou false.
char Caractere em notao Unicode de 16 bits.
Serve para armazenar dados alfanumricos.
Pode ser usado como um dado inteiro com valores na faixa entre 0 e
65535.
byte Inteiro de 8 bits em notao de complemento de dois.
Pode assumir valores entre -27= -128 e 27 - 1= +127.
short Inteiro de 16 bits em notao de complemento de dois.
Os valores possveis cobrem a faixa de -215 = -32.768 a 215 1 =
32.767
int Inteiro de 32 bits em notao de complemento de dois.
Pode assumir valores entre -231 = 2.147.483.648 e 231 -1 =
2.147.483.647.
Tipos de Dados Primitivos
long Inteiro de 64 bits em notao de complemento de dois.
Pode assumir valores entre -263 e 263 - 1.
float Representa nmeros em notao de ponto flutuante normalizada
em preciso simples de 32 bits em conformidade com a norma IEEE
754 - 1985.
O menor valor positivo representvel por esse tipo 1.40239846e-
46 e o maior 3.40282347e+38. 4 bytes de tamanho e 23 dgitos
binrios de preciso.
double Representa nmeros em notao de ponto flutuante normalizada
em preciso dupla de 64 bits em conformidade com a norma IEEE 754
- 1985.
O menor valor positivo representvel 4.94065645841246544e-324
e o maior 1.7976931348623157e + 308. 8 bytes de tamanho e 52
dgitos binrios de preciso.
Tipos de Dados Primitivos e
Converses
As converses em Java ocorrem da seguinte maneira,
sem perda de informao:
Um byte pode ser convertido em um short, int, long, float ou
double.
Um short pode ser convertido em um int, long, float ou
double.
Um char pode ser convertido em um int, long, float ou
double.
Um int pode ser convertido em um long, float ou double.
Um long pode ser convertido em um float ou double.
Um float pode ser convertido em um double.
Tipos de Dados Primitivos e
Converses
+ variveis Somar
a) x = x + 1;
a = b * x;
d) b = b - 1;
x = a / b * c - d;
c = c + 1;
Operadores Lgicos e Relacionais
Os operadores relacionais e lgicos so utilizados em
testes
Grupo e condies
Operador de entrada em um
Operando fluxo do
Descrio
programa.
&& variveis E: Avalia a primeira condio, se
for falsa no avalia a prxima pois
Operadores o resultado ser sempre falso.
Lgicos
& variaveis E: Avalia as duas condies
|| variveis Ou: Avalia a primeira condio, se
for true no avalia a prxima pois
o resultado ser sempre true.
== variveis Igual
e) verificacao = 10 == 10 || 10 == 20;
f) verificacao = 11 == 12 || 20 == 20;
g) verificacao = 15 == 15 || 16 == 16;
h) verificacao = 12 == 11 || 23 == 24;
Pr-Requisitos
Crie um pacote denominado classestring no projeto
Linguagem de Programao.
Crie uma classe dentro desse pacote denominado
ClasseString.
Caracterstica de uma String
Strings so utilizadas frequentemente em vrias linguagens de
programao, no apenas Java. Embora Strings sejam uma
sequncia de caracteres em Java.
Existem muitos mtodos que podemos utilizar em um objeto
instanciado da classe String.
Mtodo para Concatenao
Concatenao nada mais do que juntar strings numa
s. Isto pode ser feito de duas formas:
uma usando o mtodo concat() da classe String ou
usando o sinal de adio (+) como operador de concatenao.
Implementao
Programa:
Sada:
Mtodo que Verifica o Tamanho da
String
A classe String possui um mtodo acessor que retorna o
tamanho da String.
Esse mtodo denominado length().
Implementao
Adicione ao programa anterior as seguintes linhas de
cdigo abaixo:
Sada:
Mtodo para Pegar o Caracter na
Posio x
Podemos tambm obter um caracter que se encontra
em alguma posio dentro da string.
Para isso, usaremos o mtodo charAt().
Obs.: Inicia em 0, o primeiro caracter.
Implementao
Adicione ao programa anterior as seguintes linhas de
cdigo abaixo:
Sada:
Mtodo para Verificar Contedo da
String
Um mtodo muito til para verificar o contedo de uma
string o contains().
Contains() retorna verdadeiro (true) se houver a
sequncia de caracteres especificada no parmetro.
Implementao
Adicione ao programa anterior as seguintes linhas de
cdigo abaixo:
Sada:
Mtodo que altera um Inteiro para
String
O Mtodo ValueOf() converte um valor nmero para
String.
Adicione ao programa anterior as seguintes linhas de
cdigo abaixo:
Sada:
Extra: Converso de String para
Outros Tipos Primitivos
Para converter um tipo primitivo para String, segue o
cdigo abaixo.
Lista de Exerccios
1. Dada as strings:
s1 = Programao,
s2 = JAVA e
s3 = java,
Faa um programa que retorne as seguintes respostas na tela:
1. A concatenao da string s1 com s2;
2. Os tamanhos das strings s1 e s2;
3. Retorne o primeiro caracter da string s1 e s2, e os concatene.
4. Verifique se existe o caracter @ na string s1 usando o mtodo
contains().
5. Faa com que uma varivel inteira receba o valor 13 e a atribua a
string s2.
Introduo
A classe Math nos proporciona uma srie de operaes
e constantes matemticas que so facilmente acessadas
estaticamente, ou seja, no precisamos instanciar um
objeto para podermos usar seus mtodos.
Mtodos
Dentro desta classe encontramos vrios mtodos e
categorizamos os mais utilizados da seguinte forma:
Mximo e Mnimo;
Potncias e Razes;
Arredondamentos e Valores Absolutos;
Nmeros Randmicos;
Etc.
Projeto
Crie um novo pacote com o nome de classmath dentro
do projeto Linguagem de Programao.
Crie uma classe denominada ClassMath
Deixe como principal
E deixe que crie a classe principal.
Mximo e Mnimo
Como o ttulo j sugere, a classe Math de Java possui
dois mtodos que retornam o maior e o menor valor de
seus argumentos.
Esses mtodos so max() e min().
Implementao
Programa
Sada
Potncias e Razes
Podemos fazer clculos de potncia e razes com
facilidade usando os mtodos disponveis em Math.
pow (base, expoente) - calcula a potncia da base elevada ao
expoente.
sqrt (nmero) - calcula a raz quadrada de um nmero
cbrt (nmero) - calcula a raiz cbica de um nmero
exp (expoente) - calcula o valor da constante de Euler (E)
elevado ao expoente
Implementao
Programa
Sada
Arredondamentos e Valores
Absolutos
Existem algumas formas de arredondar um nmero
fracionado (float e double) transformando-o em um nmero
inteiro e tambm como obter o valor absoluto de qualquer
nmero..
abs (nmero) - retorna o valor absoluto do mesmo tipo do
parmetro (ex.: retorna int positivo, float positivo, etc.)
ceil (decimal) - este mtodo retorna o valor decimal mais alto do
parmetro. Ex.: 2.1 ser 3...
floor (decimal) - este mtodo retorna o valor decimal mais baixo do
parmetro. Ex.: 2.9 ser 2...
rint (decimal) - retorna um valor double mais prximo do valor do
parmetro. . Ex.: 2.4 ser 2 e 2.9 ser 3.
round (decimal) - retorna o arredondamento aritmtico do nmero
decimal passado como parmetro
Implementao
Programa
Sada
Lista de Exerccios
Faa um programa que d as seguintes respostas para as
equaes abaixo:
x = a 2 + b2
xPositivo = (-b + D)/(2*a).
Encontre o valor absoluto, o valor decimal mais baixo, mais alto,
mais prximo e o arredondamento aritmtico dos nmeros abaixo:
5.15
10.5
-32.51
-0,1
-0,9
3.9
3.1
Introduo
Com as classes Scanner e JOptionPane, possvel fazer a
leitura de variveis.
Ou seja,
Se voc quiser entrar com o valor da varivel por meio do
teclado, possvel utilizando os recurso da classe Scanner e
JOptionPane.
Pr-Requisitos
Crie um novo pacote com o nome de leitoresvariaveis dentro
do projeto Linguagem de Programao.
Crie uma classe dentro desse pacote com o nome de
LeitorScanner
Adicione o mtodo main na classe.
Aps o mtodo main crie a seguinte varivel:
Scanner leitura = new Scanner(System.in);
Scanner o tipo.
Leitura a varivel.
new: para instanciar a classe.
Scanner: o mtodo construtor da classe Scanner.
(System.in): o parmetro de entrada de dados.
Adicione, aps o comando do package
import java.util.Scanner;
Pr-Requisitos
Crie uma nova classe dentro desse pacote com o nome
de LeitorJOptionPane
Adicione o mtodo main na classe.
Adicione, aps o comando do package:
import javax.swing.JOptionPane;
Variveis
Os cdigos a seguir servem para ler cada tipo de varivel
existente. Vamos ler variveis do tipo:
boolean;
char;
String;
byte;
short;
int;
long;
float;
Double.
Implementao Usando a Classe
Scanner
Na classe LeitorScanner, aps a declarao da varivel
leitura, adicione os seguintes cdigos:
Implementao Usando a Classe
Scanner
Lendo variveis do tipo: boolean
Onde,
boolean o tipo da varivel;
bool a varivel;
System.out.print(): Mensagem;
bool = leitura.nextBoolean(): faz com o que a varivel declarada receba a
leitura do teclado (leitura) para valores booleanos atravs do mtodo
nextBoolean();
System.out.print( + bool): Mensagem + o valor lido do teclado (bool).
Implementao Usando a Classe
Scanner
Lendo variveis do tipo: char e String
Implementao Usando a Classe
Scanner
Lendo variveis do tipo: byte, short e int
Implementao Usando a Classe
Scanner
Lendo variveis do tipo: long, float e double
Lista de Exerccios
1. Escreva um programa em que leia o peso e a altura de
uma pessoa e calcule o seu IMC;
Dado: IMC = Peso/(Altura)2
Implementao Usando a Classe
JOptionPane
Na classe LeitorJOptionPane, aps o mtodo main,
adicione os seguintes cdigos:
Implementao Usando a Classe
JOptionPane
Lendo variveis do tipo: char
Onde,
JOptionPane.showInputDialog(Parmetros): o mtodo para entrar
com valor, digitar.
ch1 = ch11.charAt(0): ch1 recebe o primeiro caracterer da String
ch11.
Implementao Usando a Classe
JOptionPane
Lendo variveis do tipo: char
Janela no personalizada:
Implementao Usando a Classe
JOptionPane
Lendo variveis do tipo: String
Com janelas personalizadas
Sem janelas personalizadas
Implementao Usando a Classe
JOptionPane
Lendo variveis do tipo: byte
Com janelas personalizadas
Sem janelas personalizadas
Implementao Usando a Classe
JOptionPane
Lendo variveis do tipo: short
Com janelas personalizadas
Sem janelas personalizadas
Implementao Usando a Classe
JOptionPane
Lendo variveis do tipo: int
Com janelas personalizadas
Sem janelas personalizadas
Implementao Usando a Classe
JOptionPane
Lendo variveis do tipo: long
Com janelas personalizadas
Sem janelas personalizadas
Implementao Usando a Classe
JOptionPane
Lendo variveis do tipo: float
Com janelas personalizadas
Sem janelas personalizadas
Implementao Usando a Classe
JOptionPane
Lendo variveis do tipo: double
Com janelas personalizadas
Sem janelas personalizadas
Mtodos
A funo showInputDialog retorna uma String.
Por isso preciso converter cada String para um valor
nmerico, atravs dos mtodos parseByte, parseShort,
parseInt, parseLong, parsefFloat e parseDouble.
byt1 = Byte.parseByte(String)
shor1 = Short.parseShort(String)
i1 = Integer.parseInt(String)
lon1 = Long.parseLong(String)
floa1 = Float.parseFloat(String)
doub1 = Double.parseDouble(String)
Lista de Exerccios
Faa um programa em que o usurio possa digitar os
lados das figuras, e como resposta obtenha a rea da
mesma
Quadrado: d2
Retngulo: b*h
Tringulo: (b*h)/2
Crculo: 2*(PI)*r
Losangolo: (d1*d2)/2
Operadores de Incremento e
Decremento
Crie um pacote dentro do projeto Linguagem de Programao
denominado Operadores.
Retire a opo criar classe principal.
Operadores de Incremento e
Decremento
Crie uma classe dentro do pacote operadores do
projeto denominada
OperadoresIncrementoDecremento.
Dentro do mtodo main, vamos adicionar os
seguintes cdigos:
Operadores de Incremento e
Decremento
Crie uma classe dentro do pacote operadores do projeto denominada
OperadoresAbreviados.
Copie o mtodo main, como anteriormente para dentro do cdigo fonte.
Dentro do mtodo main, vamos adicionar os seguintes cdigos:
Operadores de Incremento e
Decremento
Dadas as equaes simplificadas abaixo; encontre todas as equaes
em cada uma delas e coloque-as em ordem:
a) a = b++ * c;
b) c = x - --y / b;
c) x = a++ * y--;
d) b = ++c / --a;
Operadores de Incremento e
Decremento
Para cada conjunto de equaes apresentadas a seguir, indique a
expresso simplificada:
a) x = x + 1;
a = b * x;
b) b = b - 1;
x = a / b * c - d;
c = c + 1;
Operadores de Incremento e
Decremento
Crie uma classe dentro do pacote padro do projeto denominada
OperadoresLogicosRelacionais.
Copie o mtodo main para dentro do cdigo fonte.
Dentro do mtodo main, vamos adicionar os seguintes cdigos:
Operadores de Incremento e
Decremento
Adicione ao cdigo do mtodo main, os seguintes
cdigos:
Strings
Crie um pacote denominado classestring no projeto
Linguagem de Programao.
Crie uma classe dentro desse pacote denominado
ClasseString.
Programa:
Strings
Adicione ao programa anterior as seguintes linhas de cdigo
abaixo:
String
Adicione ao programa anterior as seguintes linhas de
cdigo abaixo:
Strings
Adicione ao programa anterior as seguintes linhas de
cdigo abaixo:
Strings
Adicione ao programa anterior as seguintes linhas de
cdigo abaixo:
Strings
Crie uma nova classe no pacote classestring chamada
conversaoString e digite o cdigo abaixo:
Lista de Exerccios
1. Dada as strings:
s1 = Programao,
s2 = JAVA e
s3 = java,
Faa um programa que retorne as seguintes respostas na tela:
1. A concatenao da string s1 com s2;
2. Os tamanhos das strings s1 e s2;
3. Retorne o primeiro caracter da string s1 e s2, e os concatene.
4. Verifique se existe o caracter @ na string s1 usando o mtodo
contains().
5. Faa com que uma varivel inteira receba o valor 13 e a
atribua a string s2.
Biblioteca Math
Crie um novo pacote com o nome de classmath dentro
do projeto Linguagem de Programao.
Crie uma classe denominada ClassMath
Deixe como principal
Biblioteca Math
Digite o cdigo abaixo:
Biblioteca Math
Digite o cdigo abaixo
Biblioteca Math
Digite o cdigo abaixo:
Lista de Exerccios
Faa um programa que d as seguintes respostas para as equaes
abaixo:
x = a2 + b 2
xPositivo = (-b + D)/(2*a).
Encontre o valor absoluto, o valor decimal mais baixo, mais alto,
mais prximo e o arredondamento aritmtico dos nmeros
abaixo:
5.15
10.5
-32.51
-0,1
-0,9
3.9
3.1
Leitura de Variveis
Crie um novo pacote com o nome de leitoresvariaveis dentro
do projeto Linguagem de Programao.
Crie uma classe dentro desse pacote com o nome de
LeitorScanner
Adicione o mtodo main na classe.
Aps o mtodo main crie a seguinte varivel:
Scanner leitura = new Scanner(System.in);
Scanner o tipo.
Leitura a varivel.
new: para instanciar a classe.
Scanner: o mtodo construtor da classe Scanner.
(System.in): o parmetro de entrada de dados.
Adicione, aps o comando do package
import java.util.Scanner;
Leitura de Variveis
Crie uma nova classe dentro desse pacote com o nome
de LeitorJOptionPane
Adicione o mtodo main na classe.
Adicione, aps o comando do package:
import javax.swing.JOptionPane;
Na classe LeitorScanner, aps a declarao da varivel
leitura, adicione os seguintes cdigos:
Lendo variveis do tipo: boolean
Leitura de Variveis
Lendo variveis do tipo: char e String
Leitura de Variveis
Lendo variveis do tipo: byte, short e int
Lendo variveis do tipo: long, float e double
Lista de Exerccio
1. Escreva um programa em que leia o peso e a altura de uma
pessoa e calcule o seu IMC;
Dado: IMC = Peso/(Altura)2
Exemplos de matrizes:
Planilhas do Excel
Banco de Dados
Declarao de Matrizes
Para criarmos uma matriz, procedemos da mesma
forma que um vetor normal, porm com mais um
dimensionador (os colchetes).
Por exemplo:
int matriz[][] = {{1, 2, 7}, {3, 4, 7}, {8, 9, 7}};
Inicializao Direta de Matriz
Exemplo:
Atribuindo Valores a Matriz
Para atribuir um valor a Matriz como no Vetor,
entretanto dever ser indicado a linha e a coluna para
insero.
Imprimindo a matriz
Para a impresso de uma matriz sempre importante
mostr-la no seu formato de matriz.
Trabalho
Resolva a multiplicao de uma matriz.
Resoluo:
1. Declarar as linhas, colunas e as matrizes A, B e R.
2. Ler os tamanhos das matrizes.
3. Verificar se possivel fazer a multiplicao.
Trabalho
1. Caso sim:
1. Ler os valores das matrizes.
2. Imprim-las.
3. Calcular a Matriz R
Trabalho
1. Faa um programa em que:
1. O usurio entrar com o nmero de linhas e colunas da
matriz A.
2. O usurio entrar com o nmero de linhas e colunas da
matriz B.
3. Calcular se possvel soma, subtrair e multiplicar as matrizes.
1. Soma/subtrao: somente se os tamanhos das matrizes A e B forem
iguais.
2. Multiplicar: matriz A somente pode ser multiplicada pela matriz B, se
o nmero de colunas de A for igual ao nmero de linhas da matriz B.
4. Se for possvel a soma, a subtrao e a multiplicao, mostrar
o nmero de linhas e colunas da matriz
Trabalho
1. Faa um menu para que o usurio opte por
(1) Somar
(2) Subtrair
(3) Multiplicar
(0) - Sair
2. Prossiga com o programa, adicionando valores as matrizes A e
B e calculando:
A soma das matrizes A e B, colocando o resultado na matrizSom.
A subtrao das matrizes A e B, colocando o resultado na matrizSub.
A multiplicao das matrizes A e B, colocando o resultado na matrizMul.
Obs: o tamanho das matrizes Sub, Som e Mul ser automaticamente
programvel. Uma vez que o programa sabe qual o nmero de linhas da
matriz A e B e qual o nmero de colunas da matriz A e B,
automaticamente se saber qual o tamanho da matriz resultante nos
passos anteriores isso j foi feito.
Lista de Exerccios
Complemente o programa com as opces:
(4) transposta do Resultado,
(5) Oposta do ResultadoExemplo:
Calcule essas opes para a matriz A e a matriz B.
Segue a explicao:
Dada a matriz:
3 4 5 -3
1 2 4 -8
-6 -3 -1 8
Transposta:
3 1 -6
4 2 -3
5 4 -1
-3 -8 8
Oposta:
-3 -4 -5 3
-1 -2 -4 8
6 3 1 -8