• Nenhum resultado encontrado

Aula 3 8hrs - Java

N/A
N/A
Protected

Academic year: 2021

Share "Aula 3 8hrs - Java"

Copied!
66
0
0

Texto

(1)

PROGRAMAÇÃO EM JAVA

MÓDULO BÁSICO

(2)

Estruturas de seleção

If: é usado para comparar expressões e

variáveis.

COMANDOS

public class parimpar {

public static void main(String args[]){

int numero=6;

int resultado = numero % 2;

if (resultado == 0) {

System.out.println ("Número " + numero + " é par! ");

}

else{

System.out.println ("Número " + numero + " é impar! ");

}

(3)

Estruturas de seleção

Exercício 1: monte um programa que imprima na tela o

status de um candidato que realizou uma prova,

seguindo as regras: de 0 a 50 (reprovado), 51 a 75

(espera) e de 76 a 100 (aprovado).

COMANDOS

public class status {

public static void main(String args[]){

int nota=60;

if (nota > 0 && nota <=50) {

System.out.println ("Reprovado");

}

else if (nota>50 && nota<=75) {

System.out.println ("Espera");

}

else if (nota>75 && nota<=100) {

(4)

Estruturas de seleção

Switch: ele aplica uma condição sobre dados

numéricos inteiros.

COMANDOS

public class exploswitch {

public static void main(String args[]){

int x = 10;

switch (x) {

case 1:

System.out.println("Código A");

break;

case 10:

System.out.println("Código B");

break;

default:

System.out.println("Código D");

(5)

Estruturas de seleção e repetição

Exercício 1: escreva um programa que detecte e

imprima na tela números múltiplos de 3, no

intervalo de 1 a 50.

COMANDOS

public class multiplotres {

public static void main(String args[]){

for (int num = 1;num<=50;num++) {

if (num%3==0) {

System.out.println(num);

}

}

}

}

(6)

Estruturas de seleção e repetição

Exercício 2: monte um programa que imprima na tela

uma cartela com os números da mega sena.

COMANDOS

public class megasena {

public static void main(String args[]){

int inicio = 1;

for (int linha = 1; linha <= 6; linha++){

for (int num = inicio;num<=linha*10;num++) {

if (num < 10) {

System.out.print(num + " ");

}

else {

System.out.print(num + " ");

}

}

System.out.println();

inicio = inicio + 10;

}

OU...

public class megasena {

public static void main(String args[]){

for (int linha = 1; linha <= 60; linha++){

System.out.print(linha + "\t");

if (linha % 10 == 0) {

System.out.println();

}

}

}

}

(7)

Manipulação de Strings

COMANDOS

public class manipulacaostr {

public static void main(String args[]) {

String original="Universidade Nove de Julho";

int tamanho = original.length();

String comp = original.toUpperCase();

String comp2 = original.toLowerCase();

String comp3 = original.replace("Nove", "9");

System.out.println("Original: " +original);

System.out.println("Tamanho: " +tamanho);

System.out.println("Caixa Alta: " +comp);

System.out.println("Caixa Baixa: " +comp2);

System.out.println("Substituindo: " +comp3);

(8)

Parâmetros em linhas de comando

COMANDOS

public class parametros {

public static void main(String args[]) {

int tam=args.length;

System.out.println("Qtde de parametros: " +tam);

for (int i=0; i<tam; i++){

System.out.println(i + " - " + args[i]);

}

}

}

(9)

Exercício 1: escreva um programa que receba

um argumento e informe: o argumento

passado, quantos caracteres possui este

argumento e o converta para caixa alta.

COMANDOS

public class exerstr{

public static void main(String args[]) {

String original=args[0];

int tamanho = original.length;

String comp = original.toUpperCase();

System.out.println("Original: " +original);

System.out.println("Tamanho: " +tamanho);

System.out.println("Caixa Alta: " +comp);}}

(10)

Arrays

Primitivas

Vetores

Matrizes

De referência

Vetores

Matrizes

COMANDOS

(11)

Vetor Primitivo

public class vetores {

public static void main(String args[]) {

int valores[] = new int[10];

System.out.println(valores.length);

}

}

(12)

Matriz Primitiva

public class matrizes {

public static void main(String args[]) {

double valores[] []= new double[10] [5];

System.out.println(valores.length);

System.out.println(valores[0].length);

}

}

(13)

Vetor de Referência (ou objeto)

public class vetref {

public static void main(String args[]) {

String nomes[] = new String[10];

System.out.println(nomes.length);

nomes[0] = “ABC”;

System.out.println(nomes[0]);

}}

(14)

Matriz de Referência (ou objeto)

COMANDOS

public class matref {

public static void main(String args[]) {

String pessoas[] []= new String[10] [2];

pessoas[0] [0]= "ABC";

pessoas[0] [1]= "(11)1234-4321";

System.out.println(pessoas[0][0]);

System.out.println(pessoas[0][1]);

}

}

(15)

Exercício 1: montar um programa que receba

nome e fone, através de parâmetros, de duas

pessoas (utilize vetor).

COMANDOS

public class exerstr2 {

public static void main(String args[]){

String nome[] = new String[2];

String fone[] = new String[2];

nome[0] = args[0];

fone[0] = args[1];

nome[1] = args[2];

fone[1] = args[3];

for (int i=0;i<2;i++) {

System.out.println("Aluno " + nome[i]);

System.out.println("Fone " + fone[i]);

(16)

Exercício 2: montar um programa que receba

nome e fone, através de parâmetros, de duas

pessoas (utilize matriz).

COMANDOS

public class exerstr3 {

public static void main(String args[]){

String aluno[] []= new String[2][2];

aluno[0] [0]= args[0];

aluno[0] [1]= args[1];

aluno[1] [0]= args[2];

aluno[1] [1]= args[3];

for (int i=0;i<2;i++) {

System.out.println("Aluno " + aluno [i] [0]);

System.out.println("Fone " + aluno [i] [1]);

(17)

Comandos para exceções

COMANDOS

Tratam de comandos que cuidam dos erros que ocorrem

durante a execução e não ocorrem durante a compilação.

Capturando exceções:

try {

// onde pode ocorrer o erro

{

catch (Exception e) {

// o que fazer se ocorrer o erro

}

finally {

// este bloco ocorre independente de ocorrer o erro ou

não, este bloco é opcional

(18)

Comandos para exceções

COMANDOS

Exemplo 1:

public class excecaotry {

public static void main(String args[]) {

String aluno[] []= new String[2][2];

try {

aluno[0] [0]= args[0];

aluno[0] [1]= args[1];

aluno[1] [0]= args[2];

aluno[1] [1]= args[3];

} catch (Exception e){

System.out.println("Parâmetro inclompleto");

System.out.close();

}

for (int i=0;i<2;i++) {

System.out.println("Aluno " + aluno [i] [0]);

System.out.println("Fone " + aluno [i] [1]);

(19)

Comandos para exceções

COMANDOS

Exemplo 2:

public class excecaotry2{

public static void main(String args[]){

int nota=10;

int div=0;

int resultado=0;

try{

resultado=nota/div;

}

catch (Exception e)

{

System.out.println("Falhou - " +e);

}

finally {

System.out.println("Nota: " + nota);

System.out.close();

}

(20)

Classe: “... é um modelo para a criação de objetos de

determinados tipos a partir de um sistema real ou imaginário.

Ela pode conter dados (atributos) e funcionalidades

(métodos). A partir de uma classe, podemos criar instâncias

de objetos com características semelhantes.” (OZIEL, 2004).

(21)

Variável de Instância (atributos de objeto)

class Pessoa {

private int pessoa_id;

private String cpf;

private String nome;

private java.util.Date nascimento;

}

ORIENTAÇÃO A OBJETOS

pessoa e cpf (primitiva)

nome e nascimento (referência)

Uma “variável de instância” pode ser reconhecida:

• Quando é declarada dentro de uma classe e

• Quando não utilizamos o modificador Static.

(22)

Instância de um Objeto

public class instobj{

public static void main (String args[]) {

pessoa aluno1 = new pessoa();

System.out.println ("Ref. aluno1: " +

aluno1);

pessoa aluno2 = new pessoa();

System.out.println ("Ref. aluno2: " +

aluno2);

}}

(23)

Outro exemplo

class boletim{double media;String aluno;}

public class preencherboletim {

public static void main(String args[]){

boletim boletim1 = new boletim();

boletim1.media = 5;

boletim1.aluno = "João";

System.out.println(boletim1);

System.out.println("Aluno: " + boletim1.aluno);

System.out.println("Media: " + boletim1.media);

boletim boletim2 = new boletim();

boletim2.media = 7;

boletim2.aluno = "Maria";

System.out.println(boletim1);

System.out.println("Aluno: " + boletim2.aluno);

System.out.println("Media: " + boletim2.media);}}

Variável de referência

ORIENTAÇÃO A OBJETOS

(24)

Exercício

Crie uma classe chamada Produto com as

seguintes variáveis de instâncias: descricao,

valor, codigo e marca. Crie a classe pública

exerclass e instancie três objetos da classe

Produto.

(25)

Solução

class Produto {

public String descricao;

public int codigo;

public String marca;

public float valor;

}

public class exerclass{

public static void main(String args[]){

Produto p1 = new Produto();

p1.descricao="Pilha";

p1.codigo=1;

p1.marca="Duracell";

p1.valor = 5.95F;

System.out.println("P1:" + p1.descricao + " - " + p1.valor);}}

(26)

Encapsulamento: permite o controle do nível

de acesso que o objeto pode possuir em

relação aos outros objetos.

ORIENTAÇÃO A OBJETOS

NOTAS

+ obterdiscip (in disciplina: string):string

+ alterardiscip(in disciplina :string):string

+lancarfalta(qtde:integer):integer

Accessor

Method

Mutator

Method

-disciplina:string

-nota1:double

- nota2:double

- falta:integer

Worker

Methods

(27)

Exemplos do uso dos métodos citados:

// Accessor

public String obterdiscip(){

return disciplina;}

// Mutator

public void alterardiscip(String disciplina){

this.disciplina = disciplina;}

// Worker

public void lancarfalta(int qtde){

this.falta += qtde;}

(28)

Usando métodos nas classes

Primeiro criamos a classe e os atributos

class boletim {

private String nome;

private int faltas;

private double nota1;

private double nota2;

(29)

Usando métodos nas classes

Segundo: criamos os métodos

ACCESSOR

public String getNome(){

return nome;

}

public double getMedia(){

double media = 0.00F;

return media = (nota1+nota2)/2;

}

public int getFaltas(){

return faltas;

}

(30)

Usando métodos nas classes

Segundo: criamos os métodos

MUTATOR

public void setNome(String n){

nome = n;

}

public void setNotas(double n1, double n2){

nota1 = n1;

nota2 = n2;

}

(31)

Usando métodos nas classes

Terceiro: criamos os métodos

WORKER

public void lancafalta(int f){

this.faltas += f;

}

}

(32)

Usando métodos nas classes

Quarto: criamos a classe pública e o método main

public class usarboletim {

public static void main (String args[]){

boletim boletim1 = new boletim();

boletim1.setNome("ABC");

boletim1.setNotas(5, 7);

boletim1.lancafalta(2);

System.out.println("Nome: " + boletim1.getNome());

System.out.println("Média: " + boletim1.getMedia());

System.out.println("Faltas: " + boletim1.getFaltas());

}

}

ORIENTAÇÃO A OBJETOS

(33)

Construtores

O que é: um método que não possui tipo de retorno

e recebe o nome da classe que o contém.

Sua função: permitir a passagem de parâmetros

para a instância de um objeto no ato de sua

construção (new).

OBS.: TODA CLASSE JAVA DEVE POSSUIR AO

MENOS UM CONSTRUTOR

(34)

Construtores

Poderíamos alterar a nossa classe boletim para:

class boletim {

private String nome;

private int faltas;

private double nota1;

private double nota2;

public boletim(){

faltas = 0;

nota2 = 1;

} (...)

(35)

Ou assim:

class boletim {

private String nome;

private int faltas;

private double nota1;

private double nota2;

public java.util.Date dtlancamento;

public boletim(){

faltas=0;

nota2=1;

dtlancamento= new java.util.Date();

} (...)

(36)

Ou ainda com parâmetros

Então, criamos a classe e os atributos:

class boletim {

private String nome;

private int faltas;

private double nota1;

private double nota2;

public java.util.Date dtlancamento;

(37)

Criamos o construtor

public boletim(String n, int f, double n1, double n2)

{

nome = n;

faltas=f;

nota1=n1;

nota2=n2;

dtlancamento= new java.util.Date();

}

(38)

Os métodos permanecem os mesmos:

public String getNome(){return nome;}

public double getMedia(){double media = 0.00F;

return media = (nota1+nota2)/2;}

public int getFaltas(){return faltas;}

public void setNome(String n){nome = n;}

public void setNotas(double n1, double n2){nota1

= n1;

nota2 = n2;}

public void lancafalta(int f){this.faltas += f; }}

(39)

Criamos a classe pública e o método main

public class boletimconstrutor {

public static void main (String args[]){

boletim boletim1 = new boletim("cba",3,8,7);

System.out.println("Nome: " + boletim1.getNome());

System.out.println("Média: " + boletim1.getMedia());

System.out.println("Faltas: " + boletim1.getFaltas());

System.out.println("Data: " + boletim1.dtlancamento);}}

(40)

Herança

É a possibilidade de retirar características, em

comum, de algumas classes e montar então uma

superclasse ou classe-base.

Possibilita altos índices de reaproveitamento de

códigos.

SEM HERANÇA:

(41)

Herança

COM HERANÇA

ORIENTAÇÃO A OBJETOS

Conta

•Nº Conta

•Saldo

•NomedoCliente

Especial

•Limite

Poupança

•Taxa

SUPER CLASSE OU

CLASSE-BASE

ESPECIALIZAÇÃ

O

(42)

Herança

COM HERANÇA

ORIENTAÇÃO A OBJETOS

Conta

•Nº Conta

•Saldo

•NomedoCliente

Especial

•Limite

Poupança

•Taxa

GENERALIZAÇÃ

O

(43)

Herança

PARA NÃO ESQUECER DE HERANÇA

(44)

Herança – 1. Criamos a SuperClasse e o

Construtor

class Produto {

private int codigo;

private double preco;

private String descricao;

public Produto (int codigo, double preco, String

descricao){

this.codigo = codigo;

this.preco = preco;

this.descricao = descricao; }

(45)

Herança – 2. Métodos da SuperClasse

public int getCodigo(){

return codigo;

}

public double getPreco(){

return preco;

}

public String getDescricao(){

return descricao;

}

}

(46)

Herança – 3. A Subclasse e o seu Construtor

class Livro

extends Produto

{

private String autor;

private String isbn;

public Livro (int codigo, double preco, String

descricao, String autor, String isbn){

super(codigo, preco, descricao);

this.autor = autor;

this.isbn = isbn;

}

(47)

Herança – 4. Os métodos da primeira

subclasse

public String getAutor(){

return autor;

}

public String getISBN(){

return isbn;

}

}

(48)

Herança – 5. A Subclasse e o seu Construtor

class CompactDisc

extends Produto

{

private String artista;

private String gravadora;

public CompactDisc (int codigo, double preco,

String descricao, String artista, String gravadora){

super(codigo, preco, descricao);

this.artista = artista;

this.gravadora = gravadora;

}

(49)

Herança – 6. Os métodos da segunda

subclasse

public String getArtista(){

return artista;

}

public String getGravadora(){

return gravadora;

}

}

(50)

Herança – 7. Criar a classe principal e o

método main – Instanciando os objetos

public class testeheranca{

public static void main (String args[]){

Livro livro = new Livro(1, 55, "Aprenda Java",

"Braufagélio", "010102");

System.out.println("Código:" + livro.getCodigo());

System.out.println("Descricao:" + livro.getDescricao());

System.out.println("Preço:" + livro.getPreco());

System.out.println("Autor:" + livro.getAutor());

System.out.println("ISBN:" + livro.getISBN());

ORIENTAÇÃO A OBJETOS

(51)

Herança – 8. Continuação do método main

System.out.println();

CompactDisc cd = new CompactDisc(2, 20, "Rock

Nacional", "Um monte", "Brasil Records");

System.out.println("Codigo:" + cd.getCodigo());

System.out.println("Descricao:" + cd.getDescricao());

System.out.println("Preco:" + cd.getPreco());

System.out.println("Artista:" + cd.getArtista());

System.out.println("Gravadora:”+cd.getGravadora());

}

}

ORIENTAÇÃO A OBJETOS

(52)

Polimorfismo

(53)

Polimorfismo

É o principio pelo qual, a partir de uma subclasse,

instanciamos objetos utilizando referências de uma

superclasse.

Sem Polimorfismo

Livro livro = new Livro(1, 55, "Aprenda Java",

"Braufagélio", "010102");

Com Polimorfismo

Produto livro = new Livro(1, 55, "Aprenda Java",

"Braufagélio", "010102");

(54)

Polimorfismo – 1. Criando a Superclasse, o

construtor e os métodos

class conta{

private double saldo;

public conta (double saldo) {

this.saldo = saldo; }

public void debito (double valor){

saldo -= valor; }

public void credito(double valor){

saldo += valor; }

public double getSaldo(){

return saldo; }

}

(55)

Polimorfismo – 2. Criando a primeira

Subclasse e o seu construtor

class contaespecial

extends conta

{

private double limite;

public contaespecial(double saldo,

double limite){

super(saldo);

this.limite = limite;}

(56)

Polimorfismo – 3. Criando os métodos da primeira

Subclasse

public void debito(double valor){

if (super.getSaldo()>0) {

super.debito(valor);

}

else

{

limite -= valor;

}

}

public double getSaldo(){

return super.getSaldo() + limite;

}

}

(57)

Polimorfismo – 4. Criando a segunda

Subclasse e o seu construtor

class poupanca

extends conta

{

private double juros;

public poupanca(double saldo, double juros){

super(saldo);

this.juros = juros;

}

(58)

Polimorfismo – 5. Criando o método da

segunda Subclasse

public void credito(double valor){

double valorcredito = (super.getSaldo() * juros)

+ valor;

super.credito(valorcredito);

}

}

(59)

Polimorfismo – 6. Criando a classe pública e o

método main

public class testepolimorfismo{

public static void main (String args[]){

conta c1 = new poupanca(100.00, 0.1);

c1.debito(50);

c1.credito(15);

System.out.println("Saldo: " +

c1.getSaldo());

(60)

Polimorfismo – 7. continuação

System.out.println();

conta c2 = new contaespecial(100.00, 200.00);

c2.debito(50);

c2.credito(15);

System.out.println("Saldo: " + c2.getSaldo());

System.out.println();

}

}

ORIENTAÇÃO A OBJETOS

(61)

Pacotes – um pouco de organização

1º-) Altere a variável Classpath para: d:\pacotes

2º-) Crie na unidade D: uma pasta chamada pacotes

3º-) Dentro da pasta pacote

- copie o arquivo testeheranca.java

- crie uma pasta chamada editora

(62)

Pacotes – um pouco de organização

4º-) Para cada classe existente (Produto,

CompactDisc e Livro) no arquivo testeheranca crie

um arquivo .class separado com o nome da sua

classe, todos dentro da pasta editora.

5º-) No arquivo testeheranca, deixe somente a

classe testeheranca, permanecendo na pasta

pacote

(63)

Pacotes – um pouco de organização

ORIENTAÇÃO A OBJETOS

(64)

Pacotes – um pouco de organização

6º-) Entre em cada arquivo que está na pasta Editora

e :

- insira na primeira linha o seguinte comando:

package editora;

- altere o modificador da classe para “public”

7º-) No arquivo “testeheranca”, adicione na primeira

linha o seguinte comando:

import editora.*;

(65)

Últimos detalhes

import editora.*;

public class testeheranca{

public static void main (String args[]){

int vcod =

Integer.parseInt(javax.swing.JOptionPane.showInputDialog("Digite o

código"));

String vdesc = javax.swing.JOptionPane.showInputDialog("Digite o

titulo");

double vpreco =

Double.parseDouble(javax.swing.JOptionPane.showInputDialog("Digite o

preço"));

String vautor = javax.swing.JOptionPane.showInputDialog("Digite o

autor");

String visbn = javax.swing.JOptionPane.showInputDialog("Digite o

ISBN");

Livro livro = new Livro(vcod, vpreco, vdesc,vautor, visbn);}}

(66)

PROVA!!!!!

E-mail: ibiapabasp@ibiapabasp.com.br

Fone: 9615-1212

BOM FINAL DE SEMANA E ATÉ

UMA PRÓXIMA

Referências

Documentos relacionados

...11 FUNÇÃO AUTOMÁTICA ...11 COZINHAR COM UM TOQUE ...12 BLOQUEIO PARA CRIANÇAS ...13 PARAR O FORNO QUANDO ESTIVER EM FUNCIONAMENTO ...13 ESTABELECER O MODO DE POUPANÇA DE

Sistema de Apoio: 2 crianças apadrinhadas por família, distribuição mensal de cesta básica alimentar, matriculas, uniformes, material escolar e cuidados de saúde quando necessário

Las Casas (2009) também diz que deve ser passada para os funcionários a importância de servir o consumidor, com o propósito de satisfazê-lo, mas que não seja

1) O atendimento de nossos clientes é realizado por empregados da XP Investimentos CCTVM S/A (“XP Investimentos ou XP”) ou por agentes autônomos de investimento que

A diferença entre o que os cristãos reconhecem como cura pela graça divina e a terapia Reiki é também evidente nos termos básicos usados pelos defensores do Reiki para descrever o que

Enquanto desciam a Avenida, DAVID repara que BELA – sua ex-namorada e que, antes de Natal, contra a sua vontade, terminara a relação que já levava dois anos – se encon- trava a

O arquivo deve ter a extensao .ini ARQ-INI- PROCTRANS: é o nome do arquivo de configuração de serviço do PROCTRANS (geralmente, fica na pasta \JSL\ProcTrans). O arquivo deve ter

Por exemplo, colocação pela primeira vez de produtos na internet para uma linha de produtos é uma inovação, no entanto a colocação na internet pela segunda vez,