目录
API
API(Application Programing Interface):应用程序编程接口
字符串
String概述
java.lang.String类表示字符串(创建后不能改变它的值),Java程序中所有字符串文字都为此类的对象
==比较的是什么?
基本数据类型:数据值
引用数据类型:地址值
关于字符串的比较
- boolean equals方法 -----------------------------------------------> 完全一样才是true,否则为false
- boolean equalslgnoreCase方法-------------------------------------> 忽略大小写
字符串代码展示
public class Test14 {
public static void main(String[] args) {
String s1 = new String("abc");
String s2 = "abc";
String s3 = "ABC";
//因为s1和s2是引用数据类型,所以比得是地址值,结果为false
System.out.println(s1==s2);
boolean result1 = s1.equals(s2);
//比较s1和s2的内容 要求完全一样 结果为true
System.out.println(result1);
//比较s1和s3的内容 忽略大小写 abc 和ABC 结果为true
boolean result2 = s1.equalsIgnoreCase(s3);
System.out.println(result2);
}
}
StringBuilder概述
可以将StringBuilder看成是一个容器,创建后里面的内容是可变的。
作用:提高字符串的操作效率
StringBuilder的构造方法
方法名 | 说明 |
---|---|
public StringBuilder() | 创建空白可变字符串对象,不含任何内容 |
public StringBuilder(String str) | 根据字符串内容,创建可变字符串对象 |
StringBuilder的成员方法
方法名 | 说明 |
---|---|
public StringBuilder append() | 添加数据,并返回到对象本身 |
public StringBuilder reverse() | 反转容器里面的内容 |
public int length() | 返回长度(字符出现的个数) |
public String toString() | 通过toString()就可以实现将StringBuilder转换为String |
StringBuilder方法的代码展示
public class Test16 {
public static void main(String[] args) {
//1.创建对象
StringBuilder sb = new StringBuilder("abc");
//2.添加元素
sb.append(1);
sb.append(2.3);
sb.append(true);//结果 = abc12.3true
//3.反转元素
sb.reverse(); //结果 = eurt3.21cba
//4.获取长度
int len = sb.length();
//5.将StringBuilder变回字符串
String str = sb.toString();
System.out.println(str);
//打印
//关于为什么没有打印sb的地址值?
//StringBuilder是Java已经写好的类
//Java在底层对它做了一些特殊处理
//打印对象,不是地址值,而是属性值。
System.out.println(sb);
System.out.println(len);
}
}
StringJoiner概述
StringJoiner和StringBuilder一样,也可以看做一个容器,创建后的内容是可变的。
作用:提高字符串的操作效率,而且编写的代码非常简洁。
出现时间:JDK8才出现
StringJoiner的构造方法
方法名 | 说明 |
---|---|
public StringJoiner(间隔符号) | 创建一个StringJoiner对象,指定拼接时的间隔符号 |
public StringJoiner (间隔符号,开始符号,结束符号) | 创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号。 |
StringJoiner的构造方法
方法名 | 说明 |
---|---|
public StringJoiner add(添加的内容) | 添加数据,并返回对象本身 |
public int length() | 返回长度(字符出现的个数) |
public String toString() | 返回一个字符串(是拼接后的结果) |
StringJoiner方法的代码展示
public StringJoiner(间隔符号)构造方法
public class Test17 {
public static void main(String[] args) {
//1.创建一个对象,并指定中间的间隔符号
StringJoiner sj = new StringJoiner("---");
//2.添加元素 目前只能添加字符串
sj.add("abc").add("def").add("ghi");
//3.打印结果
System.out.println(sj); //abc---def---ghi
}
}
public StringJoiner (间隔符号,开始符号,结束符号)构造方法
import java.util.StringJoiner;
public class Test18 {
public static void main(String[] args) {
//1.创建对象,加入间隔符号、开始符号、结束符号
StringJoiner sj = new StringJoiner(",","[","]");
//2.添加数据
sj.add("abc").add("def").add("ghi");
//3.查看长度
int len = sj.length();
//4.返回字符串
String str = sj.toString();
//打印数据
System.out.println(sj); //[abc,def,ghi]
System.out.println(len);//13 最终效果的长度 即指[abc,def,ghi]的字符长度。
System.out.println(str);//[abc,def,ghi]
}
}
练习-用户登录
需求:已知用户名和密码,请用程序模拟用户登录。最多3次机会,给出结果提示
import java.util.Scanner;
public class Test15 {
public static void main(String[] args) {
//1.定义正确的用户名和密码
String rightUsername = "wuxie";
String rightPassword ="147258369";
int i = 0;
while(i<3) {
//2.键盘录入用户名和密码
Scanner sc = new Scanner(System.in);
//提示输入用户名
System.out.println("请输入用户名");
String username = sc.next();
//提升输入密码
System.out.println("请输入密码");
String password = sc.next();
//3.验证输入的用户名和密码是否正确
if (username.equals(rightUsername) && password.equals(rightPassword)) {
System.out.println("恭喜朋友,你登录成功啦!");
break;
} else {
System.out.println("朋友!您的用户名和密码输入错啦!请重新输入!");
//提示输入的朋友
System.out.println("朋友!您还有"+(2-i)+"次机会");
}
i++;
}
}
}