String Formatting Operations in Java
Pyyhkäise näyttääksesi valikon
Todellisissa sovelluksissa tekstiä näytetään käyttäjille jatkuvasti — tilausvahvistukset, kuitit, ilmoitukset, tilapäivitykset. Pelkkä raakateksti ei usein riitä: tarvitaan rakennetta, luettavuutta ja dynaamisia arvoja, jotka muuttuvat jokaisella ohjelman suorituskerralla. Tässä kohtaa merkkijonon muotoiluoperaatiot astuvat kuvaan.
Rivinvaihtomerkki \n
Jos haluat jakaa yhden merkkijonon usealle riville ilman erillisiä println-kutsuja, käytä \n-pakomerkkiä. Se kertoo Javalle, että tässä kohdassa siirrytään seuraavalle riville — aivan kuin painaisit Enteriä merkkijonon sisällä.
Main.java
12345678910package com.example; public class Main { public static void main(String[] args) { String message = "Welcome to our Coffee Shop\nYour order is being prepared\nThank you for visiting"; System.out.println(message); } }
Sen sijaan, että tulostettaisiin yksi pitkä rivi, Java jakaa tulosteen jokaisen \n-merkin kohdalta ja näyttää rakenteellisen viestin kolmella eri rivillä.
String.format()
Kun halutaan rakentaa dynaamisia viestejä lisäämällä arvoja kiinteään mallipohjaan, käytetään String.format()-metodia. Sen sijaan, että yhdistettäisiin merkkijonoja manuaalisesti +-operaattorilla, määritellään mallipohja paikkamerkeillä ja välitetään arvot erikseen.
Main.java
12345678910111213141516171819package com.example; public class Main { public static void main(String[] args) { String customerName = "Anna"; int orderNumber = 42; double price = 4.99; String message = String.format( "Customer: %s | Order: %d | Price: %.2f", customerName, orderNumber, price ); System.out.println(message); } }
String.format() ottaa mallimerkkijonon ja täyttää jokaisen paikkamerkin vastaavalla arvolla järjestyksessä — customerName menee kohtaan %s, orderNumber kohtaan %d ja price kohtaan %.2f. Tuloksena on selkeä, jäsennelty rivi: Customer: Anna | Order: 42 | Price: 4.99.
Muotoilumääritteet
String.format()-metodin sisällä paikkamerkit alkavat aina merkillä % ja määrittävät, minkä tyyppinen arvo siihen tulee:
%s— teksti (String);%d— kokonaisluvut (int);%f— desimaaliluvut (double/float);%.2f— desimaaliluku, jossa on tarkalleen 2 numeroa desimaalipisteen jälkeen.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme