how convert char int java
V tomto tutoriáli sa naučíme rôzne spôsoby prevodu hodnôt primitívneho dátového typu char na int v Jave spolu s často kladenými otázkami a príkladmi:
Budeme sa venovať použitiu nasledujúcich metód poskytovaných rôznymi triedami Java na prevod znakov na int:
- Implicitné prenášanie typu (získavanie hodnôt ASCII)
- getNumericValue ()
- parseInt () s String.valueOf ()
- Odčítanie hodnoty „0“
=> Ak chcete vidieť A-Z výučbových kurzov Java, pozrite si tu
Čo sa dozviete:
Preveďte Char To int v Jave
Java má primitívne dátové typy ako int, char, long, float atď. V niektorých scenároch je potrebné vykonávať operácie s číselnými hodnotami, kde sú hodnoty premenných špecifikované v dátovom type char.
V takýchto prípadoch musíme najskôr tieto znakové hodnoty previesť na číselné hodnoty, t. J. Hodnoty int, a potom na nich vykonať požadované akcie a výpočty.
Napríklad, v niektorých softvérových systémoch je potrebné vykonať určité operácie alebo sa treba rozhodnúť na základe hodnotení zákazníkov prijatých vo formulári spätnej väzby od zákazníkov, ktorý sa dodáva ako znakový dátový typ.
V takýchto prípadoch je potrebné tieto hodnoty najskôr previesť na dátový typ int, aby sa s týmito hodnotami mohli ďalej vykonávať číselné operácie. Java poskytuje rôzne metódy na prevod znaku na hodnotu int. Pozrime sa na tieto metódy podrobne.
# 1) Používanie implicitného typového obsadenia, t. J. Získanie hodnoty ASCII znaku
Ak v Jave priradíte menšiu hodnotu dátového typu premennej kompatibilnej väčšej premennej dátového typu, hodnota sa automaticky povýši, t. J. Implicitne sa dostane obsadenie do premennej väčšieho dátového typu.
Napríklad, ak priradíme premennú typu int k premennej typu long, potom hodnota int automaticky získa obsadenie dátového typu long.
K implicitnému obsadeniu typu dochádza aj pre premennú dátového typu „char“, t. J. Keď priradíme nasledujúcej hodnote premennej char premennému „int“ údajový typ, potom sa hodnota premennej char prevedie kompilátorom automaticky na int.
Napríklad,
char a = „1“;
int b = a;
Tu sa znak „dostane“ implicitne obsadený do dátového typu int.
Ak vytlačíme hodnotu „b“, uvidíte výtlačky konzoly „49“. Je to tak preto, lebo keď priraďujeme char premennej hodnota „a“ k int premennej „b“, skutočne načítame ASCII hodnotu „1“, ktorá je „49“.
V nasledujúcom ukážkovom programe Java sa pozrime, ako previesť znak na int pomocou implicitného obsadenia, tj. Ako získať hodnotu ASCII char premennej.
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 výstup programu:
ASCII hodnota P -> 80
Hodnota ASCII p -> 112
Hodnota ASCII 2 -> 50
Hodnota ASCII @ -> 64
Vo vyššie uvedenom programe môžeme vidieť hodnoty ASCII rôznych hodnôt premenných char nasledovne:
ASCII hodnota P -> 80
Hodnota ASCII p -> 112
Rozdiel v hodnotách pre „P“ a „p“ je spôsobený tým, že hodnoty ASCII sa líšia pre veľké a malé písmená.
Podobne dostaneme hodnoty ASCII pre číselné hodnoty a špeciálne znaky, a to nasledovne:
Hodnota ASCII 2 -> 50
Hodnota ASCII @ -> 64
# 2) Použitie metódy Character.getNumericValue ()
Trieda Character má metódy statického preťaženia getNumericValue (). Táto metóda vracia hodnotu údajového typu int predstavovanú zadaným znakom Unicode.
Tu je podpis metódy metódy getNumericValue () pre dátový typ char:
public static int getNumericValue (char ch)
Táto statická metóda prijíma argument dátového typu char a vracia hodnotu dátového typu int, ktorú predstavuje argument „ch“.
Napríklad, znak „ u216C“ vráti celé číslo s hodnotou 50.
Parametre:
ch: Toto je postava, ktorú je potrebné previesť na int.
Vráti:
Táto metóda vráti číselnú hodnotu „ch“ ako nezápornú hodnotu dátového typu int. Táto metóda vráti hodnotu -2, ak reťazec „ch“ má číselnú hodnotu, ktorá nie je nezáporným celým číslom. Vráti hodnotu -1, ak reťazec „ch“ nemá číselnú hodnotu.
Poďme pochopiť použitie tejto metódy Character.getNumericValue () na prevod znaku na hodnotu int.
Uvažujme o scenári, kde je jeden z bankových softvérových systémov, kde je pohlavie uvedené v dátovom type ‘char‘, a na základe rodového kódu treba urobiť nejaké rozhodnutie, ako napríklad priradiť úrokovú sadzbu.
Za týmto účelom je potrebné rodový kód previesť z údajového typu char na int. Táto konverzia sa vykonáva pomocou metódy Character.getNumericValue () vo vzorovom programe nižšie.
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 výstup programu:
genderCode—> 1
Vitajte, naša banka ponúka špeciálnu úrokovú sadzbu na pevné vklady pre naše zákazníčky: 7,0%.
Poponáhľajte si, táto ponuka platí iba na obmedzené obdobie.
ako počítačový program pre začiatočníkov
Takže vo vyššie uvedenom programe prevádzame char premennú hodnotu pohlavia na hodnotu int, aby sme dostali hodnotu int v premennej genderCode.
char pohlavie = „1“;
int genderCode = Znak. getNumericValue (rod);
Takže keď tlačíme na konzolu, System. von .println („genderCode ->“ + genderCode); potom vidíme hodnotu int na konzole, ako je uvedené nižšie:
genderCode—> 1
Rovnaká hodnota premennej sa odovzdá slučke spínacieho prípadu prepínač (genderCode) pre ďalšie rozhodovanie.
# 3) Použitie metódy Integer.parseInt () a String.ValueOf ()
Túto statickú metódu parseInt () poskytuje trieda wrapper Integer class.
Tu je podpis metódy Integer.parseInt () :
public static int parseInt (String str) hodí NumberFormatException
Táto metóda analyzuje argument String, považuje ho za podpísané desatinné celé číslo. Všetky znaky argumentu String musia mať desatinné čísla. Jedinou výnimkou je, že prvý znak môže byť znamienko mínus ASCII „-“ a znamienko plus „+“ na označenie zápornej hodnoty a kladnej hodnoty.
Tu je parametrom „str“ reťazec, ktorý má byť analyzovaný s reprezentáciou int, a vracia celočíselnú hodnotu predstavovanú argumentom v desatinnej čiarke. Ak reťazec neobsahuje analyzovateľné celé číslo, metóda vyvolá výnimku NumberFormatException
Ako je zrejmé z podpisu metódy pre parseInt ( String str), argument, ktorý sa má odovzdať metóde parseInt (), je dátového typu String. Je teda potrebné najskôr previesť char hodnotu na String a potom túto hodnotu String odovzdať metóde parseInt (). Na tento účel sa používa metóda String.valueOf ().
valueOf () je metóda statického preťaženia triedy String, ktorá sa používa na prevod argumentov primitívnych dátových typov ako int, float na dátový typ String.
verejný statický reťazec valueOf (int i)
Táto statická metóda prijme argument údajového typu int a vráti reťazcovú reprezentáciu argumentu int.
Parametre:
i: Toto je celé číslo.
Vráti:
Reťazcové znázornenie argumentu int.
Používame teda kombináciu metód Integer.parseInt () a String.valueOf (). Pozrime sa na použitie týchto metód v nasledujúcom ukážkovom programe. Tento ukážkový program (1) najskôr prevedie hodnotu zákazníckeho znakového dátového typu na celé číslo a (2) potom vytlačí príslušnú správu na konzole pomocou príkazu 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 výstup programu:
customerRatings Hodnota reťazca -> 7
hodnota customerRatings int -> 7
Blahoželáme! Náš zákazník je s našimi službami veľmi spokojný.
Vo vyššie uvedenom ukážkovom kóde sme použili metódu String.valueOf () na prevod znaku na hodnotu dátového typu String.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Teraz je táto hodnota reťazca prevedená na údajový typ int pomocou metódy Integer.parseInt () odovzdaním customerRatingsStr ako argument.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Táto hodnota int customerRating sa ďalej používa vo vyhlásení if-else na porovnanie a tlač požadovanej správy na konzole.
# 4) Preveďte Char na int v Jave odčítaním „0“
Videli sme konverziu znakov na int pomocou implicitného obsadenia. Týmto sa vráti hodnota ASCII znaku. Napr. Hodnota ASCII hodnoty „P“ vráti hodnotu 80 a hodnota ASCII hodnoty „2“ vráti hodnotu 50.
Ak však chcete získať hodnotu int pre „2“ ako 2, je potrebné od znaku odpočítať hodnotu znaku ASCII „0“. Napr. Ak chcete načítať int 2 zo znaku „2“,
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Poznámka :Toto je užitočné na získanie hodnôt int iba pre číselné znaky, tj. 1, 2 atď., A nie je to užitočné pri textových hodnotách ako „a“, „B“ atď., Pretože iba vráti rozdiel medzi hodnotami ASCII hodnoty „0“ “a tento znak.
Pozrime sa na ukážkový program, ktorý umožní použitie tejto metódy odpočítania hodnoty ASCII od nuly, teda „0“ od hodnoty znaku ASCII.
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 výstup programu:
Hodnota ASCII 0 -> 48
Hodnota ASCII 1 -> 49
Hodnota celého čísla 0 -> 0
Hodnota celého čísla od 1 do> 1
Hodnota celého čísla od 7 do> 7
Celočíselná hodnota a -> 49
Ak vo vyššie uvedenom programe priradíme k hodnote údajového typu int znak „0“ a „1“, dostaneme kvôli implicitnej konverzii hodnoty ASCII týchto znakov. Keď teda tlačíme tieto hodnoty, ako je zrejmé z nasledujúcich príkazov:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Výstup dostaneme ako:
Hodnota ASCII 0 -> 48
Hodnota ASCII 1 -> 49
Aby sme teda dostali celočíselnú hodnotu predstavujúcu rovnakú hodnotu ako char, odčítame od znakov predstavujúcich číselné hodnoty hodnotu ASCII „0“.
int int2 = char2 - '0'; .
Tu odčítavame hodnoty ASCII „0“ od hodnoty „ASCII“ „1“.
teda 49-48 = 1. Preto, keď tlačíme na konzolu char2
System.out.println („Hodnota celého čísla„ + char2 + “->„ + int2);
Výstup dostaneme ako:
Hodnota celého čísla od 1 do> 1
Týmto sme pokryli rôzne spôsoby prevodu znaku Java na celočíselnú hodnotu pomocou ukážkových programov. Takže na prevedenie znaku na int v Jave je možné vo vašom Java programe použiť ktorúkoľvek z metód uvedených vo vyššie uvedených ukážkových kódoch.
Teraz sa pozrime na niektoré často kladené otázky týkajúce sa konverzie znakov Java na int.
Časté otázky týkajúce sa Char To Int Java
Otázka č. 1) Ako konvertujem znak na int?
Odpoveď:
V jazyku Java je možné char previesť na hodnotu int pomocou nasledujúcich metód:
- Implicitné prenášanie typu (získavanie hodnôt ASCII)
- Character.getNumericValue ()
- Integer.parseInt () s String.valueOf ()
- Odčítanie hodnoty „0“
Otázka 2) Čo je znak v Jave?
špičkové spoločnosti pre videohry, pre ktoré treba pracovať
Odpoveď: Dátový typ char je primitívny údajový typ Java, ktorý má jeden 16-bitový znak Unicode. Hodnota je priradená ako jeden znak s jednoduchou úvodzovkou „“. Napríklad, char a = „A“ alebo char a = „1“ atď.
Otázka č. 3) Ako inicializujete znak v Jave?
Odpoveď: Premenná char sa inicializuje priradením jedného znaku uzavretého v úvodzovkách, tzn. ‘‘. Napríklad, char x = „b“, char x = „@“, char x = „3“ atď.
Otázka č. 4) Aká je int hodnota char A?
Odpoveď: Ak je premennej int priradený znak „A“, potom bude znak implicitne povýšený na znak int a ak je hodnota vytlačená, vráti ASCII hodnotu znaku „A“, ktorá je 65.
Napríklad,
int x= 'A'; System.out.println(x);
Týmto sa na konzole vytlačí 65 znakov.
Záver
V tomto tutoriáli sme videli nasledujúce spôsoby, ako prevádzať hodnoty dátového typu Java char na int.
- Implicitné prenášanie typu (získavanie hodnôt ASCII)
- Character.getNumericValue ()
- Integer.parseInt () s String.valueOf ()
- Odčítanie hodnoty „0“
Každému z týchto spôsobov sme sa podrobne venovali a použitie každej metódy sme demonštrovali pomocou ukážkového programu Java.
=> Skontrolujte VŠETKY návody Java tu
Odporúčané čítanie
- Celé číslo Java a trieda Java BigInteger s príkladmi
- Výukový program JAVA pre začiatočníkov: viac ako 100 praktických výučbových programov Java Video
- TreeMap In Java - návod s príkladmi Java TreeMap
- Ako previesť reťazec Java na Int - návod s príkladmi
- Výukový program Java Float s príkladmi programovania
- Vyhlásenie o prelomení Java - návod s príkladmi
- Java Enum: Výukový program Java Enumeration s príkladmi
- Metóda Java String length () s príkladmi