Matematiske Operasjoner på Char
Sveip for å vise menyen
Hvorfor er matematiske operasjoner mulig på char-typen?
Datatypen char er ganske interessant. Den lagrer tegn, men du kan også utføre operasjoner på denne datatypen.
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); } }
Her bruker du +-tegnet for å sette sammen to forskjellige variabler.
Man kunne kanskje trodd at resultatet ville være A(, men som vi ser, er resultatet i. Hvorfor er det slik? char er ikke utelukkende en tegn-datatype; den henter tegn fra ASCII-tabellen. Tegnet A tilsvarer tallet 65 i tabellen, mens tegnet ( tilsvarer tallet 40. Som du kanskje har gjettet, tilsvarer tegnet i 105, siden 65 + 40 = 105.
Her er en lenke til ASCII table.
Typekonvertering
I koden over har du kanskje lagt merke til denne uvanlige syntaksen:
char result = (char) (firstLetter + secondLetter);
Men hvorfor er (char) nødvendig? Addisjonsoperasjonen returnerer et resultat av typen int fordi den summerer de numeriske kodene til tegnene. For å lagre dette resultatet i en variabel av typen char, er en eksplisitt konvertering nødvendig. Det er nettopp dette (char)-konstruksjonen gjør—den konverterer den numeriske verdien tilbake til et tegn.
I vårt eksempel er resultatet av addisjonen tallet 105. (char)-konstruksjonen konverterer dette tallet til tegnet som tilsvarer kode 105 i ASCII-tabellen, som tilfeldigvis er tegnet i.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Matematiske Operasjoner på Char
Hvorfor er matematiske operasjoner mulig på char-typen?
Datatypen char er ganske interessant. Den lagrer tegn, men du kan også utføre operasjoner på denne datatypen.
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); } }
Her bruker du +-tegnet for å sette sammen to forskjellige variabler.
Man kunne kanskje trodd at resultatet ville være A(, men som vi ser, er resultatet i. Hvorfor er det slik? char er ikke utelukkende en tegn-datatype; den henter tegn fra ASCII-tabellen. Tegnet A tilsvarer tallet 65 i tabellen, mens tegnet ( tilsvarer tallet 40. Som du kanskje har gjettet, tilsvarer tegnet i 105, siden 65 + 40 = 105.
Her er en lenke til ASCII table.
Typekonvertering
I koden over har du kanskje lagt merke til denne uvanlige syntaksen:
char result = (char) (firstLetter + secondLetter);
Men hvorfor er (char) nødvendig? Addisjonsoperasjonen returnerer et resultat av typen int fordi den summerer de numeriske kodene til tegnene. For å lagre dette resultatet i en variabel av typen char, er en eksplisitt konvertering nødvendig. Det er nettopp dette (char)-konstruksjonen gjør—den konverterer den numeriske verdien tilbake til et tegn.
I vårt eksempel er resultatet av addisjonen tallet 105. (char)-konstruksjonen konverterer dette tallet til tegnet som tilsvarer kode 105 i ASCII-tabellen, som tilfeldigvis er tegnet i.
Takk for tilbakemeldingene dine!