Sei sulla pagina 1di 271

Programao Orientada

a Objetos I
Tiago Alves de Oliveira
Java
Java uma linguagem de programao orientada a
objetos desenvolvida pela Sun Microsystems.

Modelada depois de C++, a linguagem Java foi


projetada para ser pequena, simples e portvel a
todas as plataformas e sistemas operacionais, tanto o
cdigo fonte como os binrios.
Java multiplataforma. Isto quer dizer que no
necessrio usar um tipo especifico de computador, no
importa se voc usa Windows, Mac, ou Unix.
Linguagem de Programao
JAVA - Conceito
Na Internet encontramos pequenas aplicaes em
Java(Applets), que so carregadas e executadas no
browser do usurio.

Esta caracterstica causa muita expectativa em relao


ao Java, pois espera-se que no futuro no
precisaremos mais instalar aplicativos no computador.
Basta estar conectado Internet e acessar o
programa desejado.
Linguagem de Programao
JAVA - Histrico
Em 1991, na Sun Microsystems, em Mountain View -
Califrnia, foi iniciado o Green Project, o bero do
Java, uma linguagem de programao orientada a
objetos.
O objetivo do projeto no era a criao de uma nova
linguagem de programao, mas antecipar e planejar.
Os idealizadores do projeto acreditavam que em pouco
tempo os aparelhos domsticos e os computadores teriam
uma ligao.

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.

Linguagem denominada de OAK (precursora de Java)

OAK significa CARVALHO em ingls


Linguagem de Programao
JAVA - Histrico
Segunda Tentativa
Projeto GREEN
Propsito de testar um novo tipo de interface do usurio para
controlar um ambiente domstico (casa inteligente).
Videocassete, TV, luzes, telefone, etc.

*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.

Decidem chamar esta nova linguagem de

Java
http://www.javasoft.com/hooked/language-ref.html
Linguagem de Programao JAVA -
Histrico
JAVA ( Just Another Vague Acronym) ?!

NO. Inspirao na hora do cafezinho:

Caf da Ilha de Java


Linguagem de Programao
JAVA - Histrico
Java o nome de uma ilha do Pacfico, onde se produz
uma certa variedade de caf homnimo.

A inspirao bateu equipe de desenvolvimento ao


saborear esse caf em uma lanchonete local.
Linguagem de Programao
JAVA - Histrico
1994: Criao do HotJava
Navegador da Web que podia executar applets Java.
Feito totalmente em Java.

Java mostrou-se ideal para ser usada na Internet.


