Upload
jose-augusto-cintra
View
457
Download
2
Embed Size (px)
Citation preview
Linguagem Java Arrays e Strings
Notas de Aula
Prof. José Cintrahttp://www.josecintra.com/blog
Strings e Arrays são estruturas de Dados básicas de toda linguagem de programação.Em Java, elas são implementadas por classes pertencentes ao núcleo da linguagem, ou seja, você não precisa importar nenhum pacote para trabalhar com essas estruturas...
Strings & Arrays - Introdução
2
Parte IStrings
3
Uma String em Java é uma seqüência de caracteres, ou seja , uma palavra, uma frase, etc.
Não possuem limite de tamanho: O limite é a memória do computador
Exemplos:“JAVA”“Curso de Java”“123Java”“123”
Observe que as constantes Strings devem ser delimitadas por aspas duplas
Strings - Conceito
4
Podem ser concatenados com o operador + ou pelo método concat
Exemplo:String s1 = “Palmeiras”;String s2 = “Campeão”;String s3 = s1.concat(“ é “) + s2;
Resultado s3 = “Palmeiras é Campeão”
Strings - Conceito
5
Strings em Java são indexadas a partir do número 0 (zero) até (N – 1) onde N é o tamanho da String (Número de caracteres)
Exemplo:Na String “JAVA”, a letra J está na posição 0 e a
letra V, na posição 2
Strings - Conceitos
6
Algumas formas de criaçãoForma comum de criação de objetos usando o
operador new:String s = new String(“Corinthians”);
Forma simplificada :
String s = “Corinthians”;Ou ainda:
String s;s = “Corinthians”;
Criação de variáveis Strings
7
Length()Retorna o tamanho da string
Exemplo:String s = “Java”;System.out.print(s.length());
Vai imprimir 4
Operações com Strings
8
charAt(int i)Retorna o caracter de índice i
Exemplo:String s = “Java”;System.out.print(s.charAt(2));
Vai imprimir v
Operações com Strings
9
indexOf(char c)Retorna o índice do caracter c
Exemplo:String s = “Java”;System.out.print(s.indexOf(‘v’));
Vai imprimir 2
Operações com Strings
10
SubstringsPode-se extrair uma substring de uma string maior através do método "substring" da classe "String".
Exemplo: String saudacao = "Bom Dia"; String s1 = saudacao.substring(0, 3);
Resultado:s1 = “Bom”
Operações com Strings
11
EqualsVerifica se duas strings são iguais
Exemplo:String s1 = “JAVA”;String s2 = “PHP”;if (s1.equals(s2))
System.out.print(“São iguais”)Else
System.out.print(“São diferentes”)
Vai ser impresso “São diferentes”
Operações com Strings
12
compareTo() Compara 2 strings. É um método que tem um argumento do tipo String e retorna um valor do tipo int.
O valor retornado é:Negativo Quando a cadeia do argumento é
maiorZero Quando a cadeia do argumento é igualPositivo Quando a cadeia do argumento é
menor
Exemplo a seguir
Operações com Strings
13
Exemplo compareTo()
String abc="abc"; String bcd="bcd"; if(abc.compareTo(bcd)== 0) System.out.println("cadeias iguais:"+abc);
if(abc.compareTo(bcd)< 0) System.out.println(abc+ " é menor que "+ bcd);
if(abc.compareTo(bcd)> 0) System.out.println(bcd+ “ é maior que "+abc);
Vai ser impresso abc é menor que bcd
Operações com Strings
14
Como vimos, as variáveis Strings são objetos que possuem vários métodos para manipulação de textos.Nestas aulas vimos alguns deles. Consulte ao manual da linguagem Java para conhecer a API completa.Um ponto importante a observar é que não podemos comparar Strings através do operador “==“, simplemente pelo fato de que este operador irá comparar os endereços dos objetos e não o seu conteúdo.
Strings – Considerações finais
15
Abrevie um nome lido pelo teclado da seguinte forma:
Primeira letra do Primeiro nome + “.” + último nome
Exemplo:
Nome Completo: José de Souza e SilvaNome abreviado: J.Silva
Strings – Exercício Resolvido
16
import java.util.*;public class AbreviaNome { public static void main(String[] args) { Scanner teclado = new Scanner(System.in); System.out.print("Informe o Nome: "); String nome = teclado.nextLine();
String abreviado = "“, primLetra, sobrenome; int ultimoEspaco; primLetra = nome.charAt(0) + "."; ultimoEspaco = nome.lastIndexOf(" "); sobrenome = nome.substring((ultimoEspaco + 1)); abreviado = primLetra + sobrenome; System.out.print("Abreviado = " + abreviado); }}
Strings – Considerações finais
17
Parte IIArrays
18
Um array é um conjunto de variáveis que possuem o mesmo nome, sendo identificadas individualmente por um índice numérico.Em Java, os arrays possuem as seguintes características:1. Todos os elementos são do mesmo tipo,
podendo ser um tipo composto, um objeto de uma classe
2. O tamanho do array é fixo;3. O índice é numérico, do tipo int, variando
de 0 até N-1, N= tamanho do array
Arrays - Conceitos
19
• Para criar um array em Java deve-se:
• Declarar a variável que conterá o array determinando seu nome tipo e quantidade de elementos
• Armazenar dados no array;
Arrays - Declaração
20
• Declaração de um array:• <tipo_array>[] <nome_variável>;
• Onde:• tipo_array: classe ou tipo primitivo da
linguagem;• nome_variável: identificador válido;
Exemplo:int[] vetor;
Arrays - Declaração
21
A criação de arrays pode ser feita de duas formas:1.Utilizando new (usado para criação de objetos)int[] vetor = new int[5]; Declaração e CriaçãoVetor[0] = 12; Vetor[1] = 3; InicializaçãoVetor[2] = 45; Individual dosVetor[3] = 4; ElementosVetor[4] = 100;
2.Inicializando o arrayint[] vetor = {12,3,45,4,100};
Arrays - Criação
22
Os índices dos arrays em Java iniciam em 0 até [tamanho – 1]
int[] vetor = new int[5];
0 1 2 3 4
Vetor de inteiros com 5 posições
Índice variando de 0 até 4
Arrays - Criação
23
0 0 0 0 0
Criar um vetor inteiro com 10 posições e preencha cada elemento com a seguinte regra:• Elementos de posição par com o valor 0;• Elementos de posição ímpar com o valor 1;• Imprimir o vetor
Para percorrermos um array, usamos as estruturas de repetição (for), variando o contador de 0 até N-1 (N= tamanho do vetor)
Resolução
Arrays – Exercício Resolvido
24
Arrays - Exercício Resolvido
25
public class ExemploVetores { public static void main(String[] args) { int[] vet = new int[10]; int conta; for(conta = 0; conta < vet.length; conta++) if(conta % 2 == 0) vet[conta] = 0; else vet[conta] = 1;
for(conta = 0; conta < vet.length; conta++) System.out.print(vet[conta]+ " " ); }}
FIM
26
Material complementar e exercícios resolvidos no blog:
http://www.josecintra.com/blog