国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java學習總結:飄逸的字符串

2019-11-14 15:34:02
字體:
來源:轉載
供稿:網友

java學習:飄逸的字符串

前言

相信不管我們運用Java語言來開發項目還是進行數據分析處理,都要運用到和字符串相關的處理方法。這個社會處處有著和字符串相關的影子:日志、文檔、書籍等。既然我們離不開字符串,那么就來好好認識一下吧。

怎么構造一個字符串?

Java語言里,有兩種方法來創建一個字符串對象:一是用字符串直接量

1 String message=new String("Welcome to Java");2 String message2="Welcome to Java";

二是通過字符數組。

1 char[] array={'G','o','o','d',' ','D','a','y'};2 String message3=new String(array);

注意String變量存儲的是對String對象的引用,String對象里存儲的才是字符串的值。所以嚴格的說,術語String變量、String對象和字符串值是不同的,只是平常我們為了簡單起見,都統稱為字符串而已。

不可變?字符串這么拽!

String對象是不可變的,它的內容是不能改變的。比如下面的兩行代碼:

1 String s="Java";2 s="html";

第一條語句創建了內容為“Java”的String對象,并將其引用賦值給s。第二條語句創建了一個內容為“html”的新String對象,并將其賦值給s。所以執行這兩條語句之后,兩個String的對象都沒有改變,并且其中的內容也沒有發生變化,只是s變量最后指向了新的String對象。

字符串的比較

一旦看到比較兩字,我們想到的是“==”。然而,運算符==只能檢測字符串String1String2是否指向同一個對象,但它不會告訴我們它們的內容是否相同。因此Java里面判斷字符串是否相同,我們應該使用equals方法或者compareTo方法。

1 String s1=new String("Welcome to Java");2 String s2="Welcome to Java";3 String s3="Welcome to C++";4 String s4="welcome TO java";5 System.out.PRintln(s1.equals(s2));6 System.out.println(s1.equals(s3));7 System.out.println(s1.compareTo(s2));

補充:當比較兩個字符串是否相等的時候,方法equalsIgnoreCasecompareToIgnoreCase可以先忽略字母大小寫然后進行比較。

1 System.out.println(s1.equalsIgnoreCase(s4));2 System.out.println(s2.compareToIgnoreCase(s4));

字符串長度、字符和組合字符串

lengthString類的一個方法,但它是數組對象的一個屬性,所以,我們要獲取字符串s的字符個數,就要使用s.length()。方法s.charAt(index)可用于提取字符串s的某個特定字符,其中下標index的取值范圍在0s.length()-1之間。

另外,我們可以使用concat方法連接兩個字符串。如下代碼所示,將字符串s1s2連接構成了s3

1 String ss="BaiYi";2 String ss2="ShaoNian";3 String ss3=ss.concat(ss2);4 System.out.println(ss3);

當然了,好像平常我們更傾向于更簡單的方法,那就是直接使用加號(+)來連接兩個或者更多的字符串構成新的字符串。

怎么樣獲取子串呢?

前面已經提到了我們可以通過charAt方法來獲取字符串的任意一個單字符,但是獲取它的子串應該怎么辦呢?我們就用substring方法。

1 System.out.println("Welcome to Java".substring(0,11) + "C++");

字符串的轉換、替換和分隔方法,學習ing...

toLowerCase:返回將所有字符都轉換為小寫之后的新字符串

toUpperCase:返回將所有字符都轉換為大寫之后的新字符串

trim:返回去掉兩端的空白字符之后的新字符串

replace:返回用一個新子串替換這個字符串中所有和它匹配的字符的新字符串

replaceFirst:返回用一個新子串替換這個字符串中第一個和它匹配的子串之后的新字符串

replaceAll:返回用一個新子串替換這個字符串中所有和它匹配的子串之后的新字符串

split:返回用定界符分隔的子串所構成的一個字符串數組

 1 System.out.println("Welcome TO".toLowerCase()); 2 System.out.println("Welcome to".toUpperCase()); 3 System.out.println(" Welcome to ".trim()); 4 System.out.println("Welcome to".replace('e','A')); 5 System.out.println("Welcome to".replaceFirst("e","ABC")); 6 System.out.println("Welcome to".replaceAll("e","AB")); 7          8 String[] str="Java#HTML#C++".split("#",0); 9 for (int i=0; i<str.length; i++) {10     System.out.println(str[i] + " ");11 }12 String[] str2="Java#HTML&C++".split("[#&]",0);13 for (int i=0; i<str2.length; i++) {14     System.out.println(str2[i] + " ");15 }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新巴尔虎右旗| 太谷县| 长泰县| 镇巴县| 应城市| 荔波县| 青田县| 抚松县| 宁都县| 西林县| 永修县| 通榆县| 溧阳市| 综艺| 崇左市| 柞水县| 长沙县| 寻甸| 赤壁市| 通辽市| 惠东县| 五家渠市| 姜堰市| 武宁县| 东台市| 桦川县| 阳新县| 五家渠市| 曲周县| 霸州市| 九寨沟县| 灵川县| 樟树市| 霍州市| 鲁甸县| 灌南县| 铜鼓县| 沛县| 界首市| 罗源县| 安庆市|