Java Academy · Lektion

String.format

Skapa formaterade strängar

Lektion 3 av 413 steg

String.format är en gratis lektion i Java Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Java Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Java Academy innehåller totalt 4 lektioner.

Formatera utan att skriva ut

printf skickar text direkt till konsolen. Ibland vill ni däremot ha den formaterade texten som en String för att lagra, returnera eller återanvända den.

String.format gör precis detta: samma regler, men metoden returnerar ett värde i stället för att skriva ut texten.

Ert första String.format-anrop

String.format använder samma platshållare som printf. Metoden bygger en ny sträng och lämnar tillbaka den.

Här lagras resultatet i msg och skrivs sedan ut.

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

Samma formatspecifikationer

Allt ni har lärt er gäller: %d, %f, %.2f, bredder och flaggor fungerar alla i String.format.

Den enda skillnaden är att resultatet returneras i stället för att visas.

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

Lagra resultatet

Eftersom metoden returnerar en String kan ni spara den i en variabel, sammanfoga den eller skicka den till en annan metod.

Detta är användbart när meddelanden ska byggas steg för steg.

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

Returnera formaterad text

En metod kan använda String.format för att returnera en välformaterad sträng. Då samlas formateringslogiken på ett ställe.

Nedan returnerar greet den formaterade hälsningen.

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"));
    }
}

Ingen automatisk radbrytning

Precis som printf lägger String.format inte till någon radbrytning om ni inte skriver \n i formatsträngen.

Om ni skriver ut resultatet med println läggs radbrytningen till automatiskt.

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

Flera värden

Ni kan skicka med lika många argument som det finns platshållare. De fyller platserna från vänster till höger, precis som med printf.

Det gör det enkelt att bygga en datarad som en enda sträng.

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

Återanvända ett format

Eftersom formatsträngen bara är text kan ni använda den flera gånger i en loop för att skapa konsekventa strängar.

Varje anrop returnerar en ny sträng med nya värden.

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 använder format internt

Internt fungerar System.out.printf(fmt, args) ungefär som att skriva ut String.format(fmt, args).

Valet mellan dem handlar alltså egentligen om huruvida ni vill skriva ut texten nu eller spara den till senare.

Bygga loggar och etiketter

String.format är praktiskt för loggrader, etiketter i användargränssnitt och filnamn där ni behöver ett exakt mönster.

Om formatet centraliseras räcker en ändring för att uppdatera alla meddelanden.

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);
    }
}

Samma typregler gäller

Reglerna för formatspecifikationer och värden är identiska: %d kräver ett heltal, %f kräver ett flyttal och en typkonflikt kastar ett undantag vid körning.

Kontrollera kopplingarna en extra gång innan ni kör programmet.

Snabb kontroll

Hur skiljer sig String.format från printf?

Sammanfattning

String.format följer samma regler som printf men returnerar en String som ni kan lagra, returnera eller återanvända.

Härnäst ska ni kombinera bredder och justering för att bygga tydliga tabeller.

Gratis att börja

Lär dig Java med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
104
Lektioner
374

Vanliga frågor

Är lektionen ”String.format” gratis?

Ja – hela texten till ”String.format” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Java Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Java Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”String.format”?

Skapa formaterade strängar Ni övar på Java Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Java Academy?

Du behöver inga förkunskaper. Utbildningen i Java Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”String.format”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Java Academy-lektionen?

Ja. Varje Java Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Grunderna i printf
  2. Tal- och decimalformat
  3. String.format
  4. Justera tabeller
← Tillbaka till Java Academy