Javassa on tilanteita, joissa operaatiot numeerisilla arvoilla suoritetaan samalla, kun objektit määritellään char primitiivityypillä. Tätä varten char-objekti, jolla on merkkiarvo, on muutettava kokonaislukuarvoiksi ennen tarvittavien toimintojen tai laskelmien tekemistä. Java tarjoaa tavan suorittaa char-tietotyypin muuntaminen int-tietotyypiksi, jota käsitellään alla lähdekoodin kanssa. Mutta jos char-objekti on määritetty suoraan int-objektille, merkin ASCII-koodi palautetaan.
Esimerkki 1:
Merkin ASCII-arvoa käytetään muuntamiseen kokonaisluvuksi. Määritellyn merkin ASCII-koodi hankitaan implisiittisen TypeCasting-lähestymistavan avulla. Tätä ASCII-arvoa käytetään sopivan luvun määrittämiseen pienentämällä ASCII-arvoa nollalla '0'.
Täällä otimme ensin käyttöön Java-luokan 'ASCIIMethod' ja perustimme main()-funktion merkin lähdekoodille kokonaislukumuunnokselle. Olemme ilmoittaneet attribuutin 'MyCharacter' tietotyypillä 'char'. Merkkiarvo '8' alustetaan kyseisessä char-attribuutissa. Sitten tulostimme merkin arvon välittämällä 'MyCharacter' println()-metodissa.
Seuraavaksi olemme määrittäneet toisen attribuutin 'integerVal', joka on primitiivityyppinen 'int'. Olemme kutsuneet char-attribuuttia 'MyCharacter' yhdessä '0' ASCII-arvon kanssa vähennyslaskuoperaatiolle, joka saa merkin int-muunnokseen. Muunnos int-arvoksi tulostetaan println()-menetelmällä, koska siinä on attribuutti 'integerVal'.
Merkkien ja char to int ASCII-arvo haetaan seuraavassa:
Esimerkki 2:
Nyt merkille suoritetaan eksplisiittinen typecasting sen muuntamiseksi int-arvoksi. Huomaa, että tätä ei tarvitse tehdä erikseen, koska char vie 2 tavua ja int 4 tavua. Kirjoitetaan merkistön nimenomaisesti kokonaisluku.
Täällä olemme luoneet Java-luokan, jonka nimi on 'ExplicitMethod'. Meillä on tässä Java-luokassa määritelty main()-metodi, jossa ohjelman toteutus suoritetaan. Olemme ilmoittaneet tietotyypin 'char' kentän 'ch', joka alustetaan isoilla kirjaimilla 'M'. Sitten saimme tämän merkin ASCII-arvon, joka on kokonaislukuarvo. Merkkikenttä 'ch' on nimenomaisesti kirjoitettu 'int':llä, joka tulostetaan lähtöliittimeen.
Merkki 'M' muunnetaan alla olevaksi kokonaislukuarvoksi suorittamalla eksplisiittinen typecasting char-muuttujalle.
Esimerkki 3:
Seuraava tekniikka charin muuttamiseksi int:ksi Javassa on käyttää Java-merkkiluokan tarjoamaa getNumericValue()-menetelmää. Tämä menetelmä hyväksyy vain merkkityypin merkin kokonaislukuarvon. GetNumericValue()-menetelmän tulos on kokonaisluku, joka on Unicode-merkki.
Täällä olemme määrittäneet Java-luokan 'getNumericValue Method', jota kutsutaan main()-menetelmälohkoksi. Main()-metodi sisältää ohjelman, joka saa kokonaisluvun arvon charista käyttämällä getNumericValueMethod()-menetelmää. Ensinnäkin olemme luoneet 'char' muuttujat 'ch1' ja 'ch2', jotka asetetaan merkkiarvolla.
Tämän jälkeen otimme käyttöön getNumericValue()-menetelmän ilmoitettujen muuttujien 'n1' ja 'n2' sisällä 'int'-tyypin kanssa. GetNumericValue()-menetelmä on määritetty char-muuttujien kanssa merkkiarvojen saamiseksi kokonaislukumuodossa. Sitten näytimme getNumericValue()-menetelmän tulosteen print-käskyn avulla, joka ottaa muuttujat 'n1' ja 'n2'.
Kokonaislukuarvot luodaan seuraavassa näytössä merkkiarvoista, jotka välitetään argumenttina getNumericValue()-metodin sisällä.
Esimerkki 4:
ParseInt()-menetelmää voidaan käyttää myös merkin muuntamiseen int:ksi. ParseInt() on paras vaihtoehto 'numeeristen' merkkien luomiseen int:ksi Javassa, koska se voi muuntaa tietotyyppejä samalla kun ottaa huomioon numerojärjestelmän. ParseInt()-menetelmä syöttää vain merkkijonoparametrin, joka saadaan String.valueOf()-metodilla. String.valueOf()-menetelmä muuttaa char-tietotyypin muuttujan muuttujaksi, jonka tietotyyppi on merkkijono.
Täällä olemme kehittäneet Java-luokan nimellä 'StringValueOfMethod' ja luokkaa toteutetaan edelleen main()-menetelmällä. Siellä meillä on char-tietotyyppi, jossa on muuttujien 'MyChar1' ja 'MyChar2' ilmoitus. Muuttujat 'MyChar1' ja 'MyChar2' asetetaan merkkiarvoilla. Sitten meillä on muuttujat 'MyNum1' ja 'MyNum2', joiden tyyppi on int, joissa kokonaislukuluokan menetelmä parseInt() -menetelmä on käytössä. Lisäksi parseInt()-menetelmälle on määritetty merkkijonoluokkamenetelmä 'valueOf()'. ValueOf()-menetelmä ottaa merkkimuuttujat syötteenä ja muuntaa määritetyt merkkiarvot merkkijonoksi. Nämä muunnetut merkkijonot muuttuvat sitten kokonaislukuarvoiksi parseInt()-menetelmällä. Muunnoksen tulokset char:sta int:ksi näytetään println()-metodista.
Tulokset saadaan kokonaislukuina alla olevasta menetelmästä.
Esimerkki 5:
Java parseInt() -menetelmä ei jäsennä merkkiä kokonaisluvuksi, joka ei ole numeerinen. Poikkeus heitetään parseInt()-metodista tätä tehtäessä.
Tässä on java main()-menetelmän 'ParseIntMethod'-luokka. Main()-metodin sisällä on muuttuja 'ch_value', joka määritellään merkin arvolla 's'. Merkkiarvo ei ole numeerinen arvo, jonka olemme jäsentäneet kokonaisluvuksi parseInt()-metodista. ParseInt()-menetelmä kutsutaan muuttujassa 'num_value' ja tulokset tulostetaan tällä muuttujalla.
Tuloksesta on nyt selvää, että parseInt()-menetelmä heittää poikkeuksen jäsentäessään ei-numeerista arvoa kokonaisluvuksi.
Esimerkki 6:
Merkki voidaan muuttaa kokonaisluvuksi yksinkertaisella lähestymistavalla. Tämän saavuttamiseksi ota vain merkki ja vähennä sen ASCII-arvo, joka on '0'.
Täällä olemme toteuttaneet luokan 'CharToIntMethod'. Tämän tietyn luokan main()-metodissa meillä on muunnosohjelma. Olemme luoneet kaksi muuttujaa 'c1' ja 'c2', joille on määritetty merkkiarvot. Sitten olemme määrittäneet muuttujat 'kokonaisluku1' ja 'kokonaisluku2', joissa merkkiarvot vähennetään ASCII-arvolla '0'. Tämä vähennystoiminto muuttaa merkkiarvot kokonaislukuarvoiksi, jotka tulostetaan tulosteena.
Tulos kokonaislukuarvoina saadaan helposti vähentämällä char-arvot nollalla.
Johtopäätös
Dokumentti 'java char to int' tarjoaa tapoja saada char-tyypin muunnos int:ksi. Meillä on lähdekoodi, jossa eri menetelmiä, kuten ASCII-menetelmän lähestymistapaa getNumericValue-menetelmää ja String.valueOf()-metodia parseInt()-menetelmästä, käytetään merkkiarvojen muuntamiseen int-tyypin numeerisiksi arvoiksi. Meillä on myös yksinkertaisin esimerkki ja typecasting-tekniikan esimerkki int-arvon saamiseksi char-arvoista.