String类用于遍历的方法:
public char[] toCharArray() 将次字符串转换为一个新的字符串数组
public char[] charAt(int index) 返回指定索引处的 char 值
public int length() 返回次字符串的长度
调用方法
public static void main(String[] args) {
//print1();
//print2();
print3();
}
1.public char[] toCharArray() 将次字符串转换为一个新的字符串数组
private static void print1() {
String s="nihao";
char[] chars = s.toCharArray(); //字符串转换字符数组
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}
}
运行结果
n
i
h
a
o
2. public char[] charAt(int index) 返回指定索引处的 char 值
private static void print2(){
String s="nihao";
char c = s.charAt(2); //根据索引的数,输出所要的值
System.out.println(c);
}
运行结果
h
3.public int length() 返回次字符串的长度
private static void print3() {
String s="nihao";
for (int i = 0; i <s.length(); i++) {
char c = s.charAt(i); //根据索引的数,输出要的值
System.out.println(c);
}
}
运行结果
n
i
h
a
o
案例
需求: 键盘录入一个字符串,统计该字符串中大写字母字符,小写子母字符,数字字符出现的次数
(不考虑其他字符)
例如:aAb3&c2B*4CD1
小写字母:3个
大写字母:4个
数字字母:4个
public static void main(String[] args) {
//1.键盘录入一个字符串
Scanner sc= new Scanner(System.in);
System.out.println("请输入字符串");
String zi=sc.nextLine();
//2.定义三份计数器变量,用于统计操作
int tong1=0;
int tong2=0;
int tong3=0;
//3.遍历数组,获取每一个字符
char[] chars = zi.toCharArray(); //1.获取的字符串转换成 [字符]用字符变量接收,定义chars字符变量
for (int i = 0; i < chars.length; i++) { //2.用chars变量遍历
char c = chars[i]; //3.定义 char字符变量c来接收 获取数组所有元素
//4.在遍历的过程中,加入if判断,看字符属于哪一种类型
if (c>='a'&&c<='z'){
//5.对应的计数器变量自增
tong1++;
} else if (c>='A'&&c<='Z') {
tong2++;
} else if (c>='0'&&c<='9') {
tong3++;
}
}
//6.在遍历结束后,将统计好的计数器变量,打印在控制台
System.out.println("小写字母"+tong1+" "+"个");
System.out.println("大写字母"+tong2+" "+"个");
System.out.println("数字字母"+tong3+" "+"个");
}