Java Academy · Oppitunti

String.format

Rakenna muotoiltuja merkkijonoja.

Oppitunti 3/413 vaihetta

String.format on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 4 oppituntia.

Muotoilu ilman tulostamista

printf lähettää tekstin suoraan konsoliin. Joskus haluatte kuitenkin muotoillun tekstin String-arvona, jotta voitte tallentaa, palauttaa tai käyttää sitä uudelleen.

String.format tekee juuri tämän: säännöt ovat samat, mutta tulostamisen sijaan metodi palauttaa arvon.

Ensimmäinen String.format-kutsunne

String.format käyttää samoja paikanvaraajia kuin printf. Se muodostaa uuden merkkijonon ja palauttaa sen teille.

Tässä tulos tallennetaan muuttujaan msg ja tulostetaan sitten.

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

Samat määritteet

Kaikki oppimanne pätee: %d, %f, %.2f, leveydet ja liput toimivat myös String.format-metodissa.

Ainoa ero on, että tulos palautetaan eikä näytetä.

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

Tuloksen tallentaminen

Koska metodi palauttaa String-arvon, voitte säilyttää sen muuttujassa, yhdistää sen toiseen merkkijonoon tai välittää sen toiselle metodille.

Tämä on hyödyllistä viestien muodostamisessa vaiheittain.

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

Muotoillun tekstin palauttaminen

Metodi voi käyttää String.format-metodia siistin merkkijonon palauttamiseen. Näin muotoilulogiikka pysyy yhdessä paikassa.

Alla greet palauttaa muotoillun tervehdyksen.

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

Ei automaattista rivinvaihtoa

Kuten printf, myös String.format ei lisää rivinvaihtoa, ellette kirjoita muotoilumerkkijonoon merkintää \n.

Jos tulostatte tuloksen println-metodilla, se lisää rivinvaihdon puolestanne.

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

Useita arvoja

Voitte välittää argumentteja yhtä monta kuin paikanvaraajia on. Ne täyttävät paikat vasemmalta oikealle aivan kuten printf-metodissa.

Näin tietorivin muodostaminen yhdeksi merkkijonoksi on helppoa.

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

Muotoilun käyttäminen uudelleen

Koska muotoilumerkkijono on tavallista tekstiä, voitte käyttää sitä silmukassa monta kertaa yhdenmukaisten merkkijonojen muodostamiseen.

Jokainen kutsu palauttaa uuden merkkijonon uusilla arvoilla.

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 käyttää format-metodia sisäisesti

Konepellin alla System.out.printf(fmt, args) toimii samoin kuin String.format(fmt, args)-kutsun tulostaminen.

Valinta niiden välillä riippuu siis oikeastaan siitä, haluatteko tulostaa tekstin heti vai säilyttää sen myöhempää käyttöä varten.

Lokien ja tunnisteiden muodostaminen

String.format on kätevä lokiriveissä, käyttöliittymän tunnisteissa ja tiedostonimissä, joissa tarvitaan tarkkaa rakennetta.

Kun muotoilu keskitetään yhteen paikkaan, yksi muutos päivittää kaikki viestit.

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

Samat tyyppisäännöt pätevät

Määritteen ja arvon väliset säännöt ovat samat: %d tarvitsee kokonaisluvun, %f liukuluvun, ja yhteensopimattomuus aiheuttaa ajonaikaisen poikkeuksen.

Tarkistakaa paritukset ennen ohjelman suorittamista.

Pikatarkistus

Miten String.format eroaa printf-metodista?

Kertaus

String.format käyttää samoja sääntöjä kuin printf, mutta palauttaa String-arvon, jonka voitte tallentaa, palauttaa tai käyttää uudelleen.

Seuraavaksi yhdistätte leveydet ja tasauksen siistien taulukoiden muodostamiseksi.

Aloita maksutta

Opi Java tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
104
Oppitunnit
374

Usein kysytyt kysymykset

Onko oppitunti ”String.format” ilmainen?

Kyllä – oppitunnin ”String.format” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”String.format”?

Rakenna muotoiltuja merkkijonoja. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”String.format”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?

Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. printf-perusteet
  2. Luku- ja desimaalimuodot
  3. String.format
  4. Taulukoiden tasaaminen
← Takaisin: Java Academy