linguagem de programação iii profa. msc. cintia carvalho oliveira doutoranda em ciência da...

24
Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel em Ciência da Computação - UFJF

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Linguagem de Programação III

Profa. Msc. Cintia Carvalho OliveiraDoutoranda em Ciência da Computação - UFU

Mestre em Ciência da Computação – UFU

Bacharel em Ciência da Computação - UFJF

Page 2: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Strings

Concatenação Operador “+”

Substring String saudacao = “Bem vindo”; String s = saudacao.substring(0, 3);

Tamanho da String int n = saudacao.length();

Comparação s.equals(t); “Ola”.equals(t); “Ola”.equalsIgnoreCase(“Ola”);

Page 3: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Leitura de Dados

Antes do Java 5

Page 4: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Leitura de Dados

Page 5: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Diferença

Page 6: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Calculadora Financeira

Calcule o custo de um financiamento:

pagamento =

Page 7: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Controle de Fluxo

Sintaxe

if ( condição booleana ) { bloco } else { bloco }

Podemos concatenar expressões booleanas com

E && e

OU ||

Page 8: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Exemplo

Verificar se alguém tem menos de 18 anos e não é amigo do dono

Page 9: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Estruturas de repetição while ( condição booleana ) { bloco }

do { bloco } while ( condição booleana )

Exercícios:

1. Imprima todos os números de 150 a 300

2. Imprima todos os múltiplos de 3, entre 1 e 1000

3. Imprima os fatoriais de 1 a 10

O fatorial de um número n é n x (n-1) x (n-2) x ... x 1

O fatorial de 0 é 1

O fatorial de 1 é 1

O fatorial de 2 é 2

O fatorial de 3 é 6 ...

Page 10: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Estruturas de Repetição

for ( contador; condição booleana; contador) { bloco }

switch ( opcao ) {

case 1: ... break;

default: ... break;

}

Exercício (desafio) Imprima a seguinte tabela usando fors encadeados:

1

2 4

3 6 9

n nx2 nx3 nx4 ... nxn

Page 11: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Breaks rotuladosint n;

ler_dados: //identificação do laço

while (...){

...

for (...){

n = input.nextInt();

if ( n < 0) //nunca deveria acontecer

break ler_dados; // sai do laço de leitura de dados, ler_dados

}

}

if ( n <0 )

//lida com a situação inválida

else

//entrada de dados foi normal

Page 12: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Continue

Page 13: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Escopo de variável

Page 14: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Métodos e Variáveis de Classe

Os métodos e variáveis de classe utilizam a palavra reservada static em sua assinatura.

Exemplo:

public static long multiplicacao ( int valor1, int valor2)

private static double taxa = 11.0;

Como um método chama outro da mesma classe:

long mult = multiplicacao(num1, num2);

Um método chamando outro da classe Operacoes

long mult = Operacoes.multiplicacao(num1, num2);

Page 15: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Métodos e Variáveis de Classe

Page 16: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Array

Page 17: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Utilizando array

//Cria espaço para o array

Page 18: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Inicializador de array

//lista de inicializadores

Page 19: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Colocando valores em array

Page 20: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Arrays como argumentosArrays multidimensionais

Os arrays em Java são na verdade referências oculta, um método pode mudar os elementos do array.

Arrays multidimensionais:

double[][] balanco = new double[5][6];

balanco[i][j] = 1000.5;

Page 21: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Quiz – Certificação SCJP 6

Assinale a alternativa que indica quais dos arrays abaixo estão com a sintaxe correta de declaração e/ou inicialização.

int array1[] = new int[10];

int[] array2 = new int[];

int array3[] = new int[];

int[] array4 = new int[2]{1, 2};

int[] array5 = new int[]{1, 2};

int[] array6 = int[10];

int[] array7 = new int[1, 2, 3];

int array8[] = new int[1, 2, 3];

A. array1, array2 e array 4

B. array 6 e array 7

C. array 2, array 3, array8

D. array1 e array5

E. array6

Page 22: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Exercício

Role um dado 1000 vezes, e veja a frequência com que cada número é sorteado e imprima.

Random numRandom = new Random();

int num = numRandom.nextInt(6);

Page 23: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Exercício 2

Teste de multiplicação

O programa deverá perguntar a um aluno qual o resultado da multiplicação entre dois números inteiros randômicos de 0 a 20.

Se o aluno acertar imprima “Muito bem” ou “Excelente” ou “Bom trabalho” ou “Continue o bom trabalho”.

Caso o aluno erre imprima “Errado, tente novamente”, ou “Não. Tente novamente” ou “Não desista”, “Não. Continue tentando” e exiba novamente a operação.

Page 24: Linguagem de Programação III Profa. Msc. Cintia Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação – UFU Bacharel

Exercício 3

Preencha uma matriz de 10 por 20 com o resultado da multiplicação de seus índices. E em seguida imprima a matriz.