Escolar Documentos
Profissional Documentos
Cultura Documentos
Orientada a
Objetos I
OBJETIVOS
indstria;
negcios;
telecomunicaes;
medicina;
e na vida pessoal de bilhes de pessoas.
2. Hardware X Software
3. Componentes de um computador
4. Linguagem do processador
5. Interpretadores e Compiladores
6. Linguagens de programao
Facilidade de aprendizado;
Versatilidade;
Popularidade;
Amplo mercado de trabalho;
Segurana;
Inmeros frameworks;
Grande aceitao nas companhias;
Gratuidade e
Abundncia de informaes;
OBJETIVOS
1. Um pouco de histria...
2. Distribuies do Java
Java pode ser encontrada em trs distribuies principais, cada uma
com sua finalidade especfica:
Alm das trs principais distribuies, tambm existe o Java Card, que
uma edio especfica para cartes inteligentes, extremamente reduzida. Nesta
tecnologia at a mquina virtual dividida entre o sistema do carto e o sistema
operacional do terminal.
4. JSE
A JSE o segmento base da plataforma Java. O JSE possui duas
divises:
Passo 6: Instalao
D um duplo clique no instalador e a janela abaixo dever ser exibida.
Clique em Next.
Figura 10: Instalao do jdk
Fonte: Elaborao da autora
PARA FIXAR
2. Crie uma classe Java que imprima o texto: "Consegui concluir meu primeiro
programa em Java".
IDE
OBJETIVOS
1. IDEs
3. Netbeans
Neste curso, vamos optar pela IDE Netbeans, por ter um melhor
suporte para desenvolvimento Desktop. O Netbeans uma ferramenta gratuita e
tem suporte para desenvolvimento nas linguagens C, C++, Groovy, PHP e Java.
O download da ferramenta pode ser feito em:
<http://netbeans.org/downloads/index.html>. Abrindo a pgina correspondente
ser visualizada uma tela como na figura abaixo:
4. Funcionalidades do Netbeans
o St:
o if:
Teclas de atalho:
o ALT + F1: pesquisarjavadoc;
o CTRL + E: excluir a linha atual;
o F5: iniciar depurao do projeto principal;
o SHIFT + F6: executar projeto principal;
o ALT+ ENTER: exibir dica.
SINTAXE DA LINGUAGEM JAVA
OBJETIVOS
Caracter Descrio
\ aspa dupla
\ aspa simples
\n nova linha
\t Tabulao
\\ Barra
\r Enter
Tabela 2: Caracteres de controle
Fonte: Elaborao da autora
5. String
6. Declarao de variveis
8. GarbageCollector
9. Constantes
10.Operadores bsicos
, Separador de identificadores.
{} Separador de blocos.
() Lista de parmetros.
= Operador de atribuio.
Tabela 5: Operadores bsicos da linguagem Java
Fonte: Elaborao da autora
> Maior
< Menor
!= Diferente
&& E
|| Ou
Tabela 6: Operadores lgicos
Fonte: Elaborao da autora
+ Soma
- Subtrao
/ Diviso
* Multiplicao
+= x += y x=x+y
-= x -= y x=x-y
*= x *= y x=x*y
/= x /= y x=x/y
%= x%=y x=x%y
Tabela 9: Operadores de atribuio
Fonte: Elaborao da autora
Instruo if
Instruo switch
Comando for
Comando while
Comando do ...while
16. Comentrios
/*
*Declaraodavarivelidade do tipointeirocom o valor inicial 5
*atribudo.
*/
int idade = 6;
/* Usodaestruturacondicionalif.
* Nesteexemplo, a condio a sersatisfeita que a idadesejamaior
* ouigual a 6.
*/
if ( idade >= 6){
/*
* O comando switch recebeumavarivel, no casoabaixoidade e abre
* umblocodedados. Dentrodesseblocoestoos cases.
* Cada case recebeum valor nico e apsosdoispontosdecada case
* estainstruoquedeveserexecutadacaso a condiosejasatis-
* feita. O comando break utilizadoparaforar a sada do switch.
* O comando default pegaqualquerresultadoquenoestejadefinido
* no case.
*/
switch (idade){
case 6:
System.out.println ("Aluno deveria estar no primeiro ano");
break;
case 7:
System.out.println ("Aluno deveria estar no segundo ano");
break;
case 8:
System.out.println("Aluno deveria estar no terceiro ano");
break;
case 9:
System.out.println("Aluno deveria estar no quarto ano");
break;
default:
System.out.println("No deveria estar frequentando o primrio");
}
}
/*
* O comando for utilizadoemlaoscontados.
* A primeirainstruodeclara e atribui o valor inicial a varivelde
* controle.
* A segundainstruocontempla a condiodecontrole do lao.
* A terceiracondio define como a varivelde controle do lao deve
* variar
*/
for ( int i = 0; i<=6; i++){
System.out.println("O valor da varivel i : " + i);
}
int j = 0;
/*
* O lao while executado enquanto a expresso condicional for
* verdadeira.
*/
while ( j < 6){
if ( j == 3){
/*
*O comando continue para a interao atual. Desta forma quando
*j for igual a 3, o valor de j no ser impresso.
*/
break;
}
System.out.println("O valor de j : " + j);
j ++;
}
}
}
PARA FIXAR
1.Quais dos identificadores abaixo, podem ser usados como nomes de variveis
em Java? Quais no podem e porqu?
a) for j) 123nome
b) four k) contador
c) FROM l) para
d) main m) ENQUANTO
e) MAIN n) 123
f) nome o) new
g) novo_nome p) table
h) $nome q) PEN
i) _nome r) dia-e-noite
5. Implemente uma calculadora que resolva as quatro operaes (+, -, * e /), que
receba como entrada dois nmeros reais.
import java.io.*;
public class Calculadora {
public static void main(String [] args) {
int a, b, c;
a = 5;
b = 3;
c = a++ + ++b;
a) Valores = 16
b) Valores = 548
c) Valores = 18
d) Valores = 649
e) Valores = 19
publicclass Main {
publicstaticvoid main(String[] args) {
int x = 0;
int y = 1;
int z = 8;
while (x < z) {
while (y > z) {
x++;
y--;
}
y += ++x;
}
x += y;
System.out.println(x);
}
}
Qual ser a sada do programa Java mostrado acima?
a) 8
b) 24
c) 25
d) 42
e)43
publicclass Main {
publicstaticvoid main(String[] args) {
int n = 1;
int x = 0;
int i;
while (n < 10) {
if (n % 2 != 0) {
for (i = 3; i * i <= n; i += 2) {
if (n % i == 0)
break;
}
if (i < n) {
x++;
}
}
n++;
}
System.out.println(x);
}
}
d) x = 1;
while (x < 13){
++x;
}
e) x = 5;
while (x < 12){
++x;
}
PROGRAMAO ORIENTADA A OBJETOS
OBJETIVOS
String placa;
String corLataria;
String corParachoque;
String aro;
5. Atributos
String corLataria;
String corParachoque;
String aro;
Conjunto de caractersticas dos objetos da
Classe Carro
6. Mtodos
}
Mtodo com retorno do tipo boolean, sem
public boolean estaLigado (){ parmetros. O uso da palavra-chave return
returntrue;
obrigatrio em mtodos com retorno.
}
7. Instncias de classes
Declarao da
varivel c1 do Cria um objeto na
tipo Carro. memria
c1.aro = "18";
c1.corLataria = "prata";
c1.corParachoque = "prata";
c1.placa = "MHZ 1521";
}
} Definindo valores para os atributos
do Carro criado c1.
8. Construtores
A funo do construtor iniciar a construo de um objeto. O mesmo
invocado toda vez que a palavra new utilizada.
9. Pacotes
As principais classes que fazem parte deste pacote so: Math, Object,
String, System.
package br.com.senai.exemplo.pacote;
import br.com.senai.exemplo.pacote.Pacote;
Importao do
public class TestePacote {
pacote para o uso da
classe Pac
Pac p1 = new Pac();
PARA FIXAR
2. Escreva um modelo para representar um livro que est venda em uma livraria.
Que dados devem ser representados por este modelo?
OBJETIVOS
1. Encapsulamento
2. Modificadores de acesso
String placa;
String corLataria;
String corParachoque;
3. Gets e sets
Carro c1 = newCarro();
c1.setPlaca("TRW 2345");
System.out.println(c1.getPlaca());
}
}
5. Agregao e composio
PARA FIXAR
O exerccio 1 foi retirado do curso Java Starter e deve respeitar o uso do
encapsulamento. Disponvel em:
<http://www.t2ti.com/curso/video/java/basico/java_starter.php>
3. Um avio representado pelo seu prefixo, pelo nome do seu modelo, pelo
nome do seu fabricante, pela quantidade de assentos e pela quantidade de
assentos ocupados.
Escreva uma classe que represente um avio e desenvolva um mtodo que
informe qual o prefixo da aeronave.
Um aeroporto representado pelo seu cdigo e seu nome (ex.: SSA: Salvador, BSB:
Braslia. etc), por um status que informa se ele um aeroporto internacional ou
no, uma lista de outros aeroportos para os quais partam vos diretos partir dele
e uma lista de outros aeroportos de onde venham vos para ele. Alm disto possui
uma lista de avies que esto atualmente no ptio.
Escreva uma classe que contemple os atributos apresentados e mais os seguintes
membros:
a) Um construtor que inicialize o cdigo do aeroporto e seu nome.
b) Mtodos que verifiquem e alterem a situao relativa ao fato do aeroporto ser
internacional ou no.
c) Um mtodo que verifique e informe se um aeroporto igual a ele:
public boolean equals (Aeroporto aeroporto)
Dois aeroportos so iguais se o seu cdigo for coincidente.
d) Um mtodo que receba um prefixo de avio como parmetro e informe se a
aeronave est pousada nele.
e) Um mtodo que receba um outro aeroporto como parmetro e verifique se
existe alguma forma de se chegar nele. Para isto, o aeroporto deve verificar se ele
possui vo partindo para o aeroporto desejado, e caso no saia, se existe alguma
forma de chegar nele partir dos aeroportos de onde sai
public boolean possuiRota(Aeroporto aeroporto)
Obs: A quantidade mxima de aeronaves que um aeroporto pode ter em
terra igual a 100 e a quantidade mxima de outros aeroportos com os
quais o aeroporto pode ter linhas saindo e chegando 100.
4. Nas duas tabelas abaixo esto inseridos os cdigos de duas classes Java: a classe
Carro e a classe Principal. Explique o que cada linha de cdigo representa.
package br.com.senai.exemplo.modelo;
//Atributos
private String cor;
public Carro() {
}
HERANA E POLIMORFISMO
OBJETIVOS
1. Herana
2. Sobrescrita de mtodos
3. Polimorfismo
PARA FIXAR
6. class Prova{
public int a;
Prova(int _a){
a = _a;
}
Por ltimo, crie um arquivo de teste de forma a ter um jardim zoolgico com os
seguintes animais: camelo, tubarao, urso-do-canad.
13. Escreva uma classe chamada Pessoa com os atributos: nome (tipo String), sexo
(tipo char), idade (tipo int). Escreva agora outra classe chamada Amigo, que uma
pessoa (estende da classe Pessoa) de quem sabemos o dia de seu aniversrio,
atributo diaDoAniversario (tipo String). Use encapsulamento e fornea construtor
padro e construtor usando todos os atributos para as duas classes. Faa uma
classe teste para criar um amigo e imprimir o nome e a data de nascimento do
mesmo.
15. Escreva uma classe Conta com atributo saldo (tipo double) e os seguintes
mtodos
Assinatura void depositar(double valor)
Efeito Acrescentar o valor recebido como parmetro ao atributo
saldo
Assinatura void sacar(double valor)
Efeito Subtrair o valor recebido como parmetro do atributo saldo
O atributo saldo pode ser negativo. Escreva uma subclasse de Conta chamada
Poupanca. A classe Poupanca deve ter um atributo chamado diaRendimento do
tipo int que armazena o dia do ms em que ocorre o rendimento da poupana.
Use encapsulamento nas duas classes. Fornea construtor que recebe valores para
os atributos correspondentes para as duas classes. O atributo saldo da classe
Poupanca no pode ser negativo. Use esta regra no mtodo modificador do
atributo saldo (mtodo setSaldo):
Assinatura void setSaldo(double valor)
Efeito Atribui ao atributo saldo o valor recebido como parmetro
desde que este valor no seja negativo. Caso seja negativo,
no faz nada.
Aplique esta mesma regra e redefina (por sobreposio) o mtodo sacar para a
classe Poupanca:
Assinatura void sacar(double valor)
Efeito Subtrair o valor recebido como parmetro do atributo saldo
desde que este valor no seja negativo. Caso seja negativo,
no faz nada.
Escreva um programa com um mtodo main que cria um objeto do tipo Conta e
outro objeto do tipo Poupanca. Em seguida realiza um depsito na conta no
valor de 10000 e depois um saque de 15000 da conta e um depsito na
poupana no valor de 15000. Depois realize um saque de 20000 na poupana e
imprima o saldo da conta e da poupana.
LUZ, Diego. Linguagens de programao, qual devo escolher? Disponvel em: <
http://webinsider.uol.com.br/2009/09/16/linguagens-sao-linguagens-mas-qual-
devo-escolher/>. Acesso em 22 jan. 2013.