# Java-merkkijonojen käyttö

Java-merkkijonot ovat yksi [Java-kielen](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/java-tietotyypit/) monimutkaisista [tietotyypeistä](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/java-tietotyypit/). Niitä käytetään merkkien tai numeroiden sarjan esittämiseen ja muokkaamiseen. Merkkijonojen muokkaamiseen on käytettävissä useita menetelmiä. Tässä oppaassa esittelemme Java-merkkijonoista tarvittavat perustiedot.

## Mitä ovat Java-merkkijonot ja mihin niitä käytetään?

Ohjelmointikielessä Java on monia erilaisia tietotyyppejä. Tärkeimpiä ovat [Java-primitiivit](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/java-primitiivit/), kuten kokonaisluku ja merkkijono, sekä monimutkaiset tietotyypit, kuten merkkijonot. Merkkijono on **merkkien tai numeroiden sarja**, joka esiintyy objektina java.lang-luokassa. Merkkijonot luodaan String-luokalla, eikä niitä voi enää muuttaa. Tästä huolimatta Java-merkkijonoja käytetään edelleen useammin kuin [StringBuilderia](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/java-stringbuilder/), jonka avulla merkkijonoja voi muokata niiden luomisen jälkeen. Seuraavassa selitämme, miten merkkijono luodaan ja mitä menetelmiä voit käyttää.

## Mikä on Java-merkkijonojen syntaksi?

Jos haluat luoda uuden merkkijonon Java-kielellä, voit käyttää tätä yksinkertaista syntaksia:

```java
String name = "string";
```

Ilmoitat järjestelmälle, että haluat luoda Java-merkkijonon, annat merkkijonolle nimen ja kirjoitat merkkijonon merkit **lainausmerkkien väliin**. Jos haluat viitata kyseiseen merkkijonoon myöhemmin, käytä sille antamaasi nimeä. Merkkijonon luomiseen käytettävä koodi näyttää seuraavalta:

```java
public class Main {
	public static void main(String[] args) {
	String example = "Here’s your first Java string.";
	System.out.println(example);
 }
}
```

Tulostus näyttää seuraavalta:

```java
Here’s your first Java string.
```

## Mitä menetelmiä käytetään Java-merkkijonojen kanssa?

Koska Java-merkkijonot ovat objekteja, niitä voidaan käyttää monin eri tavoin. Alla esitellään tärkeimmät menetelmät.

### `length()`

`length()` menetelmää käytetään **merkkijonon merkkien kokonaismäärän tulostamiseen**. Tuloksena saat merkkijonon pituuden. Tässä on syntaksi:

```java
stringName.length()
```

Se on myös erittäin helppo käyttää. Koodi näyttää seuraavalta:

```java
public class Main {
	public static void main(String[] args) {
	String example = "Here’s your first Java string.";
	int length = example.length();
	System.out.println("The string is " + length + " characters long.");
 }
}
```

Ja saat seuraavan tuloksen:

```java
The string is 30 characters long.
```

### `indexOf()`

Voit käyttää `indexOf()` -menetelmää **yhden tai useamman alimerkkijonon paikantamiseen suuremmasta merkkijonosta**. Sen syntaksi on seuraava:

```java
stringName.indexOf()
```

Käytä menetelmää syöttämällä vain se osa merkkijonosta, jonka haluat paikantaa.

```java
public class Main {
	public static void main(String[] args) {
	String example = "Here’s your first Java string.";
	System.out.println(example.indexOf("your"));
 }
}
```

Tuloksena saat sen sijainnin, jossa kyseinen teksti esiintyy ensimmäisen kerran:

```java
7
```

### `concat()`

`concat()`:lla voit **yhdistää kaksi erillistä merkkijonoa** uudeksi merkkijonoksi. Tässä on sen syntaksi:

```java
stringName.concat(string1)
```

Menetelmä toimii käytännössä seuraavasti:

```java
public class Main {
	public static void main(String[] args) {
	String example = "word";
	String newString = example.concat("smith");
	System.out.println(newString);
 }
}
```

Tässä on tulos:

```java
wordsmith
```

### `equals()`

`equals()` on yksi monista menetelmistä, joita voit käyttää Java-merkkijonojen vertailuun keskenään. Menetelmä palauttaa **boolean-arvon (true tai false)**. Sen syntaksi on seuraava:

```java
string1.equals(string2)
```

Esimerkissämme luomme kolme merkkijonoa ja vertailemme sitten ensimmäistä kahteen muuhun:

```java
public class Main {
	public static void main(String[] args) {
	String string1 = "ABC";
	String string2 = "ABC";
	String string3 = "DEF";
	System.out.println(string1.equals(string2));
	System.out.println(string1.equals(string3));
 }
}
```

Koska ensimmäinen ja toinen merkkijono ovat identtiset ja kolmas ei ole, saat seuraavan tuloksen:

```java
true
false
```

### `toUpperCase()` ja `toLowerCase()`

Menetelmät `toUpperCase()` ja `toLowerCase()` muuntavat merkkijonon merkkien arvot **isoiksi tai pieniksi** kirjaimiksi. Tässä on kunkin menetelmän syntaksi:

```java
stringName.toUpperCase()
stringName.toLowerCase()
```

Näin ne toimivat:

```java
public class Main {
	public static void main(String[] args) {
	String example = "Here’s your first Java string.";
	System.out.println(example.toUpperCase());
	System.out.println(example.toLowerCase());
 }
}
```

Tässä on tulos:

```java
HERE’S YOUR FIRST JAVA STRING.
here's your first java string.
```

### `split()`

[Java split()](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/merkkijonon-jakaminen-java-kielessae/) -metodilla voit **jakaa Java-merkkijonon pienempiin osamerkkijonoihin**. Tässä on sen syntaksi:

```java
String[] split(String regex)
```

Näin se näyttää käytännössä:

```java
public class Main {
	public static void main(String[] args) {
		String x = "Here’s your first Java string";
		String[] output = x.split(" ");
		for (String y : output) {
			System.out.println(y);
		}
	}
}
```

Tulostus näyttää tältä:

```java
Here’s
your
first
Java
string.
```


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/java-merkkijonot-1/](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/java-merkkijonot-1/) for AI/LLM consumption.