Linguagem de Programao
JAVA - Histrico
1995: Netscape Navigator 2.0 suporta Java, ou ento
chamada applets.
1996: Lanamento oficial de Java 1.02
Download gratuito pela Internet (http://www.javasoft.com)
Sun decide disponibilizar um conjunto de ferramentas de
desenvolvimento Java (JDK) gratuitamente para a
comunidade de software.
1997: Java toma conta da Internet
Netscape, Internet Explorer, HotJava, ...
Em 2002, desenvolvedores do mundo todo preferiro
a linguagem Java C/C++ e Visual Basic.
Linguagem de Programao
JAVA - Aplicaes
Servios financeiros
Home Banking, comrcio seguro...
Marketing e propaganda
Loja interativa, animaes, multimdia...
Diverso e entretenimento
Jogos multi-usurio, chat...
Educao
Ensino distncia, simulaes interativas...
Outros
Astronomia (telescpios orbitais).
Telefonia.
Aparelhos eletroeletrnicos.
Linguagem de Programao
JAVA - Prs
Prs
Escreva uma vez, execute em qualquer lugar.
Escrever somente para a plataforma JAVA
Suporte nos browsers da Web, TVs, PDAs e celulares.
Segurana
No consegue ler ou gravar arquivos a partir do disco rgido, etc.
A inexistncia de ponteiros evita o acesso direto a memria
Programao centrada em rede
Linguagem de Programao
JAVA - Prs
Prs
Programas dinmicos e extensveis
Cdigo Java organizado em unidades modulares orientadas por
objeto chamadas classes.
Cada classe armazenada em um arquivo separado e somente
descarregadas para o interpretador Java quando necessrias.
O cdigo torna-se uma coleo interativa de componentes
independentes de software.
Internacionalizao
Linguagem de programao que suporta Unicode.
Eficincia do programador e tempo de comercializao
Conjunto de APIs (Application Programming Interface) poderoso e
bem projetado.
Linguagem de Programao
JAVA - Prs
Prs
Torna as pginas da Web mais interessantes
Som, vdeo, animaes, relgios, contadores

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;

Java - a JVM especfica para a plataforma;

API bibliotecas de funes;

Appletviewer - visualizador de applets, sem a necessidade


de execuo das mesmas num browser
Linguagem de Programao
JAVA Ferramentas para
Desenvolvimento
Applets so pequenos aplicativos escritos em Java
que utilizam-se da JVM (Java Virtual Machine) do
browser existente na mquina cliente para interpretar
seu bytecode.
Linguagem de Programao
JAVA Ferramentas para
Desenvolvimento
Mquina Virtual Java (do ingls Java Virtual Machine -
JVM) um programa que carrega e executa os
aplicativos Java, convertendo os bytecodes em cdigo
executvel de mquina.
Graas mquina virtual Java, os programas escritos em
Java podem funcionar em qualquer plataforma de
hardware e software que possua uma verso da JVM,
tornando assim essas aplicaes independentes da
plataforma onde funcionam.
Linguagem de Programao
JAVA Ferramentas para
Desenvolvimento
Application Programming Interface ou simplesmente
API um conjunto de rotinas e padres estabelecidos
por um software para utilizao de suas
funcionalidades.

De modo geral, a API composta por uma srie de


funes acessveis somente por programao, e que
permitem utilizar caractersticas do software menos
evidentes ao usurio tradicional.
Java
A portabilidade obtida pelo fato da linguagem ser
interpretada, ou seja, o compilador gera um cdigo
independente de mquina chamado byte-code.

No momento da execuo, este byte-code interpretado


por uma mquina virtual instalado na mquina.

Para portar Java para uma arquitetura hadware/SO


especfica, basta instalar a mquina virtual
(interpretador).
O Bytecode um tipo de linguagem interpretada, que
passa pelo processo de compilao e, em seguida,
executada por uma mquina virtual, cuja sintaxe similar
a cdigo de mquina.
Tipo de Arquivos JAVA
TIOBE Index for February 2016
Lista de Exerccios
1. Explique como um aplicativo feito em Java pode
funcionar em qualquer outra arquitetura de Sistema
Operacional.
2. O que e quando se deve usar?
1. Applet
2. Appletviewer
Lista de Exerccios
1. Por que foi criado a linguagem de programao
Java?
2. Pesquise na internet quem foram os criadores da
linguagem de programao Java.
3. O que JDK? Quais componentes que o integram?
4. Conceitue Mquina Virtual Java.
5. Cite 5 vantagens e 1 desvantagem de se utilizar o
Java.
6. Explique como funciona a compilao e a execuo
de um programa desenvolvido em Java.
Nomeclaturas
JDK - Java Development Kit
O JDK um kit de desenvolvimento Java fornecido livremente
pela Sun.
Constitui um conjunto de programas que engloba compilador,
interpretador e utilitrios, fornecendo um pacote de
ferramentas bsicas para o desenvolvimento de aplicaes
Java.
Componentes disponveis no JDK (Java Development Kit) :
javac ( compilador )
java ( interpretador )
appletviewer ( visualizador de applets )
javadoc ( gerador de documentao )
jar ( programa de compactao )
Nomeclaturas
JRE - Java Runtime Enviroment
O software Java JRE tambm conhecido como Java Runtime
Environment, tambm chamado de Java Runtime, Runtime
Environment, Runtime, JRE, Java Virtual Machine, Virtual
Machine, Java VM, JVM, VM ou download do Java.
Java Runtime Environment (JRE) significa Ambiente de Tempo
de Execuo Java, e utilizado para executar as aplicaes da
plataforma Java.
composto por bibliotecas (APIs) e pela Mquina virtual Java
(JVM).
Nomeclaturas
JEE - Java Enterprise Edition
Java EE (ou J2EE, Java 2 Enterprise Edition, ou em portugus Java Edio
Empresarial) uma plataforma de programao para servidores na
linguagem de programao Java.
O JEE a plataforma Java voltada para redes.
Contm bibliotecas especialmente desenvolvidas para o acesso a
servidores, a sistemas de e-mail, a banco de dados, entre outras
caractersticas.
Desenvolvido para suportar uma grande quantidade de usurios
simultneos.
A plataforma JEE contm uma srie de especificaes:
JDBC (Java Database Connectivity), utilizado no acesso e conexo ao banco de
dados;
JSP (Java Server Pages), uma espcie de pgina Web (aplicaes para Internet);
Servlets que permite a gerao de requisies e respostas.
Servidores Web que permitem a configurao de pginas na Web.
Nomeclaturas
JSE - Java Standard Edition
O J2SE (Java 2 Standard Edition) ou Java SE uma ferramenta
de desenvolvimento para a plataforma Java.
Ela contm todo o ambiente necessrio para a criao e
execuo de aplicaes Java, incluindo a mquina virtual Java
(JVM), o compilador Java, as APIs do Java e outras
ferramentas utilitrias.
O JSE o ambiente de desenvolvimento mais utilizado, seu
uso voltado para computadores pessoais e servidores, onde
h bem mais necessidade de aplicaes.
Mais indicada para quem quer aprender a linguagem.
Nomeclaturas
JME - Java Micro Edition
O JME (Java Micro Edition) o ambiente de desenvolvimento para
dispositivos mveis ou portteis, como telefones celulares e
palmtops.
Desde que seus dispositivos tenham uma JVM (Java Virtual
Machine - Mquina Virtual Java), possvel, com poucas
modificaes, implementar os aplicativos em qualquer aparelho,
sendo o nico limite a capacidade do hardware.
A plataforma JME contm configuraes e bibliotecas trabalhadas
especialmente para a atuao em dispositivos portteis.
Assim, o desenvolvedor tem maior facilidade para lidar com as limitaes
de processamento e memria, por exemplo.
Um exemplo disso a configurao chamada CLDC (Connected Limited
Device Configuration), destinada a dispositivos com recursos de hardware
bastante limitados, como processadores de 16 bits e memrias com 512 KB
de capacidade.
Nomeclaturas
JVM - Java Virtual Machinne
Mquina Virtual Java (do ingls Java Virtual Machine JVM)
um programa que carrega e executa os aplicativos Java,
convertendo os bytecodes em cdigo executvel de mquina.
Graas Mquina Virtual Java, os programas escritos em Java
podem funcionar em qualquer plataforma de hardware e
software que possua uma verso da JVM, tornando assim essas
aplicaes independentes da plataforma onde funcionam.
Nomeclaturas
Swing/SWT/AWT
So toolkits do Java:
AWT Primeiro toolkit que existiu no Java
Swing Toolkit que estende/substitui a AWT
SWT Toolkit que concorre com a Swing
Nomeclaturas
JDBC - Java Database Connectivity
Java Database Connectivity ou JDBC um conjunto de
classes e interfaces (API) escritas em Java que fazem o
envio de instrues SQL para qualquer banco de dados
relacional.
Possibilita o uso de bancos de dados j instalados.
Nomeclaturas
EJB - Enterprise Java Beans
um componente do tipo servidor que executa no container do
servidor de aplicao.
Os principais objetivos da tecnologia EJB so fornecer um
rpido e simplificado desenvolvimento de aplicaes Java
baseado em componentes distribudas, transacionais, seguras e
portveis.
Nomeclaturas
JNI - Java Native Interface
um padro de programao que permite que a mquina
virtual da linguagem Java acesse bibliotecas construdas
com o cdigo nativo de um sistema.
Permite integrar o Java com aplicaes criadas em outras
linguagens de programao, tornando possvel a invocao
de mtodos ou funes em ambas as direes.
Nomeclaturas
JSP - Java Server Pages
JavaServer Pages (JSP) uma tecnologia utilizada no
desenvolvimento de aplicaes para Web, similar s
tecnologias Active Server Pages (ASP) da Microsoft ou PHP.
Por ser baseada na linguagem de programao Java, tem a
vantagem da portabilidade de plataforma, que permite a sua
execuo em diversos sistemas operacionais, como o
Windows da Microsoft, Unix e Linux.
Nomeclaturas
Servlets
Componente do lado servidor que gera dados HTML e XML
para a camada de apresentao de um aplicativo Web.
basicamente uma classe na linguagem de programao
Java que dinamicamente processa requisies e respostas.
Nomeclaturas
Applets
Applet um software aplicativo que executado no contexto
de outro programa (como por exemplo um navegador web).
Nomeclaturas
RMI - Remote Method Invocation
O RMI (Remote Method Invocation) uma interface de
programao que permite a execuo de chamadas remotas no
estilo RPC em aplicaes desenvolvidas em Java.
JSF - Java Server Faces
JavaServer Faces um framework para o desenvolvimento de
aplicaes Web, que permite o desenvolvimento de aplicaes
para a Internet de forma visual, ou seja, arrastando e soltando
os componentes na tela (JSP), definindo propriedades dos
mesmos.
Nomeclaturas
JAVA FX - Java FX Script
JavaFX Script uma linguagem de script.
O domnio da plataforma engloba o desenvolvimento
de RIAs (Rich Internet Application) para desktops e
dispositivos mveis.
Voc pode criar aplicativos para diversas plataformas
usando JavaFX: desktop, celular, web, televiso digital.
A compatibilidade de JavaFX atravs das plataforma
de 80%, isso quer dizer que seu cdigo Desktop pode
ser o mesmo que vai rodar no celular, ou com
pequenas alteraes.
Nomeclaturas
Java Card
Voltada para dispositivos embarcados com limitaes de
processamento e armazenamento.
Nomeclaturas
Servidores de Aplicao para JavaEE
JBoss
Servidor J2EE ou seja, alm de outras coisas possui um container EJB e
um container Web (JSP e Servlets)

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.

Limpar e Construir um Projeto


Esse passo permite limpar os arquivos criados
automaticamente aps compilao/executao e os recria
novamente. Importante quando houver alteraes no
programa.
Conhecendo um Projeto
Executar o Projeto
Existem diversas maneiras de executar o Projeto.
Conhecendo um Projeto
Executar o Projeto
A melhor opo :
com o boto direito em cima do rea de edio Executar arquivo
com o boto direito em cima da classe no canto esquerdo Executar
arquivo
Shift F6.
Conhecendo um Projeto
Executar o Projeto
Quando voc optar pelo menu Executar ou pela Barra de
Ferramentas, dever ser definido qual projeto o principal.
Se existir mais de um projeto, o principal (o que estiver com o
nome do projeto em negrito, ser executado por estas
ferramentas.
Conhecendo um Projeto
Pastas do Projeto antes da compilao/execuo

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

J as converses explcitas, o casting, permitido em todos os tipos (exceto o boolean),


mas o programador deve estar ciente que poder haver perda de bits.
Atividades
1. Escreva um programa com uma varivel para cada tipo
de dados.
2. Inicialize as variveis com valores adequados.
3. Faa a converso de duas variaveis usando casting.
Operador Delimitador
Grupo Operador Operando Descrio

. objeto.atributo Acesso a um membro de um objeto ou


classe.

Delimitador {} Classe, Mtodo Indica o inicio e fim do programa,


e Instrues de mtodo ou classe.
controle.

[] Vetores Acesso ao elemento de um vetor.

(parmetros) Mtodos Usados para passar parametros


necessrios para invocar o mtodo.
Operador de Atribuio
Grupo Operador Operando Descrio

= variveis Fazer com o que a varivel receba


Atribuio alguma valor.
Pr-Requisitos do Projeto
Crie um pacote dentro do projeto Linguagem de
Programao denominado Operadores.
Retire a opo criar classe principal.
Operadores Aritmticos
Grupo Operador Operando Descrio

+ variveis Somar

Convencionais - variaveis Subtrair


* variveis Multiplicar
/ variveis Dividir
% variaveis Resto
Incremento ++ variaveis Ps e Pr Incremento
Decremento -- variaveis Ps e Pr Decremento
+= variaveis Abreviar a Soma
Abreviaes -= variaveis Abreviar a Subtrao
dos
Operadores *= variaveis Abreviar a Multiplicao
/= variaveis Abreviar a Diviso
%= variaveis Abreviar o Resto
Operadores Incremento e
Decremento
Utilize os operadores de incremento (++) e decremento
(--) em vez de um operador de atribuio composta ao
incrementar ou decrementar uma varivel por 1.

Se o operador de incremento ou decremento colocado


antes de uma varivel, ele passa a ser chamado de
operador de pr-incremento ou pr-decremento.

Se o operador de incremento ou decremento colocado


depois de uma varivel, ele passa a ser chamado de
operador de ps-incremento ou ps-decremento.
Pr-Requisitos
Crie uma classe dentro do pacote operadores do projeto
denominada OperadoresIncrementoDecremento.
Copie o mtodo main para dentro do cdigo fonte.
Usando os Operadores de
Incremento
Dentro do mtodo main, vamos adicionar os seguintes
cdigos:
Abreviao dos Operadores
Aritmticos
A abreviao dos operadores aritmticos so usadas
quando o valor de uma varivel composto por ela
mesma sob a operao de uma outra varivel ou
constante.
Exemplo:
a = a + b;
Pr-Requisitos
Crie uma classe dentro do pacote operadores do projeto
denominada OperadoresAbreviados.
Copie o mtodo main, como anteriormente para dentro
do cdigo fonte.
Usando a Abreviao dos
Operadores Aritmticos
Dentro do mtodo main, vamos adicionar os seguintes
cdigos:
Usando a Abreviao dos
Operadores Aritmticos
Equaes Simplificadas vs. Equaes
Originais com Incremento (++)
Equaes Simplificadas vs. Equaes
Originais com Decremento (--)
Atividades
7. 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;
Lista de Exerccios
8. Para cada conjunto de equaes apresentadas a
seguir, indique a expresso simplificada:

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 Ou: Avalia as duas condies


Operadores Lgicos e Relacionais
Grupo Operador Operando Descrio

== variveis Igual

Operadores != variaveis Diferente


Relacionais < variveis Menor
> variveis Maior
<= variveis Menor e Igual
>= variveis Maior e Igual
Pr-Requisitos
Crie uma classe dentro do pacote padro do projeto
denominada OperadoresLogicosRelacionais.
Copie o mtodo main para dentro do cdigo fonte.
Usando os Operadores Lgicos
Dentro do mtodo main, vamos adicionar os seguintes
cdigos:
Usando os Operadores Lgicos
Usando os Operadores Relacionais
Adicione ao cdigo do mtodo main, os seguintes
cdigos:
Usando os Operadores Relacionais
Lista de Exerccios
1. Responda se verificao True ou False:
a) verificacao = 10 == 10 && 10 == 20;
b) verificacao = 11 == 12 && 20 == 20;
c) verificacao = 15 == 15 && 16 == 16;
d) verificacao = 12 == 11 && 23 == 24;

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

