Matemaattiset Operaatiot Char-tyypillä
Miksi matemaattiset operaatiot ovat mahdollisia char-tyypille?
char-tietotyyppi on varsin mielenkiintoinen. Se tallentaa merkkejä, mutta tähän tietotyyppiin voidaan myös suorittaa operaatioita.
Mikä on tämän koodin suorittamisen tulos?
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); } }
Voisi kuvitella, että tulos olisi A(, mutta kuten näemme, tulos onkin i. Miksi näin? char ei ole puhtaasti merkkitietotyyppi; se ottaa merkit ASCII-taulukosta. Merkki A vastaa taulukossa numeroa 65, kun taas merkki ( vastaa numeroa 40. Kuten ehkä arvasit, merkki i vastaa numeroa 105, koska 65 + 40 = 105.
Tämä on hyvä tietää, sillä se mahdollistaa char-tietotyypin tehokkaan ja joustavan käsittelyn.
Tässä on linkki ASCII-taulukkoon.
Tyyppimuunnos
Yllä olevassa koodissa saatat huomata tämän epätavallisen syntaksin:
char result = (char) (firstLetter + secondLetter);
Mutta miksi (char) on tarpeen? Yhteenlasku operaatio palauttaa tuloksen, jonka tyyppi on 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 (char)-rakenne tekee—se muuntaa numeerisen arvon takaisin merkiksi.
Esimerkissämme yhteenlaskun tulos on numero 105. (char)-rakenne muuntaa tämän numeron merkiksi, jonka koodi on 105 ASCII-taulukossa, mikä sattuu olemaan merkki i.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain more about how type casting works in Java?
What other operations can be performed on the char type?
Can you give more examples of using char with mathematical operations?
Mahtavaa!
Completion arvosana parantunut arvoon 2.7
Matemaattiset Operaatiot Char-tyypillä
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 voidaan myös suorittaa operaatioita.
Mikä on tämän koodin suorittamisen tulos?
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); } }
Voisi kuvitella, että tulos olisi A(, mutta kuten näemme, tulos onkin i. Miksi näin? char ei ole puhtaasti merkkitietotyyppi; se ottaa merkit ASCII-taulukosta. Merkki A vastaa taulukossa numeroa 65, kun taas merkki ( vastaa numeroa 40. Kuten ehkä arvasit, merkki i vastaa numeroa 105, koska 65 + 40 = 105.
Tämä on hyvä tietää, sillä se mahdollistaa char-tietotyypin tehokkaan ja joustavan käsittelyn.
Tässä on linkki ASCII-taulukkoon.
Tyyppimuunnos
Yllä olevassa koodissa saatat huomata tämän epätavallisen syntaksin:
char result = (char) (firstLetter + secondLetter);
Mutta miksi (char) on tarpeen? Yhteenlasku operaatio palauttaa tuloksen, jonka tyyppi on 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 (char)-rakenne tekee—se muuntaa numeerisen arvon takaisin merkiksi.
Esimerkissämme yhteenlaskun tulos on numero 105. (char)-rakenne muuntaa tämän numeron merkiksi, jonka koodi on 105 ASCII-taulukossa, mikä sattuu olemaan merkki i.
Kiitos palautteestasi!