how convert char int java
V tej vadnici bomo spoznali različne načine pretvorbe vrednosti primitivnega podatkovnega tipa char v int v Javi, skupaj s pogostimi vprašanji in primeri:
Zajemali bomo uporabo naslednjih metod, ki jih nudijo različni razredi Java za pretvorbo znakov v int:
- Implicitno ulivanje (pridobivanje vrednosti ASCII)
- getNumericValue ()
- parseInt () z String.valueOf ()
- Odštevanje ‘0’
=> Tukaj si oglejte A-Z vadnic za učenje Java
Kaj se boste naučili:
Pretvori Char v int v Javi
Java ima primitivne podatkovne tipe, kot so int, char, long, float itd. V nekaterih scenarijih je treba izvajati operacije s številskimi vrednostmi, kjer so spremenljive vrednosti podane v podatkovnem tipu char.
V takih primerih moramo te znakovne vrednosti najprej pretvoriti v številske vrednosti, tj. Int vrednosti, nato pa na njih izvesti želena dejanja in izračune.
Na primer v nekaterih programskih sistemih je treba izvesti določene operacije ali sprejeti nekatere odločitve na podlagi ocen strank, prejetih v obrazcu za povratne informacije strank, ki je na voljo kot tip podatkov o znakih.
V takih primerih je treba te vrednosti najprej pretvoriti v podatkovni tip int, da bi lahko nadalje izvajali numerične operacije nad temi vrednostmi. Java ponuja različne metode za pretvorbo znaka v vrednost int. Oglejmo si te metode podrobno.
# 1) Uporaba implicitnega tipa Cast, tj. Pridobivanje vrednosti ASCII znaka
Če v Javi spremenljivki združljive spremenljivke večjega podatkovnega tipa dodelite manjšo vrednost podatkovnega tipa, se vrednost samodejno poviša, tj. Implicitno dobi typecast spremenljivki večjega podatkovnega tipa.
Na primer, če spremenljivki tipa int dodelimo spremenljivko tipa long, potem vrednost int samodejno dobi typecast za podatkovni tip long.
Implicitno ulivanje tipa se zgodi tudi za spremenljivko podatkovnega tipa ‘char’, tj. ko spremenljivki ‘int’ določimo naslednjo vrednost spremenljivke char, potem prevajalnik vrednost spremenljivke char samodejno pretvori v int.
Na primer
char a = '1';
int b = a;
Tu se char 'a' implicitno pretipka na tip podatkov int.
Če izpišemo vrednost »b«, boste videli konzolo z odtisi »49«. To je zato, ker ko spremenljivki char 'a' dodelimo vrednost spremenljivke char, dejansko pridobimo vrednost ASCII '1', ki je '49'.
V naslednjem vzorčnem programu Java poglejmo, kako pretvoriti znak v int z implicitnim typecastom, tj. Pridobivanjem vrednosti ASCII spremenljivke char.
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using Implicit type casting i.e. ASCII values * * @author * */ public class CharIntDemo1 { public static void main(String() args) { // Assign character 'P' to char variable char1 char char1 = 'P'; // Assign character 'p' to char variable char2 char char2 = 'p'; // Assign character '2' to char variable char3 char char3 = '2'; // Assign character '@' to char variable char4 char char4 = '@'; // Assign character char1 to int variable int1 int int1 = char1; // Assign character char2 to int variable int2 int int2 = char2; // Assign character char3 to int variable int3 int int3 = char3; // Assign character char2 to int variable int4 int int4 = char4; //print ASCII int value of char System.out.println('ASCII value of '+char1+' -->'+int1); System.out.println('ASCII value of '+char2+' -->'+int2); System.out.println('ASCII value of '+char3+' -->'+int3); System.out.println('ASCII value of '+char4+' -->'+int4); } }
Tu je program Output:
Vrednost ASCII P -> 80
Vrednost ASCII p -> 112
Vrednost ASCII 2 -> 50
ASCII vrednost @ -> 64
V zgornjem programu lahko vidimo vrednosti ASCII različnih vrednosti spremenljivk char, kot sledi:
Vrednost ASCII P -> 80
Vrednost ASCII p -> 112
Razlika v vrednostih za „P“ in „p“ je, ker se vrednosti ASCII razlikujejo za velike in male črke.
kaj od naštetega je pot do gumba 'posnetek zaslona'?
Podobno dobimo vrednosti ASCII za številske vrednosti in poseben znak, kot sledi:
Vrednost ASCII 2 -> 50
ASCII vrednost @ -> 64
# 2) Uporaba metode Character.getNumericValue ()
Razred Znak ima statične metode preobremenitve getNumericValue (). Ta metoda vrne vrednost podatkovnega tipa int, ki ga predstavlja določen znak Unicode.
Tu je podpis metode metode getNumericValue () za podatkovni tip char:
javni statični int getNumericValue (char ch)
Ta statična metoda prejme argument podatkovnega tipa char in vrne vrednost int tipa podatkov, ki jo predstavlja argument 'ch'.
Na primer znak ‘ u216C’ vrne celo število z vrednostjo 50.
Parametri:
ch: To je znak, ki ga je treba pretvoriti v int.
Vrne:
Ta metoda vrne številsko vrednost ‘ch’ kot nenegativno vrednost podatkovnega tipa int. Ta metoda vrne -2, če ima „ch“ številsko vrednost, ki ni celo negativno negativno število. Vrne -1, če 'ch' nima številske vrednosti.
Razumejmo uporabo metode Character.getNumericValue () za pretvorbo znaka v vrednost int.
Upoštevajmo scenarij, v katerem je treba uporabiti enega od sistemov bančne programske opreme, kjer je spol določen v podatkovnem tipu „char“ in je na podlagi kode spola treba sprejeti določeno odločitev, kot je določitev obrestne mere.
Za to je treba kodo spola pretvoriti iz char v podatkovni tip int. Ta pretvorba se izvede z uporabo metode Character.getNumericValue () v spodnjem vzorčnem programu.
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using Character.getNumericValue() * * @author * */ public class CharIntDemo2 { public static void main(String() args) { // Assign character '1' to char variable char1 char gender = '1'; //Send gender as an argument to getNumericValue() method // to parse it to int value int genderCode = Character.getNumericValue(gender); // Expected to print int value 1 System.out.println('genderCode--->'+genderCode); double interestRate = 6.50; double specialInterestRate = 7; switch (genderCode) { case 0 ://genderCode 0 is for Gender Male System.out.println('Welcome ,our bank is offering attractive interest rate on Fixed deposits :'+ interestRate +'%'); break; case 1 ://genderCode 1 is for Gender Female System.out.println(' Welcome, our bank is offering special interest rate on Fixed deposits '+ 'for our women customers:'+specialInterestRate+'% .'+'
'+' Hurry up, this offer is valid for limited period only.'); break; default : System.out.println('Please enter valid gender code '); } } }
Tu je program Output:
koda spola—> 1
Dobrodošli, naša banka ponuja našim strankam posebne obrestne mere za fiksne depozite: 7,0%.
Pohitite, ta ponudba velja samo omejeno obdobje.
Torej v zgornjem programu pretvarjamo vrednost spremenljivke char char v vrednost int, da dobimo vrednost int v spremenljivki genderCode.
char spol = ‘1’;
int genderCode = Znak. getNumericValue (spol);
Torej, ko tiskamo na konzolo, System. ven .println (“koda spola ->” + koda spola); nato na konzoli vidimo vrednost int kot spodaj:
koda spola—> 1
Enaka vrednost spremenljivke je posredovana za preklop zanke stikalo (genderCode) za nadaljnje odločanje.
# 3) Uporaba metode Integer.parseInt () in String.ValueOf ()
To statično metodo parseInt () zagotavlja razred ovitka Integer razred.
Tukaj je podpis metode Integer.parseInt () :
javni statični int parseInt (String str) vrže NumberFormatException
Ta metoda razčleni argument String, upošteva String kot podpisano decimalno celo število. Vsi znaki argumenta String morajo biti decimalne številke. Edina izjema je, da je prvi znak dovoljen kot znak ASCII minus '-' in znak plus '+' za prikaz negativne vrednosti oziroma pozitivne vrednosti.
Tu je parameter 'str' niz, ki ima za predstavitev int razčlenitev int in vrne celoštevilčno vrednost, ki jo argument predstavlja v decimalki. Ko niz ne vsebuje razčlenjenega celega števila, potem metoda vrže izjemo NumberFormatException
Kot je razvidno iz podpisa metode za parseInt ( Vrvica str), argument, ki se posreduje metodi parseInt (), je podatkovnega tipa String. Torej je treba najprej pretvoriti vrednost char v String in nato to vrednost String predati metodi parseInt (). Za to se uporablja metoda String.valueOf ().
valueOf () je statična metoda preobremenitve razreda String, ki se uporablja za pretvorbo argumentov primitivnih podatkovnih vrst, kot je int, float v podatkovni tip String.
public static String valueOf (int i)
Ta statična metoda prejme argument podatkovnega tipa int in vrne nizno predstavitev argumenta int.
Parametri:
i: To je celo število.
Vrne:
Nizna predstavitev argumenta int.
Torej uporabljamo kombinacijo metode Integer.parseInt () in String.valueOf (). Oglejmo si uporabo teh metod v naslednjem vzorčnem programu. Ta vzorčni program (1) najprej pretvori vrednost ocene kupca za podatkovni tip znakov v celo število in (2) nato na konzolo natisne ustrezno sporočilo z uporabo stavka if-else.
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using Integer.parseInt() and String.valueOf() methods * * @author * */ public class CharIntDemo3 { public static void main(String() args) { // Assign character '7' to char variable customerRatingsCode char customerRatingsCode = '7'; //Send customerRatingsCode as an argument to String.valueOf method //to parse it to String value String customerRatingsStr = String.valueOf(customerRatingsCode); System.out.println('customerRatings String value --->'+customerRatingsStr); // Expected to print String value 7 //Send customerRatingsStr as an argument to Integer.parseInt method //to parse it to int value int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7 if (customerRatings>=7) { System.out.println('Congratulations! Our customer is very happy with our services.'); }else if (customerRatings>=5) { System.out.println('Good , Our customer is satisfied with our services.'); }else if(customerRatings>=0) { System.out.println('Well, you really need to work hard to make our customers happy with our services.'); }else { System.out.println('Please enter valid ratings value.'); } } }
Tu je program Output:
customerRatings Vrednost niza -> 7
Vrednost customerRatings int -> 7
Čestitamo! Naša stranka je zelo zadovoljna z našimi storitvami.
V zgornji vzorčni kodi smo za pretvorbo znaka v vrednost podatkovnega tipa String uporabili metodo String.valueOf ().
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Zdaj se ta vrednost String pretvori v podatkovni tip int z uporabo metode Integer.parseInt () s prenosom customerRatingsStr kot argument.
regex_match c ++
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Ta int vrednost customerRating se nadalje uporablja v stavku if-else za primerjavo in tiskanje zahtevanega sporočila na konzoli.
# 4) Pretvorite Char v int v Javi tako, da odštejete '0'
Videli smo pretvorbo znaka v int z uporabo implicitnega tipiziranja. To vrne vrednost ASCII znaka. Npr. Vrednost ASCII 'P' vrne 80, vrednost ASCII '2' pa 50.
Če pa želite vrednost int za »2« pridobiti kot 2, je treba od znaka odšteti vrednost ASCII znaka »0«. Npr. Če želite iz znaka ‘2’ pridobiti int 2,
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Opomba :To je koristno, če želite dobiti vrednosti int samo za številske znake, tj. 1, 2 itd., In ni uporabno pri besedilnih vrednostih, kot so 'a', 'B' itd., Saj bo vrnilo razliko med vrednostmi ASCII vrednosti '0 'in ta lik.
Oglejmo si vzorčni program za uporabo te metode odštevanja vrednosti ASCII Zero, tj. '0' od vrednosti ASCII znaka.
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using ASCII values by subtracting ASCII value of '0'from ASCII value of char * * @author * */ public class CharIntDemo4 { public static void main(String() args) { // Assign character '0' to char variable char1 char char1 = '0'; // Assign character '1' to char variable char2 char char2 = '1'; // Assign character '7' to char variable char3 char char3 = '7'; // Assign character 'a' to char variable char4 char char4 = 'a'; //Get ASCII value of '0' int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0); // Get int value by finding the difference of the ASCII value of char1 and ASCII value of 0. int int1 = char1 - '0'; // Get int value by finding the difference of the ASCII value of char2 and ASCII value of 0. int int2 = char2 - '0'; // Get int value by finding the difference of the ASCII value of char3 and ASCII value of 0. int int3 = char3 - '0'; // Get int value by finding the difference of the ASCII value of char4 and ASCII value of 0. int int4 = char4 - '0'; //print ASCII int value of char System.out.println('Integer value of '+char1+' -->'+int1); System.out.println('Integer value of '+char2+' -->'+int2); System.out.println('Integer value of '+char3+' -->'+int3); System.out.println('Integer value of '+char4+' -->'+int4); } }
Tu je program Output:
Vrednost ASCII 0 -> 48
Vrednost ASCII 1 -> 49
Celotna vrednost 0 -> 0
Celotna vrednost 1 -> 1
Celotna vrednost 7 -> 7
Celotna vrednost a -> 49
Če v zgornjem programu dodelimo char ‘0’ in ‘1’ vrednosti podatkovnega tipa int, bomo zaradi implicitne pretvorbe dobili vrednosti ASCII teh znakov. Torej, ko natisnemo te vrednosti, kot je razvidno iz spodnjih izjav:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Rezultat bomo dobili kot:
Vrednost ASCII 0 -> 48
Vrednost ASCII 1 -> 49
Če želimo torej dobiti celoštevilčno vrednost, ki predstavlja enako vrednost kot vrednost char, od znakov, ki predstavljajo številske vrednosti, odštejemo vrednost ASCII '0'.
int int2 = char2 - '0'; .
Tu od vrednosti ASCII „1“ odštejemo vrednosti ASCII „0“.
tj.49-48 = 1. Ko tiskamo na konzolo char2
System.out.println (“Celoštevilčna vrednost“ + char2 + ”->” + int2);
Rezultat dobimo kot:
krožno povezan seznam v c ++
Celotna vrednost 1 -> 1
S tem smo zajeli različne načine pretvorbe znaka Java v celoštevilčno vrednost s pomočjo vzorčnih programov. Za pretvorbo znaka v int v Javi lahko v vašem programu Java uporabite katero koli metodo iz zgornjih vzorčnih kod.
Zdaj pa si oglejmo nekaj pogostih vprašanj o pretvorbi znaka Java v int.
Pogosta vprašanja glede Char To Int Java
V # 1) Kako pretvorim char v int?
Odgovor:
V Javi je char mogoče pretvoriti v vrednost int z naslednjimi metodami:
- Implicitno ulivanje (pridobivanje vrednosti ASCII)
- Character.getNumericValue ()
- Integer.parseInt () z String.valueOf ()
- Odštevanje ‘0’
V # 2) Kaj je char v Javi?
Odgovor: Podatkovni tip char je primitivni podatkovni tip Java, ki ima en sam 16-bitni znak Unicode. Vrednost je dodeljena kot en sam znak, zaprt z enim narekovajem ''. Na primer, char a = 'A' ali char a = '1' itd.
V # 3) Kako inicializirate char v Javi?
Odgovor: spremenljivka char se inicializira z dodelitvijo enega samega znaka, zaprtega v enojne narekovaje, tj. Na primer char x = 'b', char x = '@', char x = '3' itd.
V # 4) Kakšna je int vrednost char A?
Odgovor: Če je spremenljivki int dodeljen znak char 'A', bo char implicitno povišan v int in če je vrednost natisnjena, bo vrnil ASCII vrednost znaka 'A', ki je 65.
Na primer
int x= 'A'; System.out.println(x);
Tako bo na konzolo natisnjeno 65.
Zaključek
V tej vadnici smo videli naslednje načine pretvorbe vrednosti podatkovnega tipa Java char v int.
- Implicitno ulivanje (pridobivanje vrednosti ASCII)
- Character.getNumericValue ()
- Integer.parseInt () z String.valueOf ()
- Odštevanje ‘0’
Vsakega od teh načinov smo podrobno obdelali in s pomočjo vzorčnega programa Java prikazali uporabo vsake metode.
=> Tukaj preverite VSE Vadnice za Java
Priporočeno branje
- Java Integer in Java BigInteger Class z primeri
- JAVA Vadnica za začetnike: 100+ praktičnih Javnih video vadnic
- TreeMap v Javi - Vadnica z primeri Java TreeMap
- Kako pretvoriti niz Java v Int - Vadnica s primeri
- Vadnica Java Float s primeri programiranja
- Izjava o prelomu Java - Vadnica s primeri
- Java Enum: Vadnica za naštevanje Java s primeri
- Dolžina niza Java () Metoda s primeri