JAVA 程式設計思想 第13章 字串

YUELEI118發表於2020-12-18

一級目錄

二級目錄

三級目錄

第13章 字串

13.1 不可變的String

String的物件是不可變的,每次對String物件的操作都是建立了一個全新的String

13.2 過載“+”與StringBuilder

  • “+”操作符來拼接字串實質上是呼叫了StingBuilder的add()方法。
  • 如果字串的拼接比較頻繁,使用StringBilder效率會更高。
  • StringBuilder提供了豐富而全面的方法:insert()、repleace()、substring()、reverse()、delete()和最常用的append()和toString()

13.3 無意識的遞迴

13.5 格式化輸出

13.5.3 Formatter類

13.5.4 格式化說明符

public class Infinite {
    public static void main(String[] args) {
        Formatter f = new Formatter(System.out);
        String name = "jack's Magic Beans";
        double price = (float) 5.333;
        int qty = 5;
        f.format("%-15.10s %5d %10.2f\n" ,
                   name,qty,price);
    }
}
輸出:jack's Mag          5       5.33

“%-15.10s %5d %10.2f”

  • “-”符號,左對齊
  • “15.10” 佔15個字元的控制元件,只列印10個字元
  • “10.2f” 佔10個字元,包含小數點後兩位數。

13.5.6 String.format()

		int i = 1;
        int j = 2;
        String s = "jack's Magic Beans";
        System.out.println(String.format("i=%-5d j=%5d%10%15s",i ,j ,s));
//輸出:
i=1     j=    2         %15s

13.6 正規表示式

String s;
s.matches("正規表示式");
//字串s是否符合“正規表示式”,返回值為boolean
public class Rudolph {
    public static void main(String[] args) {
        for (String pattern : new String[]{
                "Rudolph", "[rR]udolph", "[rR][aeiou][a-z]\\wl.*","R.*"}){
            System.out.println("Rudolph".matches(pattern));
        }
    }
}
//輸出:
true
true
true
true

相關文章