案例1:遍历获取字符串中的每一个字符
/* "hadoopjavaMySQL12138" 需求:遍历获取字符串中的每一个字符 */ public class StringDemo1 { public static void main(String[] args) { //定义该字符串 String s = "hadoopjavaMySQL12138"; //将字符串转换为字符数组(s.toCharArray().var回车) char[] c = s.toCharArray(); //遍历字符数组 for(int i = 0;i<c.length;i++){ if(i==0){ System.out.print("["+c[i]); }else if(i==c.length-1){ System.out.print(c[i]+"]"); }else{ System.out.print(c[i]); } } } } 执行结果如下: [hadoopjavaMySQL12138] Process finished with exit code 0
案例2:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数
/* "hadoopjavaMySQL12138" 需求: 统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数 (不考虑其他字符) */ public class StringDemo2 { public static void main(String[] args) { //定义该字符串 String s = "hadoopjavaMySQL12138"; //将字符串转换为字符数组(s.toCharArray().var回车) char[] c = s.toCharArray(); //定义三个变量统计三个结果 int bigCount = 0; int smallCount = 0; int numberCount = 0; //for()循环统计出现的次数 for(int i = 0;i<c.length;i++){ if(c[i] >= 'A' && c[i] <= 'Z'){ bigCount++; }else if(c[i] >= 'a' && c[i] <= 'z'){ smallCount++; }else if(c[i] >= '0' && c[i] <= '9'){//注意:数字字符也要加引号 numberCount++; } } //统计次数 System.out.println("大写字母字符的个数为:"+bigCount); System.out.println("小写字母字符的个数为:"+smallCount); System.out.println("数字字符的个数为:"+numberCount); } } 执行结果如下: 大写字母字符的个数为:4 小写字母字符的个数为:11 数字字符的个数为:5 Process finished with exit code 0
案例3:将一个字符串的首字母转成大写,其余字母转成小写
/* 需求:将一个字符串的首字母转成大写,其余字母转成小写 举例:"hADoopJava" ---> "Hadoopjava" 分析: 1、全部转成小写 2、获取第一个字符,转成大写 */ public class StringDemo10 { public static void main(String[] args) { //定义该字符串 String s = "hADoopJava"; //将字符串中每一个字符转小写(s.toLowerCase().var回车) String s1 = s.toLowerCase();//hadoopjava //获取转成小写后的字符串中第一个字符(从索引0开始,截取1个输出) String s2 = s1.substring(0, 1);//h //将获取的第一个字符转大写 String s3 = s2.toUpperCase();//H //获取除第一个字符以外的字符串(截取掉第1个,剩下的输出) String s4 = s1.substring(1);//adoopjava //将转大写的字符与后面所有小写的进行拼接 String res = s3.concat(s4);//需要在前面的就写在前面:H+adoopjava System.out.println(res);//Hadoopjava /* 链式编程 String res2 = s.substring(0, 1).toUpperCase().concat(s.substring(1).toLowerCase(); System.out.println(res2); */ } }
案例4:键盘录入一个字符串,将字符串反转
/* 字符串反转 举例:键盘录入”abc” 输出结果:”cba” 分析: 1、导包并创建键盘录入对象 2、创建一个空的字符串 3、将字符串转换成字符数组 4、倒着遍历,得到每一个字符 4、将每次获取到的字符拼接 5、输出 */ //导包 import java.util.Scanner; public class StringDemo { public static void main(String[] args) { //创建键盘录入对象 Scanner sc = new Scanner(System.in); System.out.println("请输入一个字符串:");//输入我爱阿伟 //键盘输入一个字符串 String s = sc.next(); //定义一个空的字符串 String s1 = ""; //将输入的字符串转换成字符数组 char[] chars = s.toCharArray(); //倒着遍历,得到每一个字符 for (int i = chars.length - 1; i >= 0; i--) { //将每次获取到的字符拼接 s1 += chars[i]; } System.out.println("倒序后的字符串为:" + s1);//伟阿爱我 } }
案例5:统计大串中小串出现的次数
* 统计大串中小串出现的次数 字符串为” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun” 需求:统计java出现了几次? */ public class StringDemo13 { public static void main(String[] args) { //定义这个大的字符串 String s1 = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"; //定义一个需要找的小串 String s2 = "java"; //定义一个变量统计小串出现的次数 int count = 0; //在大串中找到小串第一次出现的位置 int index = s1.indexOf(s2);//返回的是首字母‘j’的索引值 System.out.println("第一次找到java的索引值为:"+index);//第一次找到j的索引值为4 //开始截取(可能第一次找的时候就没找到) if(index==-1){ System.out.println("该大串中没有该小串"); }else { while(index!=-1){//当索引不等于-1的时候开始截取(此时说明找到了j) count++;//如果找到了'j',次数加1 //截取字符串:索引值加上小串的长度 int startIndex = index + s2.length(); s1 = s1.substring(startIndex); //继续查找小串出现的次数 index = s1.indexOf(s2); } } System.out.println("java出现的次数为:"+count); } } 执行结果如下: 第一次找到java的索引值为:4 java出现的次数为:5 Process finished with exit code 0