Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Strings Professor: Saulo Henrique Cabral Silva STRINGS 2 String - Fundamentos • Um Literal (char) é um valor inteiro representado como caractere entre aspas simples: ‘s’ Char[ ] String • Tabela ASCII 3 Tabela ASCII int a = 72; char b = (char) a; 4 String – Declarando... • Uma String pode incluir letras, dígitos e caracteres especiais. • Os literais da String são escritos como uma sequência de caracteres entre aspas duplas. – String nome = “Saulo”; – char charVet [ ] = {‘S’, ‘a’, ‘u’, ‘l’, ‘o’}; String nome = new String (charVet); – String nome = new String(); – String nome = “”; 5 String – Métodos (length, charAt, getChars) • length, retorna o comprimento de uma String. – Quantos caracteres a mesma possui... • charAt, obtêm o caractere em uma localização específica em uma String. • getChars, recuperam um conjunto de caracteres de uma String como um array char. Faça um teste para: “IFMG” *getChars(inicioStr,fimStr,arrayChar,inicioArray) 6 String – Comparando-as String nome1 = “saulo”; String nome2 = “Saulo”; A comparação da variável nome1 com nome2 deveria ser verdadeira??? 7 String – Comparando-as • equals retorna um booleano. Efetua a verificação se a String possui exatamente a mesma sequencia de caracteres. • equalsIgnoreCase Semelhante ao equals, no entanto ignora o fato de case-sensitive. • copareTo Compara duas Strings conforme a sua lexicografia. O retorno é um inteiro onde: 0 indica que as Strings são iguais; valores maiores que 0 indicam que a primeira String é maior que a segunda; valores menores que 0 indicam que a primeira String é menor que a segunda. 8 String – Extraindo Substrings de strings • Java oferece dois métodos que permitem a extração de uma substring, à partir de uma String mãe. • Vejamos: String escola = “Instituto Federal”; String fed = escola.substring(10); String esc = escola.substring(0,9); 9 String - Concatenando • Java fornece duas maneiras de se realizar a concatenação entre duas Strings... – o método concat, retorna uma String que contêm os caracteres de ambas as Strings originais. – A operação +, retorna uma String que contêm os caracteres de cada uma das Strings. String inst = “Instituto ”; String fed = “Federal”; String st1 = inst.concat(fed); String st2 = inst + fed; 10 String – Métodos Verificadores • Java oferece métodos de verificações para as Strings. – contains, retorna um booleano indicando se uma String específica (passada como parâmetro) esta contida (presente) na String em questão. – startsWith, retorna um booleano indicando se a String em questão inicia com uma String específica (passada como parâmetro). – endsWith, retorna um booleano indicando se a String em questão termina com uma String específica (passada como parâmetro). String palavra = “começando”; palavra.contains(“ç”) palavra.startsWith(“com”) palavra.endsWith(“ando”) 11 String – Outros Métodos de String • Java oferece métodos que retornam cópias modificadas de Strings ou que retornam arrays de caracteres. – replace, retorna uma nova String em que cada ocorrência informada como primeiro parâmetro, é substituída pela String informada no segundo parâmetro. – toUpperCase, retorna uma nova String com APENAS letras maiúsculas. – toLowerCase, retorna uma nova String com APENAS letras minúsculas. – trim, retorna uma nova String que remove todos os caracteres em branco no início e no fim da String em questão. String palavra = “Saulo”; String nova1 = palavra.replace(“S”,”s”); String nova2 = palavra.toUpperCase( ); String nova3 = palavra.toLowerCase( ); String nova4 = palavra.trim( ); 12 String – Outros Métodos de String • split, divide uma String em “Tokens”. Tokens em sua essência são separados entre si por delimitadores. O método em questão retorna um array de Tokens (Strings). String ifmg = “Instituto Federal de Minas Gerais”; String vet[ ] = ifmg.split(“ ”); 13 String – Outros Métodos de String • indexOf, retorna o índice (posição) da ocorrência de uma String especificada como parâmetro. Caso não exista ocorrência da String especificada, o retorno deste método é igual a -1; String ifmg = “Instituto Federal de Minas Gerais”; int pos = ifmg.indexOf(“Mi”); System.out.print(pos); pos = ifmg.indexOf(“Mi”, 20); Qual o valor mostrado??? Lista de cores para saída do System.out • Como Utilizar: String t = "\u001B[30m texto aqui“; • Cores a serem utilizadas: – – – – – – "\u001B[30m" "\u001B[31m" "\u001B[32m" "\u001B[33m" "\u001B[34m" "\u001B[35m" preto vermelho verde amarelo azul roxo EXERCÍCIOS 16 Exercício 1 • Leia uma String e faça a impressão dessa String na seguinte ordem: o t u t Entrada Instituto Saída i t s n I • As vogais devem ser impressas com letras Vermelhas 17 Exercício 2 • Leia uma String e verifique se a mesma possui uma das 5 primeiras letras do alfabeto. ABCDE 18 Exercício 3 • Leia uma String e conte quantas palavras estão presentes na mesma. entrada: Instituto Federal de Minas Gerais saída: 5 palavras 19 Exercício 4 • Escreva um programa que recebe uma String informada pelo usuário e um letra (String) de pesquisa. Após isto, ele determinar o número de ocorrências do caractere na linha informada pelo usuário. IFMG 20 Exercício 5 • Escreva um programa que faça a leitura de um número de telefone como uma String na forma (xx)xxxx-xxxx. O programa deve extrair o código de área, os primeiros dígitos do telefone e os últimos dígitos. Cada informação em uma String diferente. 21