字符串是
Java
开发中最常用的数据类型,它是双引号括起来的一系列字符的组合。例如:
"hello world",
"
请输入密码
"
等。 在Java
中,
String
类、
StringBuffer
类、
StringBuilder
类都能表示字符串。
1、String类
String
是
Java
中最常用的字符串类,双引号括起来的数据都是
String
类的对象。
因为
String
类是
java.lang
包中的类,所以使用的时候无需导包。
String
是不可变字符串类
,不可变指的是字符串对象一旦创建,它的内容和长度是不可以修改的。
String
的底层用的是字符数组(
char[]
),
JDK9
之后
String
底层用的是字节数组(
byte[]
)。
字符和数字的对应关系通过
(
ASCII码表);小写的a表示的数字
是
97
,大写的
A表示的数字
是
65
。
a
和
A
差
32
。
2、字符串的比较
==
是关系运算符,用来比较等于号两边是否相等。
基本类型:比较的是
值
是否相等
引用类型:比较的是
地址
是否相等。
==
只负责比较,等号两侧放的是值就比较值,放的是地址,就比较地址。
实际开发中:判断字符串是否相等,指的是内容是否相等,而不是内存地址是否相等。
判断字符串内容是否相等使用
equals
方法。
如果要
忽略大小写比较
的话,使用
equalsIgnoreCase
方法。
例如:判断验证码是否正确。比较内容是否相等的场景都可以使用。
实例演示:
public static void main(String[] args) {
String username = "zhangsan";
String password = "1234";
Scanner sc=new Scanner(System.in);
//三次输入密码的机会,三次输入不成功后不可输入
for(int i = 0; i < 3; i++) {
System.out.println("请输入用户名");
String u = sc.nextLine();
System.out.println("请输入密码");
String p = sc.nextLine();
//使用equals方法判断,用户名和密码内容是否相等
if(u.equals(username) && p.equals(password)) {
System.out.println("登录成功!");
break;
}else {
System.out.println("用户或者密码输入错误!请重新输入用户名或者密码!");
}
}
}
字符串里面的方法
获取字符串长度 public int length() //获取当前字符串的长度,即多少个字符。
public static void main(String[] args) {
String str = "hello";
System.out.println(str.length()); // 里面有五个字符5,返回结果是5
}
获取字符串中指定位置的字符
public
char
charAt
(
int
index
)
//
获取指定下标的字符。下标从
0
开始,最大下标是 length()-1
public static void main(String[] args) {
String str = "hello蓝鸥";
char c1 = str.charAt(3);
char c2 = str.charAt(5);
System.out.println(c1); // L
System.out.println(c2); //蓝
}
遍历字符串
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一段文字:");
String str = sc.nextLine();
for(int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
System.out.println(c);
}
}
字符串拼接
public
String
concat
(
String
str
)
//
返回一个由当前字符串和参数
str
拼接而成的新字符串。
当前字符串内容不变。
+
//"+"
也可以做字符串拼接。推荐使用
+
public static void main(String[] args) {
String str1 = "hello";
String str2 = str1.concat("lanou");
System.out.println("str1:" + str1);//当前字符串内容不会发生改变。
System.out.println("str2:" + str2); //推荐使用 + 进行拼接。 不仅能拼接字符串,还能拼接其他基
本数据类型的数据。