Java Academy · Lektion

String.format

Opbyg formaterede strenge.

Lektion 3 af 413 trin

String.format er en gratis Java Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Java Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Java Academy-kurset indeholder 4 lektioner i alt.

Formatere uden at udskrive

printf sender tekst direkte til konsollen. Men nogle gange vil du have den formaterede tekst som en String, så du kan gemme, returnere eller genbruge den.

String.format gør netop det: de samme regler gælder, men metoden returnerer en værdi i stedet for at udskrive den.

Din første String.format

String.format bruger de samme pladsholdere som printf. Den opbygger en ny tekststreng og returnerer den til dig.

Her gemmes resultatet i msg og udskrives derefter.

public class Main {
    public static void main(String[] args) {
        String msg = String.format("Hello, %s!", "World");
        System.out.println(msg);
    }
}

De samme formatspecifikatorer

Alt det, du har lært, gælder stadig: %d, %f, %.2f, bredder og flag fungerer alle i String.format.

Den eneste forskel er, at resultatet returneres i stedet for at blive vist.

public class Main {
    public static void main(String[] args) {
        String s = String.format("%s: %.2f", "Price", 9.5);
        System.out.println(s);
    }
}

Gemme resultatet

Fordi den returnerer en String, kan du gemme den i en variabel, sammenkæde den eller sende den til en anden metode.

Det er nyttigt, når du vil opbygge meddelelser trin for trin.

public class Main {
    public static void main(String[] args) {
        String label = String.format("#%03d", 7);
        System.out.println("ID " + label);
    }
}

Returnere formateret tekst

En metode kan bruge String.format til at returnere en pæn tekststreng. Det samler formateringslogikken ét sted.

Herunder returnerer greet den formaterede hilsen.

public class Main {
    static String greet(String name) {
        return String.format("Welcome, %s!", name);
    }
    public static void main(String[] args) {
        System.out.println(greet("Mia"));
    }
}

Intet automatisk linjeskift

Ligesom printf tilføjer String.format ikke et linjeskift, medmindre du skriver \n i formatstrengen.

Hvis du udskriver resultatet med println, tilføjer den linjeskiftet for dig.

public class Main {
    public static void main(String[] args) {
        String s = String.format("Line one");
        System.out.println(s);
    }
}

Flere værdier

Du kan sende lige så mange argumenter, som der er pladsholdere. De udfylder pladserne fra venstre mod højre, præcis som med printf.

Det gør det nemt at opbygge en række data som en enkelt tekststreng.

public class Main {
    public static void main(String[] args) {
        String row = String.format("%s | %d | %.1f", "Tea", 3, 2.5);
        System.out.println(row);
    }
}

Genbruge et format

Da formatstrengen bare er tekst, kan du anvende den mange gange i en løkke for at oprette ensartede tekststrenge.

Hvert kald returnerer en ny tekststreng med nye værdier.

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 3; i++) {
            System.out.println(String.format("Item %d", i));
        }
    }
}

printf bruger format internt

Internt fungerer System.out.printf(fmt, args) som at udskrive String.format(fmt, args).

Valget mellem dem handler derfor i virkeligheden om, hvorvidt du vil udskrive teksten nu eller gemme den til senere.

Opbygge loglinjer og etiketter

String.format er praktisk til loglinjer, etiketter i brugergrænseflader og filnavne, hvor du har brug for et præcist mønster.

Når formatet samles ét sted, sørger én ændring for at opdatere alle meddelelser.

public class Main {
    public static void main(String[] args) {
        int code = 404;
        String log = String.format("[ERROR %d] not found", code);
        System.out.println(log);
    }
}

De samme typeregler gælder

Reglerne for formatspecifikatorer og værdier er identiske: %d kræver et heltal, %f kræver en kommaværdi, og en uoverensstemmelse udløser en undtagelse under kørsel.

Kontrollér koblingerne en ekstra gang, før du kører programmet.

Hurtigt tjek

Hvordan adskiller String.format sig fra printf?

Opsamling

String.format følger de samme regler som printf, men returnerer en String, som du kan gemme, returnere eller genbruge.

Derefter skal du kombinere bredder og justering for at opbygge overskuelige tabeller.

Gratis at komme i gang

Lær Java med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
104
Lektioner
374

Ofte stillede spørgsmål

Er lektionen “String.format” gratis?

Ja — hele teksten til “String.format” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Java Academy-kurset, skal du opgradere til CoddyKit PRO. Java Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “String.format”?

Opbyg formaterede strenge. Du øver dig i Java Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Java Academy?

Der kræves ingen tidligere erfaring. Java Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “String.format”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Java Academy-lektion?

Ja. Alle Java Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Grundlæggende printf
  2. Tal- og decimalformater
  3. String.format
  4. Justering af tabeller
← Tilbage til Java Academy