2. Tendo como dados de entrada a altura de uma pessoa, construa


um algoritmo que calcule seu peso ideal, utilizando a seguinte
frmula:
peso ideal = (72.7*h) 58

3. 4) Faca um algoritmo que receba como entrada uma determinada


temperatura em graus Celsius e mostre a temperatura em
fahrenheit
OBS: Fahrenheit = (9/5)*(Celsius) + 32
Estrutura de Condio usando
IF/ELSE
Em Java, como em muitas linguagens de programao,
quem faz isso o IF (SE traduzindo).
O ELSE o que chamamos de caso contrrio, ou seja, se
for falso execute o que est no ELSE.
Exemplificando: Se (IF) for tal coisa, faa isso! Caso
contrrio (ELSE), faa aquilo!
Operadores Lgicos
Para que IF chegue a uma deciso de falso e verdadeiro
so necessrios operadores lgicos.
> - maior que
< - menor que
>= - maior ou igual a
<= - menor ou igula a
== - igual a
!= - diferente de
Operadores Relacionais
A tomada de deciso por advir de duas condies,
sendo assim seguem as regras:
V&V=V
V&F=F
F&V=F F && qualquer coisa = F
F&F=F

V|V=V V || qualquer coisa = V


V|F=V
F|V=V
F|F=F
Importante
O operador lgico ! (negao) serve para inverter o
valor, ou seja, se algo for falso, ir se tornar verdadeiro e
vice-e-versa.
Implementao usando IF e ELSE:
Operador Negao
IFs Aninhados
O IF aninhado simplesmente um IF dentro da
declarao de um outro IF externo.
necessrio saber exatamente a qual IF um
determinado ELSE est ligado, para no ocasionar erro
na lgica do programa.
Implementao usando IFs Aninhados
Mais de uma Condio usando &&
O IF pode ser usado para mais de uma condio.
Por exemplo:
Vocs s podem passar de ano se a nota de vocs forem
maior ou igual a 60 e se o nmero de faltas for inferior a 25%
do total de aulas.
Se voc no conseguir que uma das duas condio, toda a estruta IF
retornar FALSO.
Implementao Usando Mais de
Uma Condio com &&
Mais de uma Condio usando ||
O IF pode ser usado para mais de uma condio.
Outro exemplo:
Vocs podem passar de ano se a nota de vocs forem maior
ou igual a 60 ou se o nmero de faltas for inferior a 25% do
total de aulas
Se voc conseguir uma das duas condio, toda a estruta IF retornar
VERDADEIRO.
Implementao Usando Mais de Uma
Condio com ||
Ateno
Separe as condies por parenteses.
Estrutura de Condio usando Switch
Outro comando condicional existente na linguagem Java
o comando SWITCH (do ingls: desvio, mudar, trocar).

