Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java String format() 使用方法及示例

Java String(字符串) 方法

Java String format()方法根據(jù)傳遞的參數(shù)返回格式化的字符串。

String format()方法的語法為:

String.format(String format, Object... args)

注意:

  • format()是靜態(tài)方法。我們使用類名String調(diào)用format()方法。

  • 在上面的代碼中,... 表示可以向format()傳遞多個對象。

format()參數(shù)

  • format - 格式字符串

  • args - 0個或更多參數(shù)

format()返回值

  • 返回格式化的字符串

示例1:Java String format()

class Main {
  public static void main(String[] args) {
    String language = "Java";
    int number = 30;
    String result;

    // 將對象格式化為字符串
    result = String.format("Language: %s", language);
    System.out.println(result); // Language: Java

    //將數(shù)字格式化為十六進制數(shù)字
    result = String.format("十六進制數(shù): %x", number); // 1e
    System.out.println(result); // 十六進制數(shù): 1e
  }
}

在上面的程序中,注意代碼

result = String.format("Language: %s", language);

這"Language: %s"是一個格式字符串。

將格式字符串中的%s替換為language內(nèi)容。%s是格式說明符。

同樣,%x替換為String.format("Number: %x", number)中number的十六進制值。

格式說明符

以下是常用的格式說明符:

說明符描述
%b, %B根據(jù)參數(shù)為“ true”或“ false”
%s, %S一個字符串
%c, %CUnicode字符
%d十進制整數(shù)(僅用于整數(shù))
%o八進制整數(shù)(僅用于整數(shù))
%x, %X十六進制整數(shù)(僅用于整數(shù))
%e, %E用于科學(xué)計數(shù)法(用于浮點數(shù))
%f用于十進制數(shù)字(用于浮點數(shù))

示例2:數(shù)字的字符串格式

class Main {
  public static void main(String[] args) {
    int n1 = 47;
    float n2 = 35.864f;
    double n3 = 44534345.76d;

    //格式為八進制數(shù)字
    System.out.println(String.format("n1的八進制: %o", n1));  // 57

    //格式為十六進制數(shù)字
    System.out.println(String.format("n1的十六進制: %x", n1));  // 2f
    System.out.println(String.format("n1的十六進制: %X", n1));  // 2F

    //格式化為字符串
    System.out.println(String.format("n1作為字符串: %s", n1));  // 47
    System.out.println(String.format("n2作為字符串: %s", n2));  // 35.864

    //科學(xué)記數(shù)格式
    System.out.println(String.format("n3科學(xué)計數(shù)法: %g", n3)); // 4.45343e+07
  }
}

輸出結(jié)果

n1的八進制: 57
n1的十六進制: 2f
n1的十六進制: 2F
n1作為字符串: 47
n2作為字符串: 35.864
n3科學(xué)計數(shù)法: 4.45343e+07

您可以在格式字符串中使用多個格式說明符。

示例3:使用多個格式說明符

//使用多個格式說明符
//格式字符串
class Main {
  public static void main(String[] args) {
    int n1 = 47;
    String text = "Result";

    System.out.println(String.format("%s\n十六進制: %x", text, n1));

  }
}

輸出結(jié)果

Result
十六進制: 2f

此處,%s被替換為text的值。 同樣,%o被替換為n1的十六進制值。

Java中的字符串格式化期間,格式說明符被對象值替換
Java String format()的工作

示例4:十進制數(shù)的格式

class Main {
  public static void main(String[] args) {

    float n1 = -452.534f;
    double n2 = -345.766d;

    //按原樣格式化浮點數(shù)
    System.out.println(String.format("n1 = %f", n1)); // -452.533997
    System.out.println(String.format("n2 = %f", n2)); // -345.766000

    //顯示到小數(shù)點后兩位
    System.out.println(String.format("n1 = %.2f", n1)); // -452.53
    System.out.println(String.format("n2 = %.2f", n2)); // -345.77
  }
}

輸出結(jié)果

n1 = -452.533997
n2 = -345.766000
n1 = -452.53
n2 = -345.77

注意:當(dāng)我們使用%f格式化-452.534時,我們得到-452.533997。 這不是因為format()方法。  Java沒有返回浮點數(shù)的確切表示形式。

使用%.2f格式說明符時,format()在小數(shù)點后給出兩個數(shù)字。

示例5:用空格和0填充數(shù)字

// using more than one format specifiers
// in a format string
class Main {
  public static void main(String[] args) {
    int n1 = 46, n2 = -46;
    String result;

        //用空格填充數(shù)字
        //字符串的長度為5
    result = String.format("|%5d|", n1); // |   46|
    System.out.println(result);

        //用數(shù)字0填充數(shù)字
        //字符串的長度為5
    result = String.format("|%05d|", n1); // |00046|
    System.out.println(result);

    //在數(shù)字前使用符號
    result = String.format("%+d", n1); // +46
    System.out.println(result);
    result = String.format("%+d", n2); // -46
    System.out.println(result);

        //將負(fù)數(shù)括在括號內(nèi)
        //并刪除符號
    result = String.format("%(d", n2); // (46)
    System.out.println(result);
  }
}

示例6:在十六進制和八進制之前使用0x和0

//在十六進制前使用0x
//在八進制之前使用0
class Main {
  public static void main(String[] args) {
    int n = 46;

    System.out.println(String.format("%#o", n)); // 056
    System.out.println(String.format("%#x", n)); // 0x2e
  }
}

帶有語言環(huán)境的Java字符串format()

如果必須使用指定的語言環(huán)境,則String format()方法還具有另一種語法。

String.format(Locale l,String format, Object... args)

示例7:在format()中使用GERMAN語言環(huán)境

//使用 Locale
import java.util.Locale;

class Main {
  public static void main(String[] args) {
    int number = 8652145;
    String result;

    //使用當(dāng)前語言環(huán)境
    result = String.format("數(shù)字: %,d", number);
    System.out.println(result);

    //使用GERMAN語言環(huán)境作為第一個參數(shù)
    result = String.format(Locale.GERMAN, "德語數(shù)字: %,d", number);
    System.out.println(result);
  }
}

輸出結(jié)果

數(shù)字: 8,652,145
德語數(shù)字: 8.652.145

注意:在德國,整數(shù)用.代替,。

Java String(字符串) 方法

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清