Java Academy · Oppitunti

Merkkijonojen rakentaminen StringBuilderilla

Tehokas yhdistäminen

Oppitunti 2/413 vaihetta

Merkkijonojen rakentaminen StringBuilderilla on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/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.

Muokattava merkkijonorakentaja

StringBuilder on muokattava merkkijonojen sarja. Toisin kuin String, sen sisältöä voi muuttaa paikallaan, mikä tekee tekstin rakentamisesta tehokasta.

StringBuilderin luominen

Luokaa tyhjä rakentaja lausekkeella new StringBuilder() tai antakaa sille aloitusteksti, jos haluatte aloittaa valmiilla sisällöllä.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        StringBuilder named = new StringBuilder("Hello");
        System.out.println("empty length: " + sb.length());
        System.out.println("named: " + named);
    }
}

Tekstin lisääminen loppuun

append-metodi lisää sisältöä loppuun. Se hyväksyy merkkijonoja, lukuja, merkkejä, totuusarvoja ja paljon muuta.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("Count: ");
        sb.append(5);
        sb.append(' ');
        sb.append(true);
        System.out.println(sb);
    }
}

Metodikutsujen ketjuttaminen

append palauttaa saman rakentajan, joten kutsut voi ketjuttaa sujuvasti yhdeksi lausekkeeksi.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("a").append("b").append("c").append(123);
        System.out.println(sb);
    }
}

Rakentaminen silmukassa

Tämä on tärkein käyttötapaus. Lisätkää sisältöä silmukan sisällä luomatta joka kerta uutta oliota ja muuntakaa tulos merkkijonoksi kerran lopuksi.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        for (int i = 1; i <= 10; i++) {
            sb.append(i).append(' ');
        }
        System.out.println(sb.toString().trim());
    }
}

Merkkijonoksi muuntaminen

Kutsukaa metodia toString() saadaksenne rakentajasta tavallisen muuttumattoman String-olion, kun olette lopettaneet sen muokkaamisen.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("result");
        String finalText = sb.toString();
        System.out.println(finalText.toUpperCase());
    }
}

Liittäminen erottimen avulla

Voitte rakentaa pilkuilla eroteltuja luetteloita lisäämällä erottimen alkioiden väliin ja käsittelemällä viimeisen alkion huolellisesti.

public class Main {
    public static void main(String[] args) {
        String[] names = {"Ann", "Ben", "Cara"};
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < names.length; i++) {
            sb.append(names[i]);
            if (i < names.length - 1) {
                sb.append(", ");
            }
        }
        System.out.println(sb);
    }
}

Pituuden lukeminen

length() kertoo, kuinka monta merkkiä rakentaja sisältää parhaillaan. Arvo päivittyy, kun lisäätte sisältöä.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("12345");
        System.out.println("Length: " + sb.length());
    }
}

Merkkien käyttäminen

Lukekaa yksittäinen merkki sijainnin perusteella metodilla charAt(index) aivan kuten String-olion kanssa.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("Coddy");
        System.out.println("First: " + sb.charAt(0));
        System.out.println("Last: " + sb.charAt(sb.length() - 1));
    }
}

Kapasiteetti ja pituus

Rakentaja ylläpitää sisäistä puskuria eli kapasiteettia, joka kasvaa automaattisesti. Voitte antaa alustavan kapasiteetin, jotta koon muuttamista tarvitaan vähemmän, jos lopullinen koko on tiedossa.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder(100);
        sb.append("short");
        System.out.println("Length: " + sb.length());
        System.out.println("Capacity at least: " + (sb.capacity() >= 100));
    }
}

Käytännöllinen rakentaja

Kootaan asiat yhteen: rakentakaa pieni raporttimerkkijono tehokkaasti ketjutettujen append-kutsujen ja silmukan avulla.

public class Main {
    public static void main(String[] args) {
        int[] sales = {100, 250, 75};
        StringBuilder report = new StringBuilder("Sales Report\n");
        int total = 0;
        for (int i = 0; i < sales.length; i++) {
            report.append("Day ").append(i + 1).append(": ").append(sales[i]).append('\n');
            total += sales[i];
        }
        report.append("Total: ").append(total);
        System.out.println(report);
    }
}

Pikatarkistus

Miksi StringBuilder on tehokkaampi kuin toistuva +-ketjutus silmukassa?

Kertaus

Opitte rakentamaan merkkijonoja StringBuilder-luokan avulla:

  • Se on muokattava merkkijonojen sarja
  • append lisää sisältöä ja tukee ketjutusta
  • Se sopii ihanteellisesti tekstin rakentamiseen silmukoissa
  • Kutsukaa metodia toString() saadaksenne lopullisen String-olion
  • Alustava kapasiteetti välttää koon muuttamista
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 ”Merkkijonojen rakentaminen StringBuilderilla” ilmainen?

Kyllä – oppitunnin ”Merkkijonojen rakentaminen StringBuilderilla” 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 ”Merkkijonojen rakentaminen StringBuilderilla”?

Tehokas yhdistäminen 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 2/4.

Kuinka kauan ”Merkkijonojen rakentaminen StringBuilderilla”-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. Miksi merkkijonot ovat muuttumattomia
  2. Merkkijonojen rakentaminen StringBuilderilla
  3. StringBuilder-metodit
  4. StringBuilder ja StringBuffer
← Takaisin: Java Academy