Um detalhe que o SWITCH efetua sua condio de


teste apenas nos tipos primitivos: byte, short, char e int.
Lista de Exerccios
2. Ler a data de nascimento de uma pessoa fornecida atravs de
uma string escrita sob a forma de DD/MM/AAAA (DD=dia,
MM=ms e AAAA=Ano). Testar a validade desta data.
Dias > 0 e <=31
Ms > 0 e <= 12
Ano <= ano atual
Imprimir se a Data Invlida ou Data Vlida, no final da execuo.
Use IFs e ELSEs.
Dicas Exerccio 2
Lista de Exerccios
4. D o resultado de uma equao do segundo grau
4x+3x+2=0
= b2 4ac
x = (-b +- )/2a
Verificar se a > 0, pois no h diviso por 0. Se for, imprimir o delta e
enviar uma mensagem de erro. Use switch.
Veriricar se negativo, pois no existe raiz quadrada de nmero
negativo. Se for, enviar uma mensagem de erro.
Estruturas de Repetio
Quando uma mesma sequncia de comandos deve ser
executada repetidas vezes, tem-se uma estrutura de
repetio.
Podemos fazer isso de trs maneiras, usando as
estruturas:
For
While
Do While
Estrutura de Repetio: For
O FOR necessita de trs parmetros:
1. A inicializao da varivel;
2. A condio ou condies que ir manter o looping
(repetio);
3. O modificador da varivel inicializada que pode ser
incrementada ou decrementada, ou seja, pode aumentar
seu valor ou diminuir.
Um ponto importante que todos os parmetros devem ser
separados por ponto-e-vrgula ( ; ).
for(int i = 0; i < 10; i++)
Implementao da Estrutura de
Repetio For
Por exemplo, vamos criar um cdigo que nos d o
resultado do fatorial de um nmero, exemplo 5.
Como sabemos para calcular o fatorial de algum nmero
basta multiplicarmos ele pelo nmero anterior
regressivamente at 1, ou seja, seria algo como 5 4 3 2
1.
Varivel inicial: ler do teclado;
Condio: o loop ir executa at que a varivel j maior que 1
Modificador: varivel ir decrementar -1 a cada repetio.
Implementao da Estrutura de
Repetio For
Lista de Exerccios
1. Faa um programa que leia um valor inteiro e escreva
todos os nmeros pares abaixo dele.
2. Faa um programa que mostre os nmeros mltiplos
de 5 de 1 a 100.
Estrutura de Repetio WHILE
While executa uma comparao com a varivel.
Se a comparao for verdadeira, ele executa o bloco de
instrues ( { } ) ou apenas a prxima linha de cdigo logo
abaixo.

