日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DAY9-字符串笔记整理2018-1-19

發布時間:2025/6/16 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DAY9-字符串笔记整理2018-1-19 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

      Java字符串

1、子串:

String s1=greeting.substring(2);//表示去掉從第0個開始的2個字符

String s2=greeting.substring(0, 3);//表示截取第0個到第3個字符

左圖為程序片段,右圖為運行結果:

  

?

?

?

2、拼接:

  • 使用+拼接兩個字符串。
  • 如果需要把多個字符串放在一起,用一個定界符分隔,可以使用靜態join方法:
  • String array1= String.join("/","人類","動物類","鳥類","魚類");

    左圖為程序片段,右圖為運行結果:

    ?  

    ?

    ?

    3、不可變字符

    由于不能修改java中的字符,故將String類中的字符稱為不可變字符

    4、檢測字符是否相等

    1、檢測兩個字符串是否相等equal

    表達式:string1.equal(string2);

    如果string1string2相等返回true,否則返回false。可以是字符串變量,也可以是一個字符串實體,如:”hello”equal(“world”); 是符合條件的。

    2、檢測兩個字符串相等,但是不區分大小寫,可使用equalsIgnoreCase方法。

    注:一定不能使用==檢測字符串是否相等

    下面是《java核心技術》里的片段:

    ?

    ?

    5、空串和null

    空串””是長度為0的字符串。檢測字符串長度:len=string1.length(); 空串有自己的長度,長度為0,內容為空。String這個變量還可以存放一個特殊的值null,這時候表示沒有任何對象與該變量關聯。

    注:a.如果要檢測一個字符串既不為0也不為空需要同時滿足:string1!=null&&string.length()!=0;

    b.如果一個字符為null,調用時會出錯

    ?

    6、碼點與代碼單元

    ?? 先簡單說明一下Unicode:(統一碼、萬國碼、單一碼)是計算機領域的一項業界標準,包括字符集、編碼方案等。

    UTF-16編碼(16-bit Unicode Transformation Format:Unicode的一個使用方式,Transformation Format即把Unicode轉化為某種格式。

    (1)碼點數量:實際的字符個數,輔助字符算一個

    (2)代碼單元數量:string.length()計算的不是實際字符長度,這時候輔助字符算兩個。

  • char類型是一個采用UTF-16編碼(16-bit Unicode Transformation Format)表示Unicode碼點的代碼單元。大多數的常用Unicode字符(u+000-u+FFFF)使用一個代碼單元就可以表示,而輔助字符(u+10000-u+10FFFF)需要一對代碼單元。一般代碼單元與與碼點的長度是一致的,但對于輔助字符,如:u+ID546,其代碼單元長度為2,但是碼點長度為1。
  • length方法將返回采用UTF-16編碼表示的給定字符所需的代碼單元數量。
  • 想要得到實際長度,即碼點數量,可用codePointCount.
  • 想要字符串中某個字符可用:String.charAt(n);
  • 想要得到第n個碼點:String greeting1="hello world";
  • ?  

      

    ?

    ?

  • 如果想要遍歷一個字符串查看每個代碼點可以使用下面的代碼:
  • function?void?listCodePoint(String?string){
    ??? ?int?codePointNum?=?string.codePointCount(0,string.length()?-?1);

    }

    下面是《java核心技術》里對碼點與代碼單元的解釋:

    ?

    ?

    ?

    ?

    ?

    ?

    7、String API

    API:(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基于某軟件或硬件得以訪問一組歷程的能力,而又無需訪問源碼,或理解內部工作機制的細節。

    Java中的String類包含50多種方法,大多數有用。

    Java核心技術》P51

    ?

    ?

    ?

    ?

    ?

    8、閱讀聯機API文檔

    String類中包含許多方法,而且,在標準庫中有幾千個類,方法數量驚人,要想記住所有類和方法是不可能的。因此,學會使用在線API文檔十分重要,從中可以查閱到標準庫中所有類和方法。API文檔是JDK(開發工具包)的一部分,是HTML格式的。

    如下圖:Java在線API文檔(自行百度即可找到)

    ?

    ?

    9、構建字符串

  • 由許多小段字符串構建一個字符串,首先建一個空的字符串構建器:
  • StringBuilder builder=new StringBuilder();

  • 當每次需要添加一部分內容時,就調用append方法
  • builder.append(ch);//追加單個字符append a single character

    builder.append(str);//追加單個字符串append a single string

  • 在需要構建字符串時就toString方法,將可以得到一個String對象,其中包含了構建器中的字符序列
  • String completedString=builder.toString();

    注:在JDK5.0中引入了StringBuilder類。這個類的前身是StringBuffer,其效率有些低,但允許采用多線程的方式添加或刪除字符的操作。如果所有字符串在一個單線程中編輯(通常是這樣),則應該用StringBuilder代替它。這兩個類的API是相同的。

    下面是API注釋包含了StringBuilder類中的重要方法:《Java核心技術》P55

    ?

    ?

    ?  今天整理了筆記,另外開始接觸對象,明天繼續加油!

    ?

    ?

    轉載于:https://www.cnblogs.com/archer-lcy/p/8319323.html

    總結

    以上是生活随笔為你收集整理的DAY9-字符串笔记整理2018-1-19的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。