1 import java.lang.String; 2 3 public class StringMethodDemo1{ 4 /** 5 熟悉String的常用方法。 6 */ 7 public static void main(String[] args){ 8 String str="Java是面向对象的语言"; 9 //toCharArray():将字符串转换为字符数组 10 char cString[] = str.toCharArray(); 11 System.out.print("测试String的toCharArray方法--->"+" "); 12 for(int i=0;i<cString.length;i++){ 13 System.out.print(cString[i]+" "); 14 } 15 //valueOf(int i):将字符数组转换为字符串 16 String strChar = String.valueOf(cString);//这里的cString为int型,表示数组地址 17 System.out.println(" "+"测试String的valueOf方法--->"+strChar); 18 19 //charAt(int i):从字符串中提取指定位置的字符,注意:一个中文也表示一个字符 20 char ch=str.charAt(6); 21 System.out.println("测试String的charAt方法--->"+str+"第6个索引位置的字符是"+ch); 22 23 //startsWith(String prefix)://判断字符串是否以指定的前缀开始,返回boolean类型。 24 //endsWith(String suffix)://判断字符串是否以指定的后缀开始,返回boolean类型 25 System.out.println("测试String的startsWith方法--->"+str+"是否以Java开头:"+str.startsWith("Java")); 26 System.out.println("测试String的endsWith方法--->"+str+"是否以class结尾:"+str.endsWith("class")); 27 28 //byte[] getBytes()://将字符串转换成byte数组 29 byte strByte[] = str.getBytes(); 30 System.out.println("测试String的getBytes方法1--->"+new String(strByte));//输出数组。new String(strByte)表示将Byte数组转换为字符串 31 System.out.println("测试String的getBytes方法2--->"+new String(strByte,0,4));//输出字符串,new String(strByte,0,4)表示将Byte数组中下标为0到4直接的元素转换为字符串 32 33 //indexOf(String str):查找指定的子字符串,若指定的子字符串存在,则返回该字符串的位置引用,否则返回-1; 34 35 System.out.println("测试String的indexOf方法1--->"+"'面向'字符是否存在'"+str+"之中:"+str.indexOf("面向"));//存在则返回位置,不存在返回-1 36 System.out.println("测试String的indexOf方法2--->"+"'面向'字符是否存在'"+str+"之中:"+str.indexOf("class"));//不存在返回-1 37 38 //indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引fromIndex开始。 39 int position = str.indexOf("面向",0); 40 System.out.print("测试String的indexOf方法3--->"+"'面向'字符的位置是'"+" "); 41 System.out.println(position); 42 43 //length():获得字符数组的长度 44 System.out.println("测试String的length方法--->"+str+"的长度:"+str.length());//不存在返回-1 45 46 //Sting[] split(String regex)方法:按照字段的字符串拆分字符串,拆分的字符串以字符串数组的形式返回 47 String str2="Java is a programming language"; 48 String strArray[] = str2.split(" "); 49 50 System.out.print("测试String的split方法--->"+" "); 51 for(int i=0;i<strArray.length;i++){ 52 System.out.print(strArray[i]+" "); 53 } 54 System.out.println(); 55 56 //substring(int beginIndex):截取从开始到结尾的字符串 57 //substring(int beginIndex,int endIndex):截取从开始到结束点的字符串。beginIndex - 起始索引(包括)。从0开始 endIndex - 结束索引(不包括)。 58 System.out.println("测试String的substring方法1--->"+"截取"+str2+",从10开始的子字符串:"+str2.substring(10)); 59 System.out.println("测试String的substring方法2--->"+"截取"+str2+",从10到20之间的子字符串:"+str2.substring(10,20));//取字符时从10取到19,不取20 60 61 String str3 =" Hello Java "; 62 //trim():去掉字符串头尾的空格 63 System.out.println("测试String的trim方法--->"+str3+"去掉空格"+str3.trim()); 64 65 //toUpperCase():将字符串转为全部大写的形式 66 //toLowerCase():将字符串转为全部小写的形式。 67 System.out.println("测试String的toUpperCase方法--->"+str3+"转为大写"+str3.toUpperCase()); 68 System.out.println("测试String的toLowerCase方法--->"+str3+"转为小写"+str3.toLowerCase()); 69 70 71 } 72 } 73 /* 74 执行结果: 75 测试String的toCharArray方法---> J a v a 是 面 向 对 象 的 语 言 76 测试String的valueOf方法--->Java是面向对象的语言 77 测试String的charAt方法--->Java是面向对象的语言第6个索引位置的字符是向 78 测试String的startsWith方法--->Java是面向对象的语言是否以Java开头:true 79 测试String的endsWith方法--->Java是面向对象的语言是否以class结尾:false 80 测试String的getBytes方法1--->Java是面向对象的语言 81 测试String的getBytes方法2--->Java 82 测试String的indexOf方法1--->'面向'字符是否存在'Java是面向对象的语言之中:5 83 测试String的indexOf方法2--->'面向'字符是否存在'Java是面向对象的语言之中:-1 84 测试String的indexOf方法3--->'面向'字符的位置是' 5 85 测试String的length方法--->Java是面向对象的语言的长度:12 86 测试String的split方法---> Java is a programming language 87 88 测试String的substring方法1--->截取Java is a programming language,从10开始的子字 89 符串:programming language 90 测试String的substring方法2--->截取Java is a programming language,从10到20之间的 91 子字符串:programmin 92 测试String的trim方法---> Hello Java 去掉空格Hello Java 93 测试String的toUpperCase方法---> Hello Java 转为大写 HELLO JAVA 94 测试String的toLowerCase方法---> Hello Java 转为小写 hello java 95 96 */