O problema com estruturas de repetio,


principalmente com WHILE, o que chamamos de
looping infinito, ou seja o programa fica repetindo a
mesma sequncia de cdigos esperando por um
resultado que nunca ir acontecer
Implementao da Estrutura de
Repetio WHILE
Por exemplo, vamos criar um cdigo que nos fornece
um menu de opes
Sair
Somar
Subtrair
Multiplicar
Dividir
Para cada opo haver uma determinada ao
correspondente
Implementao da Estrutura de
Repetio WHILE
Pode-se utilizar mais de uma condio aps o WHILE.
Lista de Exerccios
1.Termine o programa da aula, calculando a soma,
subtrao, multiplicao e a diviso de dois
nmeros.
2.Ler um nmero inteiro n. Escrever a soma de
todos os nmeros pares de 2 at n.
Estrutura de Repetio DO WHILE
DO WHILE uma estrutura de repetio, tal como o
prprio WHILE.
A principal diferena entre os dois que DO WHILE ir
fazer a comparao apenas no final do bloco de cdigo,
sendo representado da seguinte forma:
DO { cdigo } WHILE (comparao);

Com essa estrutura a repetio ir acontecer pelo


menos uma vez.
Implementao da Estrutura de
Repetio DO WHILE
Por exemplo, vamos modificar o cdigo que nos fornece
um menu de opes
Sair
Somar
Subtrair
Multiplicar
Dividir
Implementao da Estrutura de
Repetio DO WHILE
Lista de Exerccios
1.Escreva um programa que apresente quatro
opes: (a) consulta saldo, (b) saque e (c)
depsito e (d) sair.
1.O saldo deve iniciar em R$ 0,00. A cada saque ou
depsito o valor do saldo deve ser atualizado.
Lista de Exerccios
Exemplo:
Opes:
(a) consulta saldo
(b) saque
(c) depsito
(d) sair
Opo: a
Extrato: R$ 0.00
Opes:
(a) consulta saldo
(b) saque
(c) depsito
(d) sair
Opo: c
Valor para depsito: 20.00
Opes:
(a) consulta saldo
(b) saque
(c) depsito
(d) sair
Opo: a
Extrato: R$ 20.00
Vetores
Vetores so variveis que servem para guardar vrios
valores do mesmo tipo.

