String.format
Bygg formaterte strenger.
String.format er en gratis leksjon i Java Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Java Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Java Academy inneholder totalt 4 leksjoner.
Formatere uten å skrive ut
printf sender tekst rett til konsollen. Men noen ganger er det ønskelig å ha den formaterte teksten som en String for å lagre, returnere eller bruke på nytt.
String.format gjør nettopp dette: samme regler, men den returnerer en verdi i stedet for å skrive ut.
Din første String.format
String.format bruker de samme plassholderne som printf. Den bygger en ny streng og gir den tilbake.
Her lagres resultatet i msg før det skrives ut.
public class Main {
public static void main(String[] args) {
String msg = String.format("Hello, %s!", "World");
System.out.println(msg);
}
}De samme spesifikatorene
Alt du har lært, gjelder fortsatt: %d, %f, %.2f, bredder og flagg fungerer alle i String.format.
Den eneste forskjellen er at resultatet returneres i stedet for å vises.
public class Main {
public static void main(String[] args) {
String s = String.format("%s: %.2f", "Price", 9.5);
System.out.println(s);
}
}Lagre resultatet
Siden den returnerer en String, kan den lagres i en variabel, settes sammen med andre strenger eller sendes til en annen metode.
Dette er nyttig for å bygge meldinger trinn for trinn.
public class Main {
public static void main(String[] args) {
String label = String.format("#%03d", 7);
System.out.println("ID " + label);
}
}Returnere formatert tekst
En metode kan bruke String.format til å returnere en ryddig streng. Da samles formateringslogikken på ett sted.
Nedenfor returnerer greet den formaterte hilsenen.
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 linjeskift
I likhet med printf legger String.format ikke til et linjeskift med mindre du skriver \n i formatstrengen.
Hvis resultatet skrives ut med println, legges linjeskiftet til automatisk.
public class Main {
public static void main(String[] args) {
String s = String.format("Line one");
System.out.println(s);
}
}Flere verdier
Du kan sende så mange argumenter som det finnes plassholdere. De fyller plassene fra venstre mot høyre, akkurat som med printf.
Dette gjør det enkelt å bygge en datarad som én enkelt streng.
public class Main {
public static void main(String[] args) {
String row = String.format("%s | %d | %.1f", "Tea", 3, 2.5);
System.out.println(row);
}
}Gjenbruke et format
Siden formatstrengen bare er tekst, kan den brukes mange ganger i en løkke for å lage strenger med samme format.
Hvert kall returnerer en ny streng med nye verdier.
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 bruker format internt
Internt oppfører System.out.printf(fmt, args) seg som om det skriver ut String.format(fmt, args).
Valget mellom dem handler derfor egentlig om du vil skrive ut nå eller ta vare på teksten til senere.
Bygge logger og etiketter
String.format er praktisk for logglinjer, etiketter i brukergrensesnittet og filnavn der du trenger et presist mønster.
Hvis formatet sentraliseres, vil én endring oppdatere alle meldinger.
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 typereglene gjelder
Reglene for spesifikator og verdi er identiske: %d krever et heltall, %f krever en flyttallsverdi, og en uoverensstemmelse utløser et unntak under kjøring.
Kontroller koblingene en ekstra gang før kjøring.
Kort kontroll
Hvordan skiller String.format seg fra printf?
Oppsummering
String.format følger de samme reglene som printf, men returnerer en String som kan lagres, returneres eller brukes på nytt.
Deretter skal du kombinere bredder og justering for å bygge ryddige tabeller.
Lær deg Java med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 104
- Leksjoner
- 374
Ofte stilte spørsmål
Er leksjonen «String.format» gratis?
Ja – hele teksten i «String.format» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Java Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Java Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «String.format»?
Bygg formaterte strenger. Du øver på Java Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Java Academy?
Ingen tidligere erfaring er nødvendig. Java Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «String.format»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Java Academy-leksjonen?
Ja. Alle Java Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.