String类:是字符串类,由多个字符组成的一串数据。字符串其本质是一个字符数组。 给定一个字符数组,转换成字符串:char[] chs= {'h','e','l','l','o'};String s=newstring(chs); 给定一个字符数组,并截取其中的一部分元素,形成新的字符串输出打印String s=new String(chs,1,4) 判断构造方法和直接赋值产生的字符串的区别:通过构造方法产生的字符串存储在堆内存中,通过直接赋值产生的字符串对象存储在方法区的常量池中 String类的判断功能:判断两个字符串是否相等equal(需要判断大小写);判断两个字符是否相等(忽略大小写equalIgnore);判断字符串是否是以某字符开头;判断字符串是否是以某字符结尾 startwith endwith 模拟用户登录:用到equals关键字 String类的获取功能 字符串的长度s.length;获取字符串中某字符第一次出现的索引位置indexof;获取索引a处出现的字符用charAt;subString分割字符串 遍历字符串 输入一个字符串,统计字符串中的大写字符的个数,小写字符的个数,数字字符的个数 String类的转换功能:把字符串转换成字符数组、把字符串中的元素转换成大写 把字符串中的元素转换成小写 char[] toCharArray()返回值是一个字符数组,把字符串转换成字符数组 char[] chs=s.toCharArray();//字符串转换成数组 String toLowerCase()把字符串转换成大写字符串 String toUpperCase()把字符串转换成小写字符串 Strings="HelloWorld"; System.out.println(s.toUpperCase()); System.out.println(s.toLowerCase()); char[] chs=s.toCharArray(); for(int i=0;i<chs.length;i++) { System.out.print(chs[i]); } 输入一个字符串,将首字母大写,其余字母小写后输出该字符串: public class testj { 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); String s3=s1.toUpperCase()+s2.toLowerCase(); System.out.println("s3:"+s3); } } String类的其他功能: 有去除两遍空格trim split分割指定符号处的字符串等功能 String s4="a,b,c,d,fe,f"; String[] str=s4.split(","); for(int i=0;i<str.length;i++) { System.out.println(str[i]); } 把数组中的元素按照指定格式拼接成一个字符串。如:int[] arr={1,2,3}; 输出结果:[1,2,3] public class test12 { public static void main(String[] args) { int [] arr= {1,2,3}; String s=arrToString(arr); System.out.println(s); } public static String arrToString(int [] arr) { String s=""; s+="["; for(int i=0;i<arr.length;i++) { if(arr[i]==arr[arr.length-1]) { s+=arr[i]+"]"; }else { s+=arr[i]+","; } } return s; } } 字符串反转:abc cba packagetestA; /* * 字符串反转:abc cba */ public class testm { public static void main(String[] args) { String s="abc"; //第一种方式:字符串倒着遍历,得到的字符串拼接后形成新的字符串 /*for(int i=0;i<s.length();i++) { System.out.println(s.charAt(i)); }*/ String s1=StringToString(s); System.out.println(s1); } /*//先把原有的字符串倒着遍历,遍历后将字符串中的字符进行拼接组成新的字符串 public static String StringToString(Strings) { String s1=""; for(inti=s.length()-1;i>=0;i--) { s1+=s.charAt(i); } return s1; }*/ //第二种:字符串转换成字符数组 对字符数组进行反转 翻转后转换成新的字符串 public static String StringToString(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 s1=new String(chs); return s1; } } Stringhestringbuilder的区别:String的内容是固定的,而stringBuilder的内容是可变的。 添加功能、反转功能。Append reverse
|