Por exemplo, se tivemos que criar 20 variveis do


mesmo tipo, ns no criaramos int var1, var2, var3,
var4, ...

Ao invs disso, criaramos apenas uma varivel vetor


para guardar todos os 20 nmeros de uma vez.
Declarao de Vetores
Para declarar um vetor devemos especificar a classe ou o
tipo de dado que ser armazenado nele.

Aps isso, damos um nome a esse vetor.

E, para finalizar, indicamos que ele um vetor,


simplesmente abrindo e fechando colchetes ( [ ] ).

Portanto, se quisssemos um vetor de nmeros inteiros,


declararamos da seguinte forma:
int meuArray [];
Declarao de Vetores
J declarado o vetor, para dar um tamanho a ele
utilizamos um instanciador chamado new.

Ento, a linha de cima ficaria:


int meuArray[] = new int [4];

Algumas vezes necessrio declarar o vetor e


especificar seu tamanho posteriormente aps a leitura
de uma varivel ou aps uma equao matemtica.
Acesso aos Vetores
Para acessarmos um local especfico dessa memria
devemos indicar entre colchetes a posio desejada no
vetor que chamamos de index.

A primeira posio sempre comea em 0. Portanto, um


vetor de tamanho 4 vai da posio 0 a 3.
Atribuio em um Vetor
Agora, se quisermos atribuir os valores
540 na posio 1 e
8000 na posio 3,
faramos:
meuArray [1] = 540;
meuArray [3] = 8000.
Inicializao Direta de Vetores
Podemos inicializar um vetor diretamente, sem a
necessidade de instanci-lo com new.
Basta colocar seus valores em chaves, separando cada
valor por vrgula.
Por exemplo:
int meuArray [] = { 450, 200, 1000, 700 };
Acessar Todas Variveis
Podemos mostrar todos os elementos de uma vetor
atravs de uma estrutura de repetio.
O mais conveniente nesse caso o FOR.
Exemplo1
Leia um vetor de n posies. Somar os valores das
posies.
Atividades
1. Leia um vetor de 10 posies de inteiros. Lido a
sequncia de 10 nmeros, imprimir os valores da
seguinte forma: Vetor[0] = 10. Faa para as 10
posies atravs de um FOR.

2. Elabore um programa que dado dois vetores inteiros


de 3 posies, leia estes vetores, calcule a
expresso(vetor1-vetor2), utilizando os valores da
mesma posio, armazenando em um terceiro vetor,
tambm de nmeros inteiros de 3 posies. No final,
imprima os nmeros mpares do terceiro vetor.
Matrizes
Matrizes so vetores multidimensionais, ou seja, eles
no so totalmente lineares.

Enquanto um vetor tem apenas uma linha com vrios


valores, uma matriz pode, por exemplo, ter vrias linhas
com vrios valores, que comumente chamamos de
linhas e colunas.

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).

Ento, se quisermos criar uma matriz bidimensional


com 3 linha e 5 colunas, faramos:
int minhaMatriz [][] = new int [3][5];
Declarao de Matrizes
Na memria representado como:
Inicializao Direta de Matriz
Podemos inicializar uma matriz diretamente, sem a
necessidade de instanci-lo com new.

Basta colocar seus valores em chaves, separando cada


valor por vrgula os valores e cada linha.

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