大家好,小信来为大家解答以上问题。string类型,string类很多人还不知道,现在让我们一起来看看吧!
1、 2.字符串的常见操作
2、 一、字符法
3、 这个方法的作用是根据索引值得到字符串中指定的字符(规定字符串中第一个字符的索引值为0,第二个字符的索引值为1,以此类推)。例如:
4、 String s=" abc
5、 char c=s . chatat(1);
6、 变量c的值是‘b’。
7、 比较法
8、 这个方法的作用是比较两个字符串的大小。比较的原理是依次比较每个字符的字符码。首先,比较两个字符串的第一个字符。如果第一个字符串的字符码大于第二个字符串的字符码,则返回值大于0;如果小于0,则返回值小于0;如果相等,就比较后面的字符;如果两个字符串的字符代码相同,它将返回0。
9、 例如:
10、 String s=" abc
11、 String s1=" abd
12、 int value=s . compare to(S1);
13、 value的值小于0,即-1。
14、 String类中有一个类似的方法compareToIgnoreCase。这个方法忽略了用于比较的字符的大小写,比较的规则与compareTo的规则相同。例如:
15、 String s=" aBc
16、 字符串s1=" ABC
17、 int value=s . comparetignorecase(S1);
18、 value的值为0,即两个字符串相等。
19、 C.concat方法
20、 这个方法的作用是连接字符串,并将两个字符串连接起来形成一个新的字符串。例如:
21、 String s=" abc
22、 String s1=" def
23、 string S2=s . concat(S1);
24、 连接后生成的新字符串s2的值是“abcdef”,而字符串s和s1的值不变。如果需要连接多个字符串,可以使用以下方法:
25、 String s=" abc
26、 String s1=" def
27、 String s2=" 1234
28、 String s3=s.concat(s1)。concat(S2);
29、 生成的新字符串s3的值是“abcdef1234”。
30、 其实在实际使用中,语法提供了更简单的形式,就是用“”连接字符串。例如:
31、 String s=" abc " " 1234
32、 字符串s的值是“abc1234”,这使得书写更加容易和直观。
33、 而且用“”连接不仅可以连接字符串,还可以连接其他类型。然而,要求参与连接的至少一个内容是字符串类型。而且“”的匹配顺序是从左到右的。如果两侧连接的内容都是基本数字类型,则执行加法运算。如果连接的内容之一是字符串,则根据该字符串执行连接。
34、 例如:
35、 int a=10
36、 string s=" 123 " a5;
37、 那么连接后字符串s的值就是“123105”。计算过程是先把字符串“123”和变量A的值连接起来生成字符串“12310”,再用这个字符串和数字5连接起来生成最终结果。
38、 和下面的代码:
39、 int a=10
40、 字符串s=a 5“123”;
41、 那么连接后字符串s的值就是“15123”。计算过程是先计算A和数字5,然后相加或相加数值15因为都是数字,再把数值15和字符串“123”连接起来得到最终结果。
42、 而下面的连接代码是错误的:
43、 int a=12
44、 字符串s=a 5的s ';
45、 因为没有字符串参与连接,所以计算的结果是一个数值,在赋值时不能将数值赋给字符串S。
46、 端开关法
47、 这个方法的作用是判断一个字符串是否以字符串结尾,如果以对应的字符串结尾,则返回true。
48、 例如:
49、 String s=" student.doc
50、 boolean b=s . endswith(" doc ");
51、 变量b的值为真。
52、 E.equals方法
53、 这个方法的作用是判断两个string对象的内容是否相同。如果相同,则返回true否则,它返回false。例如:
54、 String s=" abc
55、 String s1=新字符串(“ABC”);
56、 布尔b=s . equals(S1);
57、 “==”用于比较内存中存储的两个对象的地址是否相同。例如,在上面的代码中,如果判断:
58、 布尔b=(s==S1);
59、 变量b的值为false,因为s对象对应的地址是“abc”的地址,s1使用new关键字申请新的内存,所以内存地址与s的“abc”的地址不同,所以得到的值为false。
60、 String类中也有类似的方法equalsIgnoreCase,用于比较两个字符串的内容是否相同,不区分大小写。例如:
61、 String s=" abc
62、 字符串s1=" ABC
63、 布尔b=s . equalsIgnoreCase(S1);
64、 变量b的值为真。
65、 f,getBytes方法
66、 该方法的作用是将字符串转换成相应的字节数组,从而方便数据的存储和传输。例如:
67、 String=" computer
68、 byte[]b=s . getbytes();//使用本机默认字符串转换为字节数组
69、 byte[]b=s . getbytes(" GB 2312 ");//使用gb2312字符集转换为字节数组
70、 在实际转换中,一定要注意字符集的问题,否则中文转换会有问题。
71、 方法索引
72、 这个方法的作用是找到当前字符串中特定字符或字符串的起始位置,如果不存在则返回-1。例如:
73、 String s=" abcded
74、 int index=s . index of(' d ');
75、 int index 1=s . index of(' h ');
76、 然后返回字符d在字符串s中第一次出现的位置,值为3。由于字符串s中不存在字符h,因此index1的值为-1。
77、 当然,您也可以从特定位置查找相应的字符,例如:
78、 int index=s.indexOf('d ',4);
79、 然后在字符串s中寻找出现在index值4(含)之后的第一个字符d,index的值为5。
80、 因为indexOf是重载的,所以也可以在当前字符串中查找特定字符串的起始位置,就像查找字符一样。
81、 另一个类似的方法是lastIndexOf方法,其功能是从字符串的末尾开始搜索指定字符或字符串的第一个匹配项,例如:
82、 String s=" abcded
83、 int index=s . lastIndexOf(' d ');
84、 索引的值是5。
85、 长度法
86、 这个方法的作用是返回一个字符串的长度,也就是字符串中的字符数。汉字也是一种文字。例如:
87、 String s=" abc
88、 S1="Java语言";
89、 int len=s . length();
90、 int len 1=S1 . length();
91、 变量len的值是3,变量len1的值是6。
92、 一、替换方法
93、 这个方法的作用是替换一个字符串中所有指定的字符,然后生成一个新的字符串。调用此方法后,原始字符串不会改变。例如:
94、 String s=" abcat
95、 String s1=s.replace('a ',' 1 ');
96、 这段代码的作用是将字符串S中的所有字符A替换为字符1,生成的新字符串s 1的值为“1bc1t”,而字符串S的内容不变。
97、 如果需要用另一个字符串替换指定的字符串,可以使用replaceAll方法,例如:
98、 String s=" abatbac
99、 String s1=s.replaceAll("ba "," 12 ");
100、 这段代码的作用是将字符串S中的所有字符串“ab”替换为“12”,在不改变字符串S内容的情况下,生成一个新的字符串“a12t12c”
101、 如果只需要替换指定字符串的第一个匹配项,可以使用replaceFirst方法,例如:
102、 String s=" abatbac
103、 String s1=s. replaceFirst ("ba "," 12 ");
104、 这段代码的作用是只将第一次出现的字符串“ab”替换为字符串“12”,这样字符串s1的值就是“a12tbac”,字符串S的内容就不会改变。
105、 J.拆分方法
106、 这个方法的作用是将当前字符串的内容以一个特定的字符串为间隔进行拆分。一般拆分后会得到一个字符串数组。例如:
107、 String s="ab,12,df ";
108、 String s1[]=s.split(",");
109、 这段代码的作用是用字符串“,”作为区间对字符串S进行拆分,从而得到拆分后的字符串编号s1,其内容为:{"AB "," 12 "," DF"}。
110、 此方法是解析字符串的基本方法。
111、 如果字符串内部有与区间字符串相同的内容,则空字符串将被删除,末尾的空字符串将被忽略。例如:
112、 String s=" abbcbtbb
113、 string S1[]=s . split(" b ");
114、 那么分割结果字符串数组s1的内容就是{“a”、“”、“c”、“t”}。拆分中间空字符串的数量等于中间音程字符串的数量减一。例如:
115、 String s=" abbbcbtbbb
116、 string S1[]=s . split(" b ");
117、 那么拆分结果就是:{“A”、“”、“C”、“T”}。不管最后有多少个空字符串,都会被忽略。
118、 如果需要在拆分后限制字符串的数量,可以使用另一种拆分方法,例如:
119、 String s=" abcbtb1
120、 String s1[]=s.split("b ",2);
121、 这段代码的功能是将字符串S分成一个最多包含两个字符串的数组。结果是:{"a "," cbtb1"}。
122、 如果第二个参数为负,将会拆分尽可能多的字符串,包括尾部的空字符串。
123、 k,startsWith方法
124、 此方法类似于endsWith方法,只是它确定一个字符串是否以字符串开头。例如:
125、 String s=" TestGame
126、 布尔b=s . starts with(" Test ");
127、 变量b的值为真。
128、 l,子串方法
129、 这个方法的作用是从字符串中取出“substring ”,它是字符串的一部分。例如,“23”是字符串“123”的子字符串。
130、 字符串123有六个子字符串:1、2、3、12、23和123。而“32”不是字符串“123”的子串。
131、 例如:
132、 String s=" Test
133、 string S1=s . substring(2);
134、 这段代码的作用是将字符串S中索引值2(含)之后的所有字符作为子字符串,字符串s1的值为“st”。
135、 如果数字的值与字符串的长度相同,则返回一个空字符串。例如:
136、 String s=" Test
137、 string S1=s . substring(4);
138、 字符串s1的值是" "。
139、 如果需要取字符串内部的一部分,可以使用带2个参数的substring方法,例如:
140、 String s=" TestString
141、 String s1=s.substring(2,5);
142、 这段代码的作用是将字符串S中从索引值2(含)到索引值5(不含)的部分作为子串,字符串s1的值为“stS”。
143、 下面是一个简单的应用程序代码,用于输出任何字符串的所有子字符串。代码如下:
144、 String="substring示例";
145、 int len=s . length();//获取字符串长度
146、 for(int begin=0;begin len1;Begin ){//开始索引值
147、 for(int end=begin 1;end=lenEnd ){//结束索引值
148、 system . out . println(s . substring(begin,end));
149、 }
150、 }
151、 在这段代码中,循环变量begin表示要获取的子串的初始索引值,从第一个字符0的索引值到倒数第二个字符串len -2的索引值不等,end表示要获取的子串的结束索引值,从后续的初始索引值到字符串的长度不等。通过循环嵌套,可以遍历字符串中的所有子字符串。
152、 托查阵列法
153、 这个方法的作用和getBytes方法类似,就是把字符串转换成对应的char数组。例如:
154、 String s=" abc
155、 char[]c=s . tochararray();
156、 那么字符数组c的值就是:{'a ',' b ',' c'}。
157、 toLowerCase方法
158、 这个方法的作用是将字符串中的所有大写字符转换成小写。例如:
159、 String s=" AbC123
160、 string S1=s . tolowercase();
161、 字符串s1的值是“abc123”,而字符串s的值不变。
162、 类似的方法是toUpperCase,用于将字符串中的小写字符转换成相应的大写字符。例如:
163、 String s=" AbC123
164、 string S1=s . toupper case();
165、 字符串s1的值是“ABC123”,字符串S的值不变。
166、 o,修剪方法
167、 这个方法的作用是去掉一个字符串开头和结尾的所有空格,然后组成一个新的字符串。此方法不移除字符串中间的空格。例如:
168、 String s=" abcabc123
169、 string S1=s . trim();
170、 字符串s1的值是“abcabc123”。字符串s的值不变。
171、 p值方法
172、 这个方法的作用是将其他类型的数据转换成字符串类型。请注意,基本数据和字符串对象不能使用以前的强制类型转换语法进行转换。
173、 此外,因为此方法是静态方法,所以不需要创建String类型的对象。例如:
174、 int n=10
175、 string s=string . value of(n);
176、 字符串s的值是“10”。虽然对程序员来说什么都没有改变,但是程序的数据类型却发生了变化。
177、 介绍一个简单的应用,判断自然数是否是几位数的逻辑代码如下:
178、 int n=12345
179、 string s=string . value of(n);
180、 int len=s . length();
181、 这里字符串的长度len代表自然数的位数。这种判断在逻辑上比数学判断方法更简单。
182、 这就是String类的全部用法。这里的其他方法和方法的详细说明可以在相应的API文档中找到。
本文到此结束,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!