一、遍历字符串案例
需求:键盘录入一个字符串,使用程序实现在控制台遍历该字符串
思路:
1、键盘录入一个字符串,用 Scanner 实现
2、遍历字符串,首先要能够获取到字符串中的每一个字符
public char charAt(int index):返回指定索引处的char值,字符串的索引也是从0开始的
3、遍历字符串,其次要能够获取到字符串的长度
public int length():返回此字符串的长度
数组的长度:数组名.length
字符串的长度:字符串对象.length()
4、遍历字符串的通用格式
代码实现:
public class StringTest02 { public static void main(String[] args) { //键盘录入一个字符串,用 Scanner 实现 Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串:"); String line = sc.nextLine(); for(int i=0; i<line.length(); i++) { System.out.println(line.charAt(i)); } } }
二、统计字符次数案例
需求:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)
思路:
1、键盘录入一个字符串,用 Scanner 实现
2、要统计三种类型的字符个数,需定义三个统计变量,初始值都为0
3、遍历字符串,得到每一个字符
4、判断该字符属于哪种类型,然后对应类型的统计变量+1
假如ch是一个字符,我要判断它属于大写字母,小写字母,还是数字,直接判断该字符是否在对应的范围即可
大写字母:ch>='A' && ch<='Z'
小写字母: ch>='a' && ch<='z'
数字: ch>='0' && ch<='9'
5、输出三种类型的字符个数
代码实现:
public class StringTest03 { public static void main(String[] args) { //键盘录入一个字符串,用 Scanner 实现 Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串:"); String line = sc.nextLine(); //要统计三种类型的字符个数,需定义三个统计变量,初始值都为0 int bigCount = 0; int smallCount = 0; int numberCount = 0; //遍历字符串,得到每一个字符 for(int i=0; i<line.length(); i++) { char ch = line.charAt(i); //判断该字符属于哪种类型,然后对应类型的统计变量+1 if(ch>='A' && ch<='Z') { bigCount++; } else if(ch>='a' && ch<='z') { smallCount++; } else if(ch>='0' && ch<='9') { numberCount++; } } //输出三种类型的字符个数 System.out.println("大写字母:" + bigCount + "个"); System.out.println("小写字母:" + smallCount + "个"); System.out.println("数字:" + numberCount + "个"); } }
三、字符串拼接案例
需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。例如,数组int[] arr = {1,2,3};,执行方法后的输出结果为:[1,2,3]
思路:
1、定义一个 int 类型的数组,用静态初始化完成数组元素的初始化
2、定义一个方法,用于把 int 数组中的数据按照指定格式拼接成一个字符串返回。
返回值类型 String,参数列表 int[] arr
3、在方法中遍历数组,按照要求进行拼接
4、调用方法,用一个变量接收结果
5、输出结果
代码实现:
public class StringTest04 { public static void main(String[] args) { //定义一个 int 类型的数组,用静态初始化完成数组元素的初始化 int[] arr = {1, 2, 3}; //调用方法,用一个变量接收结果 String s = arrayToString(arr); //输出结果 System.out.println("s:" + s); } //定义一个方法,用于把 int 数组中的数据按照指定格式拼接成一个字符串返回 /* 两个明确: 返回值类型:String 参数:int[] arr */ public static String arrayToString(int[] arr) { //在方法中遍历数组,按照要求进行拼接 String s = ""; s += "["; for(int i=0; i<arr.length; i++) { if(i==arr.length-1) { s += arr[i]; } else { s += arr[i]; s += ", "; } } s += "]"; return s; } }
四、字符串反转案例
需求:定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果
例如,键盘录入abc,输出结果cba
思路:
1、键盘录入一个字符串,用 Scanner 实现
2、定义一个方法,实现字符串反转。返回值类型 String,参数 String s
3、在方法中把字符串倒着遍历,然后把每一个得到的字符拼接成一个字符串并返回
4、调用方法,用一个变量接收结果
5、输出结果
代码实现:
public class StringTest05 { public static void main(String[] args) { //键盘录入一个字符串,用 Scanner 实现 Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串:"); String line = sc.nextLine(); //调用方法,用一个变量接收结果 String s = reverse(line); //输出结果 System.out.println("s:" + s); } //定义一个方法,实现字符串反转 /* 两个明确: 返回值类型:String 参数:String s */ public static String reverse(String s) { //在方法中把字符串倒着遍历,然后把每一个得到的字符拼接成一个字符串并返回 String ss = ""; for(int i=s.length()-1; i>=0; i--) { ss += s.charAt(i); } return ss; } }
五、帮助文档查看String常用方法
方法名 | 说明 |
public boolean equals(Object anObject) | 比较字符串的内容,严格区分大小写(用户名和密码) |
public char charAt(int index) | 返回执行索引处的char值 |
public int length() | 返回此字符串的长度 |
到此这篇关于一文详解Java中字符串的基本操作的文章就介绍到这了,更多相关Java字符串内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!