O que são Strings?
Uma string em termos literais é uma série de caracteres. Ei, você disse caracteres, não é um tipo de dados primitivo em Java. Sim, então em termos técnicos, o Java String básico é basicamente um array de caracteres.
Portanto, minha string acima de " ROSE " pode ser representada da seguinte forma -
Neste tutorial, você aprenderá-
- O que são Strings?
- Por que usar Strings?
- Exemplos de sintaxe de string
- String Concatenation
- Métodos de string Java importantes
Por que usar Strings?
Uma das funções principais da ciência da computação moderna é o processamento da linguagem humana.
Da mesma forma que os números são importantes para a matemática, os símbolos da linguagem são importantes para o significado e a tomada de decisões. Embora possa não ser visível para os usuários de computador, os computadores processam a linguagem em segundo plano com a mesma precisão e precisão de uma calculadora. Os diálogos de ajuda fornecem instruções. Os menus oferecem opções. E as exibições de dados mostram status, erros e alterações em tempo real no idioma.
Como um programador Java, uma de suas principais ferramentas para armazenar e processar a linguagem será a classe String.
Exemplos de sintaxe de string
Agora, vamos chegar a alguma sintaxe, afinal, precisamos escrever isso em código Java, não é?
String é uma matriz de caracteres, representada como:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
Em termos técnicos, a String é definida como segue no exemplo acima-
= new (argument);
Agora, nem sempre podemos escrever nossas strings como arrays; portanto, podemos definir a String em Java da seguinte maneira:
//Representation of StringString strSample_2 = "ROSE";
Em termos técnicos, o acima é representado como:
= ;
A classe String Java estende a classe Object.
Concatenação de strings:
Concatenação é a união de duas ou mais strings.
Dê uma olhada na imagem abaixo-
Temos duas cordas str1 = “Rock” e str2 = “Star”
Se somarmos essas duas strings, devemos ter um resultado como str3 = “RockStar”.
Verifique o trecho de código abaixo e ele explica os dois métodos para realizar a concatenação de strings.
O primeiro é usar o método “ concat ” da classe String e o segundo é usar o operador aritmético “+”. Ambos resultam na mesma saída
public class Sample_String {public static void main (String [] args) {// String ConcatenationString str1 = "Pedra";String str2 = "Estrela";// Método 1: usando concatString str3 = str1.concat (str2);System.out.println (str3);// Método 2: Usando o operador "+"String str4 = str1 + str2;System.out.println (str4);}}
Métodos de string Java importantes:
Vamos fazer algumas perguntas à classe Java String e ver se ela pode respondê-las;)
Método de "comprimento" da string
Como você determinará o comprimento de determinada String? Eu forneci um método chamado “comprimento”. Use-o contra a corda que você precisa para encontrar o comprimento.
public class Sample_String {public static void main (String [] args) {// Nosso exemplo de string para este tutorialString str_Sample = "RockStar";// Comprimento de uma stringSystem.out.println ("Comprimento da string: + str_Sample.length ());}}
resultado:
Length of String: 8
Método String "indexOf"
Se eu souber o comprimento, como posso descobrir qual personagem está em qual posição? Resumindo, como vou encontrar o índice de um personagem?
Você respondeu a si mesmo, amigo, há um método “indexOf” que o ajudará a determinar a localização de um caractere específico que você especificar.
public class Sample_String {public static void main (String [] args) {// Caractere na posiçãoString str_Sample = "RockStar";System.out.println ("Character at position 5: + str_Sample.charAt (5));// Índice de um determinado personagemSystem.out.println ("Índice do caractere 'S': + str_Sample.indexOf ('S'));}}
Resultado:
Character at position 5: tIndex of character 'S': 4
Método String "charAt"
Semelhante à pergunta acima, dado o índice, como posso saber o personagem naquele local?
Simples de novo !! Use o método “charAt” e forneça o índice cujo caractere você precisa encontrar.
public class Sample_String {public static void main (String [] args) {// Caractere na posiçãoString str_Sample = "RockStar";System.out.println ("Character at position 5: + str_Sample.charAt (5));}}
Resultado:
Character at position 5: t
Método String "CompareTo"
Desejo verificar se a String gerada por algum método é igual a algo que desejo verificar? Como posso comparar duas Strings?
Use o método “compareTo” e especifique a String que deseja comparar.
Use “compareToIgnoreCase” caso não queira que o resultado faça distinção entre maiúsculas e minúsculas.O resultado terá o valor 0 se a string do argumento for igual a esta string; um valor menor que 0 se esta string for lexicograficamente menor que o argumento da string; e um valor maior que 0 se esta string for lexicograficamente maior que o argumento da string.
public class Sample_String {public static void main (String [] args) {// Compare com uma StringString str_Sample = "RockStar";System.out.println ("Comparar com 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Comparar com - Ignorar maiúsculas e minúsculasSystem.out.println ("Comparar com 'ROCKSTAR' - Caso ignorado: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}
Resultado:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
Método String "Contém"
Eu sei parcialmente o que a string deveria conter, como posso confirmar se a string contém uma sequência de caracteres que eu especificar?
Use o método “contém” e especifique os caracteres que você precisa verificar.
Retorna verdadeiro se e somente se esta string contém a seqüência especificada de valores char.public class Sample_String {public static void main (String [] args) {// Verifique se String contém uma sequênciaString str_Sample = "RockStar";System.out.println ("Contém sequência 'tar': + str_Sample.contains ("tar"));}}
Resultado:
Contains sequence 'tar': true
Método String "endsWith"
Como posso confirmar se uma string termina com um sufixo específico? Novamente você respondeu. Use o método “endsWith” e especifique o sufixo nos argumentos.
Retorna verdadeiro se a seqüência de caracteres representada pelo argumento for um sufixo da seqüência de caracteres representada por este objeto.public class Sample_String {public static void main (String [] args) {// Verifique se termina com uma sequência específicaString str_Sample = "RockStar";System.out.println ("EndsWith character 'r': + str_Sample.endsWith ("r"));}}
Resultado:
EndsWith character 'r': true
Método de string "replaceAll" e "replaceFirst"
Eu quero modificar minha String em vários lugares e substituir várias partes da String?
Métodos Java String Replace, replaceAll e replaceFirst. Você pode especificar a parte da String que deseja substituir e a String de substituição nos argumentos.
public class Sample_String {public static void main (String [] args) {// Substitua Rock pela palavra DukeString str_Sample = "RockStar";System.out.println ("Substitua 'Pedra' por 'Duque': + str_Sample.replace ("Pedra", "Duque"));}}
Resultado:
Replace 'Rock' with 'Duke': DukeStar
Método de string Java "tolowercase" e Java "touppercase"
Eu quero que toda a minha string seja mostrada em letras minúsculas ou maiúsculas?
Basta usar os métodos “toLowercase ()” ou “ToUpperCase ()” contra as Strings que precisam ser convertidas.
public class Sample_String {public static void main (String [] args) {// Converter para LowerCaseString str_Sample = "RockStar";System.out.println ("Converter para LowerCase: + str_Sample.toLowerCase ());// Converter para UpperCaseSystem.out.println ("Converter para UpperCase: + str_Sample.toUpperCase ());}}
Resultado:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Pontos importantes a serem observados:
- String é uma classe final ; ou seja, uma vez criado, o valor não pode ser alterado. Assim, os objetos String são chamados de imutáveis.
- A Java Virtual Machine (JVM) cria um local de memória especialmente para Strings chamado String Constant Pool . É por isso que String pode ser inicializada sem a palavra-chave 'nova'.
- A classe String se enquadra na hierarquia java.lang.String . Mas não há necessidade de importar esta classe. A plataforma Java os fornece automaticamente.
- A referência de string pode ser substituída, mas isso não exclui o conteúdo ; ou seja, se
String h1 = "olá";
h1 = "olá" + "mundo";
então a string "olá" não é excluída. Ele simplesmente perde o controle.
- Várias referências podem ser usadas para a mesma String, mas isso ocorrerá no mesmo lugar ; ou seja, se
String h1 = "olá";
String h2 = "olá";
String h3 = "olá";
então, apenas um pool para String “hello” é criado na memória com 3 referências-h1, h2, h3
- Se um número estiver entre aspas “” , ele se tornará uma string , não será mais um número. Isso significa que se
String S1 = "O número é: + "123" + "456";
Sistema. out .println (S1);
então ele irá imprimir: O número é: 123456
Se a inicialização for assim:
String S1 = "O número é: + (123 + 456);
Sistema. out .println (S1);
em seguida, ele imprimirá: O número é: 579 Isso é tudo para Strings!