📃个人主页:个人主页
🔥系列专栏:JAVASE基础
目录
1.String类常用API-遍历、替换、截取、分割操作
String常用API
方法名 | 说明 |
public int length() | 返回此字符串的长度 |
public char charAt(int index) | 获取某个索引位置处的字符 |
public char[] toCharArray(): | 将当前字符串转换成字符数组返回 |
public String substring(int beginIndex, int endIndex) | 根据开始和结束索引进行截取,得到新的字符串(包前不包后) |
public String substring(int beginIndex) | 从传入的索引处截取,截取到末尾,得到新的字符串 |
public String replace(CharSequence target,
CharSequence replacement)
| 使用新值,将字符串中的旧值替换,得到新的字符串 |
public String[] split(String regex) | 根据传入的规则切割字符串,得到字符串数组返回 |
- public int length() 返回此字符串的长度
- public char charAt(int index) 获取某个索引位置处的字符
public static void main(String[] args) {
String name="热爱编程的小白白";
//返回此字符串的长度
System.out.println(name.length());
//获取某个索引位置处的字符
System.out.println(name.charAt(1));
System.out.println("---------------遍历字符串--------------------");
for (int i = 0; i < name.length(); i++) {
System.out.println(name.charAt(i));
}
}
- public char[] toCharArray():将当前字符串转换成字符数组返回
public static void main(String[] args) {
String name="热爱编程的小白白";
//将当前字符串转换成字符数组返回
char[] chars = name.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}
}
-
public String substring(int beginIndex, int endIndex)
-
根据开始和结束索引进行截取,得到新的字符串(包前不包后)
public static void main(String[] args) {
String name="热爱编程的小白白";
//根据开始和结束索引进行截取,得到新的字符串(包前不包后)
System.out.println("-------------------------------------");
System.out.println(name.substring(0, 2));
System.out.println("-------------------------------------");
System.out.println(name.substring(5, 8));
}
- public String substring(int beginIndex)
- 从传入的索引处截取,截取到末尾,得到新的字符串
public static void main(String[] args) {
String name="热爱编程的小白白";
//从传入的索引处截取,截取到末尾,得到新的字符串
System.out.println(name.substring(5));
}
-
public String replace(CharSequence target, CharSequence replacement)
-
使用新值,将字符串中的旧值替换,得到新的字符串
public static void main(String[] args) {
String name="如果明天下雨,那么明天就不用上课了";
System.out.println("原来的字符串:");
System.out.println(name);
System.out.println("----------------------------------");
//使用新值,将字符串中的旧值替换,得到新的字符串
System.out.println("替换后的的字符串:");
System.out.println(name.replace("明天", "后天"));
}
- public boolean contains(CharSequence s)
- 当且仅当此字符串包含指定的char值序列时才返回true。
public static void main(String[] args) {
String name="如果明天下雨,那么明天就不用上课了";
System.out.println(name.contains("上课"));//true
System.out.println(name.contains("那么"));//true
System.out.println(name.contains("11"));//false
}
- public boolean startsWith(String prefix)
- 测试此字符串是否以指定的前缀开头
public static void main(String[] args) {
String name="如果明天下雨,那么明天就不用上课了";
//测试此字符串是否以指定的前缀开头。
System.out.println(name.startsWith("如果"));//true
System.out.println(name.startsWith("明天"));//false
}
- public String[] split(String regex)
- 根据传入的规则切割字符串,得到字符串数组返回
public static void main(String[] args) {
String name="1,2,3,4,5,6,7,8,9";
String[] arr = name.split(",");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
2.综合案例
1.String类开发验证码功能
需求:
随机产生一个
5
位的验证码,每位可能是数字、大写字母、小写字母。
分析:
① 定义一个
String
类型的变量存储验
a-zA-Z0-9
之间的全部字符。
② 循环
5
次,随机一个范围内的索引,获取对应字符连接起来即可。
public class base {
public static void main(String[] args) {
/**
* 需求:
* 随机产生一个5位的验证码,每位可能是数字、大写字母、小写字母。
* 分析:
* ① 定义一个String类型的变量存储验a-zA-Z0-9之间的全部字符。
* ② 循环5次,随机一个范围内的索引,获取对应字符连接起来即可。
*/
String datas="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
char[] array = datas.toCharArray();
Random random = new Random();
for (int i = 0; i <5 ; i++) {
int index = random.nextInt(array.length);
System.out.print(array[index]);
}
}
2.模拟用户登录功能
需求:
模拟用户登录功能,最多只给三次机会。
分析:
① 系统后台定义好正确的登录名称,密码。
② 使用循环控制三次,让用户输入正确的登录名和密码,判断是否登录成功,登
录成功则不再进行登录;登录失败给出提示,并让用户继续登录。
public static void main(String[] args) {
/**
* 需求:
* 模拟用户登录功能,最多只给三次机会。
* 分析:
* ① 系统后台定义好正确的登录名称,密码。
* ② 使用循环控制三次,让用户输入正确的登录名和密码,判断是否登录成功,登
* 录成功则不再进行登录;登录失败给出提示,并让用户继续登录。
*/
String username="root";
String password="1234";
Scanner scanner = new Scanner(System.in);
for (int j=3;j>0;j--) {
System.out.println("请输入账号");
String userName = scanner.next();
System.out.println("请输入密码");
String passWord = scanner.next();
if (username.equals(userName)&&password.equals(passWord)){
System.out.println("登录成功");
break;
}
else System.out.println("登录失败,你还剩"+(j-1)+"次机会");
}
}
3.手机号码屏蔽
需求
键盘录入一个手机号,将中间四位号码屏蔽,最终效果为:
分析
① 键盘录入一个字符串。
② 调用字符串对象的截取API,截取字符串前三位、后四位。
③ 将前三位 连接“****”然后继续连接后四位,输出最终结果即可。
public static void main(String[] args) {
System.out.println("请输入手机号");
Scanner scanner = new Scanner(System.in);
String phone_Number = scanner.next();
String number1 = phone_Number.substring(0, 3);
String number2 = phone_Number.substring(7, 11);
System.out.println(number1+"****"+number2);
}