1、字符串的遍历方法小结:
(1)用length()与charAt()方法进行遍历
package fangfa.com;
import java.util.Scanner;
public interface ChouXiangLei {
public static void main(String[] args) {
String name = "YouToBe";
for (int i = 0; i < name.length(); i++) {
char set = name.charAt(i);
System.out.printf("%c",set);
}
}
}
(2)将string字符串转换为数组然后进行遍历
package fangfa.com;
import java.util.Scanner;
public interface ChouXiangLei {
public static void main(String[] args) {
String name = "Youtobu";
char[] name1 = name.toCharArray();
for (int i = 0; i < name1.length; i++) {
System.out.printf("%s",name1[i]);
}
}
}
2、String类的判断功能
boolean equals(Object obj):
比较字符串的内容是否相同
boolean equalsIgnoreCase(String str):
比较字符串的内容是否相同,忽略大小写
boolean startsWith(String str):
判断字符串对象是否以指定的str开头
boolean endsWith(String str):
判断字符串对象是否以指定的str结尾
package com.itheima_03;
/*
* Object:是类层次结构中的根类,所有的类都直接或者间接的继承自该类。
* 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象。
*
* String类的判断功能:
* boolean equals(Object obj):比较字符串的内容是否相同
* boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
* boolean startsWith(String str):判断字符串对象是否以指定的str开头
* boolean endsWith(String str):判断字符串对象是否以指定的str结尾
*/
public class StringDemo {
public static void main(String[] args) {
//创建字符串对象
String s1 = "hello";
String s2 = "hello";
String s3 = "Hello";
//boolean equals(Object obj):比较字符串的内容是否相同
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
System.out.println("-----------");
//boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
System.out.println(s1.equalsIgnoreCase(s2));
System.out.println(s1.equalsIgnoreCase(s3));
System.out.println("-----------");
//boolean startsWith(String str):判断字符串对象是否以指定的str开头
System.out.println(s1.startsWith("he"));
System.out.println(s1.startsWith("ll"));
}
}
3、判断功能案例
需求:模拟登录,给三次机会,并提示还有几次
package com.itheima_03;
import java.util.Scanner;
/*
* 模拟登录,给三次机会,并提示还有几次。
*
* 分析:
* A:定义两个字符串对象,用于存储已经存在的用户名和密码
* B:键盘录入用户名和密码
* C:拿键盘录入的用户名和密码和已经存在的用户名和密码进行比较
* 如果内容相同,提示登录成功
* 如果内容不同,提示登录失败,并提示还有几次机会
*/
public class StringTest {
public static void main(String[] args) {
//定义两个字符串对象,用于存储已经存在的用户名和密码
String username = "admin";
String password = "admin";
//给三次机会,用for循环实现
for(int x=0; x<3; x++) {
//键盘录入用户名和密码
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = sc.nextLine();
System.out.println("请输入密码:");
String pwd = sc.nextLine();
//拿键盘录入的用户名和密码和已经存在的用户名和密码进行比较
if(username.equals(name) && password.equals(pwd)) {
System.out.println("登录成功");
break;
}else {
if((2-x) ==0) {
System.out.println("用户名和密码被锁定,请与管理员联系");
}else {
System.out.println("登录失败,你还有"+(2-x)+"次机会"); //2,1,0
}
}
}
}
}
4、String类的获取功能
package com.itheima_04;
/*
* String类的获取功能:
* int length():获取字符串的长度,其实也就是字符个数
* char charAt(int index):获取指定索引处的字符
* int indexOf(String str):获取str在字符串对象中第一次出现的索引
* String substring(int start):从start开始截取字符串
* String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
*/
public class StringDemo {
public static void main(String[] args) {
//创建字符串对象
String s = "helloworld";
//int length():获取字符串的长度,其实也就是字符个数
System.out.println(s.length());
System.out.println("--------");
//char charAt(int index):获取指定索引处的字符
System.out.println(s.charAt(0));
System.out.println(s.charAt(1));
System.out.println("--------");
//int indexOf(String str):获取str在字符串对象中第一次出现的索引
System.out.println(s.indexOf("l"));
System.out.println(s.indexOf("owo"));
System.out.println(s.indexOf("ak"));
System.out.println("--------");
//String substring(int start):从start开始截取字符串
System.out.println(s.substring(0));
System.out.println(s.substring(5));
System.out.println("--------");
//String substring(int start,int end):从start开始,到end结束截取字符串
System.out.println(s.substring(0, s.length()));
System.out.println(s.substring(3,8));
}
}
5、String类的转换功能
char[] toCharArray()
把字符串转换为字符数组
String toLowerCase()
把字符串转换为小写字符串
String toUpperCase()
把字符串转换为大写字符串
package com.itheima_05;
/*
* String类的转换功能:
* char[] toCharArray():把字符串转换为字符数组
* String toLowerCase():把字符串转换为小写字符串
* String toUpperCase():把字符串转换为大写字符串
*
* 字符串的遍历:
* A:length()加上charAt()
* B:把字符串转换为字符数组,然后遍历数组
*/
public class StringDemo {
public static void main(String[] args) {
//创建字符串对象
String s = "abcde";
//char[] toCharArray():把字符串转换为字符数组
char[] chs = s.toCharArray();
for(int x=0; x<chs.length; x++) {
System.out.println(chs[x]);
}
System.out.println("-----------");
//String toLowerCase():把字符串转换为小写字符串
System.out.println("HelloWorld".toLowerCase());
//String toUpperCase():把字符串转换为大写字符串
System.out.println("HelloWorld".toUpperCase());
}
}
6、转换功能案例
```java
package com.itheima_05;
import java.util.Scanner;
/*
* 键盘录入一个字符串,把该字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
*
* 分析:
* A:键盘录入一个字符串
* B:截取首字母
* C:截取除了首字母以外的字符串
* D:B转大写+C转小写
* E:输出即可
*/
public class StringTest {
public static void main(String[] args) {
//键盘录入一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String s = sc.nextLine();
//截取首字母
String s1 = s.substring(0, 1);
//截取除了首字母以外的字符串
String s2 = s.substring(1);
//B转大写+C转小写
String s3 = s1.toUpperCase()+s2.toLowerCase();
//输出即可
System.out.println("s3:"+s3);
}
}
7、String类的其它功能
去除字符串两端空格
String trim()
按照指定符号分割字符串
String[] split(String str)
package com.itheima_06;
/*
* 去除字符串两端空格
* String trim()
* 按照指定符号分割字符串
* String[] split(String str)
*/
public class StringDemo {
public static void main(String[] args) {
//创建字符串对象
String s1 = "helloworld";
String s2 = " helloworld ";
String s3 = " hello world ";
System.out.println("---"+s1+"---");
System.out.println("---"+s1.trim()+"---");
System.out.println("---"+s2+"---");
System.out.println("---"+s2.trim()+"---");
System.out.println("---"+s3+"---");
System.out.println("---"+s3.trim()+"---");
System.out.println("-------------------");
//String[] split(String str)
//创建字符串对象
String s4 = "aa,bb,cc";
String[] strArray = s4.split(",");
for(int x=0; x<strArray.length; x++) {
System.out.println(strArray[x]);
}
}
}
8、字符串的反转
package com.itheima_07;
import java.util.Scanner;
/*
* 字符串反转
* 举例:键盘录入”abc”
* 输出结果:”cba”
*
* 分析:
* A:键盘录入一个字符串
* B:写方法实现字符串的反转
* a:把字符串倒着遍历,得到的每一个字符拼接成字符串。
* b:把字符串转换为字符数组,然后对字符数组进行反转,最后在把字符数组转换为字符串
* C:调用方法
* D:输出结果
*/
public class StringTest2 {
public static void main(String[] args) {
//键盘录入一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String s = sc.nextLine();
//写方法实现字符串的反转
//调用方法
String result = reverse(s);
//输出结果
System.out.println("result:"+result);
}
/*
* 把字符串倒着遍历,得到的每一个字符拼接成字符串。
*
* 两个明确:
* 返回值类型:String
* 参数列表:String s
*/
/*
public static String reverse(String s) {
String ss = "";
for(int x=s.length()-1; x>=0; x--) {
ss += s.charAt(x);
}
return ss;
}
*/
//把字符串转换为字符数组,然后对字符数组进行反转,最后在把字符数组转换为字符串
public static String reverse(String s) {
//把字符串转换为字符数组
char[] chs = s.toCharArray();
//对字符数组进行反转
for(int start=0,end=chs.length-1; start<=end; start++,end--) {
char temp = chs[start];
chs[start] = chs[end];
chs[end] = temp;
}
//最后在把字符数组转换为字符串
String ss = new String(chs);
return ss;
}
}
把字符数组转换为字符串:
方式一:
String ss = new String(chs);
方法二:
String ss = String.valueOf(chs);
把字符串转换为数组:
String name = “YouToBe”;
String[] set = name.toCharMarry(name);
本文深入讲解Java中字符串的各种操作方法,包括遍历、判断、获取、转换等核心功能,通过实例演示了字符串的使用技巧,如模拟登录验证、首字母大写转换、字符串反转等实用案例。
1648

被折叠的 条评论
为什么被折叠?



