Algoritmos e Estruturas de Dados I Strings, Registros e Vetores (Arrays) Orivaldo Santana Jr ovsj@cin.ufpe.br
Roteiro Strings em Java Conceito de Registro Registro na linguagem Java Vetor de Registros Exercícios Observação: Este material esta baseado no material da professora Isabel Manssour 2
Strings Um caractere é uma letra, um numeral, uma pontuação ou um símbolo Um string consiste em um conjunto de caracteres, sendo, portanto, utilizado para armazenar textos em geral 3
Strings em Java Declaração e utilização; String nome; nome = new String( João ); nome = Mario ; nome = nome + Silva ; 4
Strings em Java Comparação: String nome1, nome2; nome1 = new String( João ); nome2 = new String( José ); 5
Strings em Java Comparação: String nome1, nome2; nome1 = new String( João ); nome2 = new String( José ); if (nome1.equals(nome2)) { System.out.println( nome1+" igual a "+nome2 ); } 6
Strings em Java Leitura do teclado String nome, endereco; Scanner entrada = new Scanner(System.in); System.out.print("Escreva o nome: "); nome = entrada.nextline(); System.out.print("Escreva o endereço: "); endereco = entrada.nextline(); 7
Conceito de Registro Problemas reais Temos coleção de dados que são de tipos diferentes Exemplo: ficha de cadastro de cliente Nome: string Endereço: string Telefone: string Salário: float Idade: int Ficha Nome: Endereço: Telefone: Salário: Idade: 8
Conceito de Registro Tipo de dado estruturado de maneira heterogênea; Coleção de variáveis referenciadas sobre o mesmo nome; Permite agrupar dados de diferentes tipos numa mesma estrutura: Cada componente de um registro pode ser de um tipo diferente (int, char, ) Estes componentes são referenciados por um nome 9
Conceito de Registro Os elementos do registro São chamados de campos registro É utilizado para armazenar informações de um mesmo objeto Exemplos: Carro cor, marca, ano, placa, chassi Pessoa nome, idade, endereço 10
Conceito de Registro Campo Contem uma informação particular sobre o objeto Exemplo: nome Registro Conjunto de campos relacionados Exemplo: nome, endereço, telefone, salário e idade de uma pessoa 11
Registro na Linguagem Java Java não possui um elemento registro como em outras linguagens (C/C++, pascal) Possui o elemento classe que pode ser utilizado como um registro Sintaxe: public class NomeDoRegistro { public TipoA campo1; public TipoB campo2;... } 12
Registro na Linguagem Java Como definir a ficha do cliente na sintaxe de Java? Nome: string Endereço: string Telefone: string Salário: float Idade: int 13
Registro na Linguagem Java Como definir a ficha do cliente na sintaxe de Java? Nome: string Endereço: string Telefone: string Salário: float Idade: int public class Cliente { public String nome; public String endereco; public String telefone; public float salario; public int idade; } 14
Registro na Linguagem Java Como utilizar: Cliente c = new Cliente(); c.nome = "José Silva"; c.endereco = "Av. Recife"; c.telefone = "3322 2345"; c.salario = 3000.00; c.idade = 40; 15
Vetor de Registros Vetor é uma estrutura de dados capaz de armazena um conjunto de elementos do mesmo tipo; Cada elemento do vetor esta associado a um índice; Permite acesso direto ao elemento através de um índice; 16
Vetor de Registros Definição um vetor de registros em Java: Cliente[] clientes; clientes = new Cliente[quantidade]; A palavra quantidade pode ser substituída por um número inteiro ou pode ser declarada anteriormente como do tipo inteiro; 17
Vetor de Registros Utilização de um vetor de registros em Java: Cliente c = new Cliente(); c.nome = "José Silva"; c.endereco = "Av. Recife"; c.telefone = "3322 2345"; c.salario = 3000.00; c.idade = 40; clientes[indice] = c; A palavra indice pode ser substituída por um número inteiro ou pode ser declarada anteriormente como do tipo inteiro; 18
Vetor de Registros Acesso aos elementos de um vetor de registros em Java: clientes[indice].nome = "José Silva"; clientes[indice].endereco = "Av. Recife"; clientes[indice].telefone = "3322 2345"; clientes[indice].salario = 3000.00; clientes[indice].idade = 40; 19
Exercício Criar um mini sistema de cadastramento de clientes, com os seguintes requisitos: Deve conter um módulo de cadastramento de um cliente; Deve conter um módulo de visualização de um cliente; Deve conter um módulo para visualizar os dados de todos os clientes; Permitir que o usuário possa escolher uma das ações desempenhadas por estes módulos; 20