1. Operação básica de leitura e saída de string
import java.util.Scanner;
public class Stringg {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String line = in.nextLine();//字符串输入
System.out.println(line);
}
}
2. Uso da classe String
- Quatro estruturas da classe String (apenas três são listadas, e há outra estrutura de bytes que não é comumente usada)
public class Stringg {
public static void main(String[] args) {
//第一种:直接赋值
String l1 = "ywq";
System.out.println("l1:"+l1);
//第二种:无参构造
String l2 = new String();
l2 = "ywq";
System.out.println("l2:"+l2);
//第三种:传进字符数组
char[] m= {
'y','w','q'};
String l3 = new String(m);
System.out.println("l3:"+l3);
}
}
2. Comparação de strings
public class Stringg {
public static void main(String[] args) {
char[] ch = {
'a','b','c'};
String y = "abc";
String w = "abc";
String q = new String(ch);
String l = new String(ch);
//第一种:使用==进行比较,其比较的是地址值
System.out.println(y == w);
System.out.println(q == l);
//第二种:使用equals进行比较,其比较的是字符串的值
System.out.println(y.equals(w));
System.out.println(q.equals(l));
}
}
true
false
true
true
Aqui, temos que falar sobre as características estruturais de String. Se você usar atribuição direta para construir, se a atribuição de dois objetos String for a mesma, seus valores de endereço de armazenamento também serão os mesmos, então y = = w produzirá true.
Exemplo: comparação de entrada de senha de usuário
import java.util.Scanner;
public class Stringg {
public static void main(String[] args) {
String rightmima = "ywqwan";
Scanner in = new Scanner(System.in);
for(int i=0;i<3;i++)
{
String shu = in.nextLine();
if(rightmima.equals(shu)&&i<3)
{
System.out.println("成功登入");
break;
}else if(!rightmima.equals(shu)&&i<2)
{
System.out.println("密码错误,请再次输入密码");
}else
{
System.out.println("密码错误达到最大次数,无法验证");
}
}
}
}
3. Traversal de strings (usando a função de membro charAt)
public class Stringg {
public static void main(String[] args) {
String love = "ywqwan";
for (int i = 0; i < love.length(); i++) {
System.out.println(love.charAt(i));
}
}
}