next up previous contents index
Next: Käyttäjän syötteen lukeminen Up: Perusteet Previous: Lisää sijoituskäskystä   Sisältö   Hakemisto

Operaatioita merkkijonoilla

Sijoituskäskyä voidaan käyttää myös String-tyyppisiä muuttujia käsitellessä.

String mjono;
mjono = "Kaunis päivä tänään";

antaa muuttujalle mjono arvoksi tiedon siitä, missä merkkijono "Kaunis päivä tänään tietokoneen muistissa sijaitsee. Tämän jälkeen merkkijono voidaan esimerkiksi tulostaa kuvaruudulle käskyllä

System.out.println(mjono);

Käskyt

String mjono, toinenJono;
mjono = "Kaunis päivä tänään";
toinenJono = mjono;

sijoittavat myös muuttujan toinenJono arvoksi tiedon siitä, missä merkkijono "Kaunis päivä tänään sijaitsee.

Kaksi tai useampia merkkijonoja voidaan liittää peräkkäin +-operaatiolla, esimerkiksi käskyjä

String mjono;
mjono = "Kaunis päivä tänään" + " mutta ei huomenna";

suoritettaessa lasketaan ensin sijoituskäskyn oikealla puolella olevan lausekkeen arvo, eli luodaan kokonaan uusi merkkijono, jonka sisältö on "Kaunis päivä tänään mutta ei huomenna". Tämän jälkeen muuttujalle mjono annetaan arvoksi tieto siitä, missä merkkijono tietokoneen muistissa sijaitsee. Operaattori + ei siis saa aikaiseksi yhteenlaskua, jos vähintään toinen sen operandeista on merkkijono.

Operaattorilla + voidaan myös yhdistää merkkijonoon lukuarvo (tai oikeastaan lukuarvoa kuvaavat merkit). Esimerkiksi

String mjono;
mjono = "Niilo" + 32;
antaa muuttujalle mjono arvoksi tiedon merkkijonon "Niilo32 sijaintipaikasta.

Käskyjono

String mjono;
int luku;
luku = 45.08;
mjono = "Taina" + luku;
antaa muuttujalle mjono arvoksi tiedon merkkijonon "Taina45.08 sijaintipaikasta.

Merkkijonoon yhdistettäviä lukuja voi olla myös useampi kuin yksi. Tällöin täytyy kuitenkin huomata, että laskentajärjestyksellä on merkitystä. Jos +-operaattorin molemmat operandit ovat lukuja, suoritetaan normaali yhteenlasku. Jos vähintään toinen operandeista on merkkijono, suoritetaan merkkijonojen yhteenliittäminen.

Täten käsky

System.out.println("Aino" + 48 + 12);
tulostaa kuvaruudulle Aino4812, mutta käsky
System.out.println("48 + 12 + "Aino");
tulostaa kuvaruudulle 60Aino, koska +-operaatiot suoritetaan vasemmalta oikealle.


next up previous contents index
Next: Käyttäjän syötteen lukeminen Up: Perusteet Previous: Lisää sijoituskäskystä   Sisältö   Hakemisto
Kerttu Pollari-Malmi 2003-01-27