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方法--->"+"\t");
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("\n"+"测试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--->"+"‘面向‘字符的位置是‘"+"\t");
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方法--->"+"\t");
51 for(int i=0;i<strArray.length;i++){
52 System.out.print(strArray[i]+"\t");
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 */