English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java-Grundlagen-Tutorial

Java Flusskontrolle

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java-Exception-Verarbeitung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map-Sammlung

Java Set-Sammlung

Java Ein- und Ausgabe(I)/O)

Java Reader/Writer

Java andere Themen

Java String format() Methode Verwendung und Beispiel

Java String (Zeichenkette) Methoden

Die String.format() Methode gibt eine formatierte Zeichenkette zurück, basierend auf den übergebenen Parametern.

Die Syntax der String.format() Methode ist:

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

Hinweis:

  • format() ist ein statisches Methode. Wir rufen die Methode format() mit dem Klassennamen String auf.

  • In dem obigen Code bedeutet ... , dass mehrere Objekte an format() übergeben werden können.

format() Parameter

  • format - Format-String

  • args - 0 oder mehr Parameter

format() Rückgabewert

  • Gibt die formatierte Zeichenkette zurück

Beispiel1:Java String format()

class Main {
  public static void main(String[] args) {
    String language = "Java";
    int number = 30;
    String result;
    // Formatiert ein Objekt in eine Zeichenkette
    result = String.format("Language: %s", language);
    System.out.println(result); // Language: Java
    //Formatiert eine Zahl in eine Hexadezimalzahl
    result = String.format("Hexadezimalzahl: %x", number); // 1e
    System.out.println(result); // Hexadezimalzahl: 1e
  }
}

Beachten Sie im obigen Programm den Code

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

Dies "Language: %s" ist einFormat-String.

Ersetzt %s im Formatierungsstring durch den Inhalt von language. %s ist ein Formatierungszeichen.

Gleichzeitig wird %x durch String.format("Number: %x", number) ersetzt, wobei number der Hexadezimalwert von number ist.

Formatierungszeichen

Hier sind einige gängige Formatierungszeichen:

FormatierungszeichenBeschreibung
%b, %BNach Parameter "true" oder "false"
%s, %SEine Zeichenkette
%c, %CUnicode-Zeichen
%dDezimale Ganzzahl (nur für Ganzzahlen)
%oOktaale Ganzzahl (nur für Ganzzahlen)
%x, %XHexadezimale Ganzzahl (nur für Ganzzahlen)
%e, %EFür wissenschaftliche Zahlendarstellung (für Fließkommazahlen)
%fFür Dezimalzahlen (für Fließkommazahlen)

Beispiel2:Zahlens格式

class Main {
  public static void main(String[] args) {
    int n1 = 47;
    float n2 = 35.864f;
    double n3 = 44534345.76d;
    //Formatiert als Oktaalzahl
    System.out.println(String.format("n1Im Oktaalformat: %o", n1));  // 57
    //Formatiert als Hexadezimalzahl
    System.out.println(String.format("n1Im Hexadezimalformat: %x", n1));  // 2f
    System.out.println(String.format("n1Im Hexadezimalformat: %X", n1));  // 2F
    //Formatiert als Zeichenkette
    System.out.println(String.format("n1Als Zeichenkette: %s", n1));  // 47
    System.out.println(String.format("n2Als Zeichenkette: %s", n2));  // 35.864
    //Wissenschaftliche Notation
    System.out.println(String.format("n3Wissenschaftliche Zahlendarstellung: %g", n3)); // 4.45343e+07
  }
}

Ausgaberesultat

n1Oktal: 57
n1Hexadezimal: 2f
n1Hexadezimal: 2F
n1Als String: 47
n2Als String: 35.864
n3Wissenschaftliche Notation: 4.45343e+07

Sie können mehrere Formatbezeichner in einem Format-String verwenden.

Beispiel3Verwenden Sie mehrere Formatbezeichner

//Verwenden Sie mehrere Formatbezeichner
//Format-String
class Main {
  public static void main(String[] args) {
    int n1 = 47;
    String text = "Ergebnis";
    System.out.println(String.format("%s\nHexadezimal: %x", text, n1));
  }
}

Ausgaberesultat

Ergebnis
Hexadezimal: 2f

Hier wird %s durch den Wert von text ersetzt. Ebenso wird %o durch n ersetzt1Sechzehnbitiger Wert.

Die Arbeit von Java String format ()

Beispiel4Dezimalziffernform

class Main {
  public static void main(String[] args) {
    float n1 = -452.534f;
    double n2 = -345.766d;
    //formatiere den Fließkommazahl wie sie ist
    System.out.println(String.format("n1 = %.f", n1)); // -452.533997
    System.out.println(String.format("n2 = %.f", n2)); // -345.766000
    //zeige bis zu zwei Nachkommastellen
    System.out.println(String.format("n1 = %.2f", n1)); // -452.53
    System.out.println(String.format("n2 = %.2f", n2)); // -345.77
  }
}

Ausgaberesultat

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

Hinweis:Wenn wir mit %f formatieren-452.534wird, erhalten wir-452.533997. Dies liegt nicht daran, dass die format () -Methode. Java gibt keine genaue Darstellung von Fließkommazahlen zurück.

Verwenden Sie %.2Beim Formatieren mit dem f-Formatbezeichner gibt format () zwei Ziffern nach dem Dezimalpunkt an.

Beispiel5mit Leerzeichen und 0 füllen Sie die Zahl auf

// using more than one format specifiers
// in einem Format-String
class Main {
  public static void main(String[] args) {
    int n1 = 46, n2 = -46;
    String result;
        //Füllen Sie die Zahl mit Leerzeichen auf
        //Die Länge des Strings ist5
    result = String.format("|%5d|", n1); // |   46|
    System.out.println(result);
        //Füllen Sie die Zahl mit Ziffern 0 auf
        //Die Länge des Strings ist5
    result = String.format("|%5d|", n1); // |00046|
    System.out.println(result);
    //Verwenden Sie ein Zeichen vor der Zahl
    result = String.format("%+d", n1); // +46
    System.out.println(result);
    result = String.format("%+d", n2); // -46
    System.out.println(result);
        //Setzen Sie negative Zahlen in Klammern
        //und entfernen Sie das Zeichen
    result = String.format("%(d", n2); // (46)
    System.out.println(result);
  }
}

Beispiel60x und 0 werden vor Hexadezimal und Oktal verwendet:

//Verwenden Sie 0x vor dem Hexadezimalen.
//Verwenden Sie 0 vor dem Oktal.
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
  }
}

Java String format () mit Sprachumgebung

Wenn eine bestimmte Sprachumgebung verwendet werden muss, verfügt die String format () -Methode auch über eine andere Syntax.

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

Beispiel7:Verwenden Sie GERMAN-Sprachumgebung in format()

//Verwenden Sie Locale
import java.util.Locale;
class Main {
  public static void main(String[] args) {
    int number = 8652145;
    String result;
    //Verwenden Sie die aktuelle Sprachumgebung
    result = String.format("Zahlen: %%d", number);
    System.out.println(result);
    //Verwenden Sie die GERMAN-Sprachumgebung als ersten Parameter
    result = String.format(Locale.GERMAN, "Deutschlandische Zahlen: %%d", number);
    System.out.println(result);
  }
}

Ausgaberesultat

Zahlen: 8,652,145
Deutschlandische Zahlen: 8.652.145

Hinweis:In Deutschland wird der Komma durch einen Punkt ersetzt.

Java String (Zeichenkette) Methoden