JAVA进阶教学之(String类的常用方法)
接下來我們進入的學(xué)習(xí)章程,就是可以通過查閱幫助文檔進行實際的應(yīng)有
1.
| char | charAt(int?index) 返回指定索引的 char價值。 |
代碼示例:
public class StringTest04 {public static void main(String[] args) {//String中常用的方法//“中國人”是一個字符串String對象,只要是對象就能點.調(diào)用char c="中國人".charAt(1);System.out.println(c);//國}}?
?
2.
| int | compareTo(String?anotherString) 比較兩個字符串的字典。 |
?代碼示例:
public class StringTest04 {public static void main(String[] args) {//int compareTo(String anotherString)int result="abc".compareTo("abc");System.out.println(result);//0(前后相等) 例子:10-10=0int result2="abc".compareTo("abcd");System.out.println(result2);//-1int result3="abcd".compareTo("abce");System.out.println(result3);//-1 8-9=-1int result4="abce".compareTo("abcd");System.out.println(result4);//1(前大后小) 9-8=1//原理:是在字典數(shù)字中逐個進行比較,并不是累加起來再進行比較System.out.println("xyz".compareTo("yxz"));//-1}}?
?
3.
| boolean | contains(CharSequence?s) 如果并且只有當此字符串包含指定的字符序列的字符串值,則返回真值。 |
代碼實例:
public class StringTest04 {public static void main(String[] args) {//判斷前面的字符串中是否包含后面的子字符串System.out.println("helloworld.java".contains(".java"));System.out.println("www.baidu.com".contains("baidu"));}}?
?
4.
?
| boolean | startsWith(String?prefix) 測試這個字符串是否以指定的前綴開始。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {Boolean b="fdafadfdsgdsgdcdcdcd".startsWith("f");System.out.println(b);Boolean b2="fdafadfdsgdsgdcdcdcd".startsWith("d");System.out.println(b2);}}?
?
?
5.
| boolean | endsWith(String?suffix) 測試如果這個字符串以指定的后綴結(jié)束。 |
代碼實例:
public class StringTest04 {public static void main(String[] args) {//判斷當前字符串是否是以某個字符串結(jié)尾System.out.println("test.txt".endsWith("txt"));System.out.println("test.txt".endsWith("aaa"));}}?
老杜的教學(xué)的436集第3分鐘的時候有講解源碼
思考一個問題:equals方法和compareTo這兩個方法的功能一樣,有什么區(qū)別呢?
答案:功能很類似,但是equals只能看出是否相等;但是compareTo不僅可以看出是否相等,還可? 以? ? ? ?比較大小
?
?
6.
| boolean | equals(Object?anObject) 將此字符串與指定的對象比較。? |
實例演示:
public class StringTest04 {public static void main(String[] args) {System.out.println("abc".equals("abc"));}}?
?
7.
?
| boolean | equalsIgnoreCase(String?anotherString) 比較這 String到另一個 String,忽略大小寫的考慮。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {System.out.println("Abc".equalsIgnoreCase("abc"));}}?
?
8.
?
| byte[] | getBytes() 這 String編碼成一個序列使用平臺的默認字符集字節(jié),結(jié)果存放到一個新的字節(jié)數(shù)組。 |
實例演示:(疑問:abcdef是字符串,字符串轉(zhuǎn)成字節(jié)數(shù)組后,為什么會從a變成97)
public class StringTest04 {public static void main(String[] args) {byte[] bytes= "abcdef".getBytes();for (int i = 0; i <bytes.length; i++) {System.out.println(bytes[i]);}}}?
?
9.
| int | lastIndexOf(String?str, int?fromIndex) 返回此字符串的指定子字符串中最后出現(xiàn)在索引,搜索后從指定索引處開始。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {System.out.println("dakhfkajsfasfasfasfasfa".lastIndexOf("sfa"));System.out.println("asdakjhfajks".lastIndexOf("s"));}}?
?
?
?
???????10.
| int | indexOf(String?str) 返回指數(shù)在這個字符串指定的子字符串中第一個出現(xiàn)的下標。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {System.out.println("abcsdhkahfkashfjashf".indexOf("h"));}}?
?
?
???????11.
| boolean | isEmpty() 返回 true如果,如果, length()是 0,底層代碼調(diào)用的是length()方法 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {System.out.println("a".isEmpty());System.out.println("".isEmpty());}}?
???????
?
12.
| int | length() 返回此字符串的長度。 |
注意:
判斷數(shù)組長度和判斷字符串長度不一樣
原因:
判斷數(shù)組長度是length屬性 arr.length
判斷字符串長度是length()方法?"aaa".length()
代碼演示:
public class StringTest04 {public static void main(String[] args) {int[] arr={1,2,3,4,5};System.out.println(arr.length);System.out.println("aaa".length());}}?
?
??????????????
13.
| String | replace(CharSequence?target, CharSequence?replacement) 每個子串替換該字符串指定的文本替換序列靶序列匹配的文字。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {String s="http://www/baidu.com".replace("http" ,"https");System.out.println(s);}}?
?
?
???????14.
| String[] | split(String?regex) 將此字符串在給定的 regular expression拆分。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {String[] s="2021/3/9".split("/");for (int i = 0; i <s.length; i++) {System.out.println(s[i]);}}}?
?
???????15.
| String | substring(int?beginIndex) 返回一個字符串,這個字符串的子串,截取字符串內(nèi)容。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {String s="www.baidu.com".substring(4);System.out.println(s);}}?
?
???????
?
16.
| String | substring(int?beginIndex, int?endIndex) 返回一個字符串,這個字符串的子串。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {String s="www.baidu.com".substring(4,9);System.out.println(s);}}注意:beginIndex起始位置(包括此位置)
? ? ? ? ? ?endIndex結(jié)束位置(不包括此位置)
?
?
?
???????17.
| char[] | toCharArray() 將此字符串轉(zhuǎn)換為一個新的字符數(shù)組。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {char[] chars="我是人".toCharArray();for (int i = 0; i < chars.length; i++) {System.out.println(chars[i]);}}}?
?
???????
?
18.
| String | toLowerCase() 轉(zhuǎn)小寫 |
| String | toUpperCase() 轉(zhuǎn)大寫 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {System.out.println("FHAJKSFHAzxcmnz".toLowerCase());System.out.println("FHAJKSFHAzxcmnz".toUpperCase());}}?
?
?
???????19.
| String | trim() 返回一個字符串,它的值是字符串,任何前導(dǎo)和尾隨空格刪除,刪除字符串前后留白。 |
代碼演示:
public class StringTest04 {public static void main(String[] args) {String s=" fakjsfhakjsf ".trim();String s2=" fakjsfhakjsf ";String s3=" fakjsfh akjsf ";System.out.println(s);System.out.println(s2);System.out.println(s3);}}?
?
?
20.
這幾個方法是靜態(tài)方法,說明是經(jīng)常使用的方法,直接用類名進行調(diào)用即可
作用:將 非字符串 轉(zhuǎn)換成 “字符串”
?
代碼演示:
public class StringTest04 {public static void main(String[] args) {String s=String.valueOf(100);String s2=String.valueOf(3.14);String s3=String.valueOf(true);String s4=String.valueOf(new Customer2());System.out.println(s);System.out.println(s2);System.out.println(s3);System.out.println(s4);}} class Customer2{@Overridepublic String toString() {return "我是VIP顧客";} }結(jié)果:
?
?
提問:以前一直強調(diào)System.out.println(引用.toStirng);
.toString可以省略不寫,自動調(diào)用toString 方法
?
分析:(此段是偽代碼)
System.out.println(100); System.out.println(3.14); System.out.println(true);Object obj=new Object(); System.out.println(obj)順著println按住ctrl點進去,進入println的源碼
再按住ctrl點擊valueOf的源碼
發(fā)現(xiàn),底層調(diào)用的確實的toString方法,因此我們可以直接省略不寫toString方法在System.out.println();方法中可以省略
?
結(jié)論:
本質(zhì)上System.out.println() 這個方法在輸出任何數(shù)據(jù)的時候都是先轉(zhuǎn)換成字符串,再輸出
?
?
?
?
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的JAVA进阶教学之(String类的常用方法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python数据可视化的特点_6 种 P
- 下一篇: 局部变量和成员变量的区别