Matemaattiset operaatiot char-muuttujilla
Pyyhkäise näyttääksesi valikon
Miksi matemaattiset operaatiot ovat mahdollisia char-tyypille?
char-tietotyyppi on varsin mielenkiintoinen. Se tallentaa merkkejä, mutta tähän tietotyyppiin voi myös suorittaa operaatioita.
Main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { char firstLetter = 'A'; char secondLetter = '('; // We use type casting here to convert value from `int` to `char` char result = (char) (firstLetter + secondLetter); System.out.println(result); } }
Tässä käytetään +-merkkiä kahden eri muuttujan yhdistämiseen.
Voisi kuvitella, että tulos olisi A(, mutta kuten näemme, tulos onkin i. Miksi näin on? char ei ole pelkästään merkkityyppi, vaan se ottaa merkit ASCII-taulukosta. Merkki A vastaa numeroa 65 taulukossa, kun taas merkki ( vastaa numeroa 40. Kuten ehkä arvasit, merkki i vastaa numeroa 105, koska 65 + 40 = 105.
Tässä on linkki ASCII table.
Tyyppimuunnos
Yllä olevassa koodissa saatat huomata tämän epätavallisen syntaksin:
char result = (char) (firstLetter + secondLetter);
Mutta miksi tarvitaan (char)? Yhteenlasku operaatio palauttaa tuloksen tyypiltään int, koska se laskee merkkien numeeriset koodit yhteen. Jotta tämän tuloksen voi tallentaa char-tyyppiseen muuttujaan, tarvitaan eksplisiittinen muunnos. Juuri tämän tekee (char)-rakenne—se muuntaa numeerisen arvon takaisin merkiksi.
Esimerkissämme yhteenlaskun tulos on numero 105. (char)-rakenne muuntaa tämän numeron ASCII-taulukon koodia 105 vastaavaksi merkiksi, joka sattuu olemaan merkki i.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Matemaattiset operaatiot char-muuttujilla
Miksi matemaattiset operaatiot ovat mahdollisia char-tyypille?
char-tietotyyppi on varsin mielenkiintoinen. Se tallentaa merkkejä, mutta tähän tietotyyppiin voi myös suorittaa operaatioita.
Main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { char firstLetter = 'A'; char secondLetter = '('; // We use type casting here to convert value from `int` to `char` char result = (char) (firstLetter + secondLetter); System.out.println(result); } }
Tässä käytetään +-merkkiä kahden eri muuttujan yhdistämiseen.
Voisi kuvitella, että tulos olisi A(, mutta kuten näemme, tulos onkin i. Miksi näin on? char ei ole pelkästään merkkityyppi, vaan se ottaa merkit ASCII-taulukosta. Merkki A vastaa numeroa 65 taulukossa, kun taas merkki ( vastaa numeroa 40. Kuten ehkä arvasit, merkki i vastaa numeroa 105, koska 65 + 40 = 105.
Tässä on linkki ASCII table.
Tyyppimuunnos
Yllä olevassa koodissa saatat huomata tämän epätavallisen syntaksin:
char result = (char) (firstLetter + secondLetter);
Mutta miksi tarvitaan (char)? Yhteenlasku operaatio palauttaa tuloksen tyypiltään int, koska se laskee merkkien numeeriset koodit yhteen. Jotta tämän tuloksen voi tallentaa char-tyyppiseen muuttujaan, tarvitaan eksplisiittinen muunnos. Juuri tämän tekee (char)-rakenne—se muuntaa numeerisen arvon takaisin merkiksi.
Esimerkissämme yhteenlaskun tulos on numero 105. (char)-rakenne muuntaa tämän numeron ASCII-taulukon koodia 105 vastaavaksi merkiksi, joka sattuu olemaan merkki i.
Kiitos palautteestasi!