how convert char int java
U ovom uputstvu naučit ćemo različite načine pretvaranja vrijednosti primitivnog tipa podataka char u int u Javi, zajedno s često postavljanim pitanjima i primjerima:
Pokrivat ćemo upotrebu sljedećih metoda koje pružaju različite Java klase za pretvaranje znakova u int:
- Implicitno lijevanje tipa (dobivanje ASCII vrijednosti)
- getNumericValue ()
- parseInt () sa String.valueOf ()
- Oduzimanje '0'
=> Ovdje pogledajte kako biste vidjeli A-Z vodiča za Java obuku
Što ćete naučiti:
Pretvori Char u int u Javi
Java ima primitivne tipove podataka poput int, char, long, float itd. U nekim je scenarijima potrebno izvoditi operacije s numeričkim vrijednostima, gdje su vrijednosti varijabli navedene u tipu podataka char.
U takvim slučajevima moramo prvo pretvoriti ove znakovne vrijednosti u numeričke vrijednosti, tj. Int vrijednosti, a zatim izvršiti željene radnje, izračune na njima.
Na primjer, u nekim softverskim sustavima treba izvršiti određene radnje ili se neke odluke moraju donijeti na temelju ocjena kupaca dobivenih u obrascu za povratne informacije kupaca koji dolazi kao tip podataka o znakovima.
U takvim slučajevima te vrijednosti treba prvo pretvoriti u tip podataka int da bi se dalje izvršavale numeričke operacije nad tim vrijednostima. Java nudi razne metode za pretvaranje znakova u int vrijednost. Pogledajmo ove metode detaljno.
# 1) Korištenje implicitne vrste Cast, tj. Dobivanje ASCII vrijednosti znaka
U Javi, ako dodijelite manju vrijednost tipa podataka varijabli kompatibilne veće varijable tipa podataka, tada se vrijednost automatski promovira, tj. Implicitno dobiva typecast varijabli većeg tipa podataka.
Na primjer, ako varijabli tipa int dodijelimo varijablu tipa int, tada vrijednost int automatski dobiva typecast za tip podataka long.
Implicitno lijevanje tipa događa se i za varijablu tipa podataka 'char', tj. Kada dodijelimo sljedeću vrijednost varijable char varijabli 'int', tip podataka tada vrijednost varijable char automatski pretvara u int od strane kompajlera.
kako dodati elemente niza
Na primjer,
char a = ‘1’;
int b = a;
Ovdje char 'a' implicitno dobiva typecast na tip podataka int.
Ako ispisujemo vrijednost 'b', vidjet ćete otiske konzole '49'. To je zato što kada dodamo vrijednost varijable char 'a' int varijabli 'b', zapravo dohvaćamo ASCII vrijednost '1' koja je '49'.
U slijedećem uzorku Java programa, pogledajmo kako pretvoriti znak u int putem implicitnog typecast-a, tj. Dobivanje ASCII vrijednosti varijable 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); } }
Evo rezultata programa:
ASCII vrijednost P -> 80
ASCII vrijednost p -> 112
ASCII vrijednost 2 -> 50
ASCII vrijednost @ -> 64
U gornjem programu možemo vidjeti ASCII vrijednosti različitih vrijednosti varijable char na sljedeći način:
ASCII vrijednost P -> 80
ASCII vrijednost p -> 112
Razlika u vrijednostima za 'P' i 'p' je zato što se ASCII vrijednosti razlikuju za velika i mala slova.
Slično tome, dobivamo ASCII vrijednosti za numeričke vrijednosti i posebne znakove, kao i sljedeće:
ASCII vrijednost 2 -> 50
ASCII vrijednost @ -> 64
# 2) Korištenje metode Character.getNumericValue ()
Klasa Character ima statičke metode preopterećenja getNumericValue (). Ova metoda vraća vrijednost tipa podataka int predstavljenog navedenim Unicode znakom.
Evo potpisa metode getNumericValue () za tip podataka char:
javni statički int getNumericValue (char ch)
Ova statička metoda prima argument tipa podataka char i vraća vrijednost tipa int vrijednost koju predstavlja argument 'ch'.
Na primjer, znak ‘ u216C’ vraća cijeli broj s vrijednošću 50.
Parametri:
ch: Ovo je lik koji treba pretvoriti u int.
Povrat:
Ova metoda vraća numeričku vrijednost ‘ch’ kao nenegativnu vrijednost tipa podataka int. Ova metoda vraća -2 ako 'ch' ima numeričku vrijednost koja nije negativan cijeli broj. Vraća -1 ako 'ch' nema brojčanu vrijednost.
Razumijemo upotrebu ove metode Character.getNumericValue () za pretvaranje znaka u int vrijednost.
Razmotrimo scenarij u kojem jedan od bankovnih softverskih sustava, gdje je spol naveden u tipu podataka 'char' i na temelju rodnog koda treba donijeti neku odluku poput dodjele kamatne stope.
Za to je potrebno spolni kod pretvoriti iz char u int tip podataka. Ova se pretvorba vrši metodom Character.getNumericValue () u donjem primjeru programa.
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 '); } } }
Evo rezultata programa:
spolKod—> 1
Dobrodošli, naša banka nudi posebne kamatne stope na fiksne depozite za naše klijente: 7,0%.
Požurite, ova ponuda vrijedi samo ograničeno razdoblje.
Dakle, u gornjem programu pretvaramo vrijednost varijable char char u vrijednost int kako bismo dobili vrijednost int u varijabli genderCode.
ugljen spol = ‘1’;
int genderCode = Znak. getNumericValue (spol);
Dakle, kad ispisujemo na konzoli, System. van .println (“genderCode ->” + genderCode); tada vidimo vrijednost int na konzoli kao dolje:
spolKod—> 1
Ista vrijednost varijable prenosi se za prebacivanje petlje slučaja sklopka (genderCode) za daljnje donošenje odluka.
# 3) Korištenje metode Integer.parseInt () i String.ValueOf ()
Ovu statičku metodu parseInt () pruža klasa omotača Integer klasa.
Evo potpisa metode Integer.parseInt () :
ručno testiranje pitanja i odgovori na intervjuu pdf
javni statički int parseInt (String str) baca NumberFormatException
Ova metoda raščlanjuje argument String, smatra String kao potpisan decimalni cijeli broj. Svi znakovi argumenta String moraju biti decimalne znamenke. Iznimka je samo što prvi znak smije biti ASCII minus znak '-' i znak plus '+' za naznaku negativne vrijednosti, odnosno pozitivne vrijednosti.
Ovdje je parametar 'str' niz koji ima int prikaz koji se mora raščlaniti i vraća cjelobrojnu vrijednost predstavljenu argumentom u decimalu. Kada String ne sadrži cjelinu koja se može raščlaniti, tada metoda izuzima Iznimku NumberFormatException
Kao što se vidi u potpisu metode za parseInt ( Niz str), argument koji se prosljeđuje metodi parseInt () je podatkovnog tipa String. Dakle, potrebno je prvo pretvoriti vrijednost char u String, a zatim proslijediti ovu vrijednost Stringu metodi parseInt (). Za to se koristi metoda String.valueOf ().
valueOf () je statička metoda preopterećenja klase String koja se koristi za pretvaranje argumenata primitivnih vrsta podataka poput int, float u String tip podataka.
public static String valueOf (int i)
Ova statička metoda prima argument tipa podataka int i vraća niz u obliku argumenta int.
Parametri:
i: Ovo je cijeli broj.
Povrat:
Prikazivanje niza argumenta int.
Dakle, koristimo kombinaciju metode Integer.parseInt () i String.valueOf (). Pogledajmo upotrebu ovih metoda u sljedećem uzorku programa. Ovaj primjer programa (1) Prvo pretvara vrijednost ocjene korisnika tipa podataka znakova u cijeli broj, a zatim (2) ispisuje odgovarajuću poruku na konzoli pomoću naredbe 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.'); } } }
Evo rezultata programa:
customerRatings Vrijednost niza -> 7
customerRatings int vrijednost -> 7
Čestitamo! Naš je kupac vrlo zadovoljan našim uslugama.
U gornjem uzorku koda koristili smo metodu String.valueOf () za pretvorbu znaka u vrijednost tipa podataka String.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Sada se ova vrijednost String pretvara u tip podataka int pomoću metode Integer.parseInt () prosljeđivanjem customerRatingsStr kao argument.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Ova int vrijednost Ocjena kupaca koristi se dalje u naredbi if-else za usporedbu i ispis tražene poruke na konzoli.
# 4) Pretvorite char u int u Javi oduzimajući '0'
Vidjeli smo pretvaranje znakova u int koristeći implicitno slanje tipova. Ovo vraća ASCII vrijednost znaka. Npr. ASCII vrijednost 'P' vraća 80, a ASCII vrijednost '2' vraća 50.
Međutim, da bi se int vrijednost za '2' dohvatila kao 2, ASCII vrijednost znaka '0' treba oduzeti od znaka. Npr. Da biste dohvatili int 2 iz znaka '2',
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Bilješka :Ovo je korisno za dobivanje int vrijednosti samo za numeričke znakove, tj. 1, 2 itd., A nije korisno s tekstualnim vrijednostima kao što su 'a', 'B' itd., Jer će samo vratiti razliku između ASCII vrijednosti '0 'i taj lik.
Pogledajmo primjer programa kako bismo koristili ovu metodu oduzimanja ASCII vrijednosti Nula, tj. '0' od vrijednosti 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); } }
Evo rezultata programa:
ASCII vrijednost 0 -> 48
ASCII vrijednost 1 -> 49
Cijela vrijednost 0 -> 0
Cijela vrijednost 1 -> 1
Cijela vrijednost 7 -> 7
Cijela vrijednost a -> 49
Ako u gornjem programu dodijelimo char '0' i '1' vrijednosti tipa int podataka, dobit ćemo ASCII vrijednosti ovih znakova zbog implicitne pretvorbe. Dakle, kada ispisujemo ove vrijednosti kako se vidi u sljedećim izjavama:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Rezultat ćemo dobiti kao:
ASCII vrijednost 0 -> 48
ASCII vrijednost 1 -> 49
Dakle, da bismo dobili cjelobrojnu vrijednost koja predstavlja istu vrijednost kao i vrijednost char, od karaktera koji predstavljaju numeričke vrijednosti oduzimamo ASCII vrijednost '0'.
int int2 = char2 - '0'; .
Ovdje oduzimamo ASCII vrijednosti '0' od ASCII vrijednosti '1'.
tj. 49-48 = 1. Dakle, kada ispisujemo na konzoli char2
System.out.println ('Cijela vrijednost' + char2 + '->' + int2);
Rezultat dobivamo kao:
Cijela vrijednost 1 -> 1
Ovim smo pokrili razne načine pretvaranja Java znaka u cjelobrojnu vrijednost uz pomoć uzoraka programa. Dakle, za pretvaranje znaka u int u Javi, bilo koja metoda obuhvaćena gornjim primjerima kodova može se koristiti u vašem Java programu.
Sada ćemo pogledati neka od često postavljanih pitanja o pretvorbi znaka Java u int.
Česta pitanja o Char To Int Javi
P # 1) Kako pretvoriti char u int?
Odgovor:
U Javi se char može pretvoriti u vrijednost int pomoću sljedećih metoda:
- Implicitno lijevanje tipa (dobivanje ASCII vrijednosti)
- Character.getNumericValue ()
- Integer.parseInt () sa String.valueOf ()
- Oduzimanje '0'
P # 2) Što je char u Javi?
Odgovor: Tip podataka char je Java primitivni tip podataka koji ima jedan 16-bitni Unicode znak. Vrijednost je dodijeljena kao jedan znak koji je zatvoren jednim navodnikom ''. Na primjer, char a = 'A' ili char a = '1' itd.
P # 3) Kako inicijalizirati char u Javi?
najbolja aplikacija zaslona zaslona za Windows 10
Odgovor: varijabla char inicijalizira se dodjeljivanjem jednog znaka zatvorenog u pojedinačne navodnike tj. ''. Na primjer, char x = 'b', char x = '@', char x = '3' itd.
P # 4) Kolika je int vrijednost char A?
Odgovor: Ako je char 'A' dodijeljen varijabli int, tada će char implicitno biti promoviran u int, a ako se vrijednost ispiše, vratit će ASCII vrijednost znaka 'A' koja je 65.
Na primjer,
int x= 'A'; System.out.println(x);
Dakle, ovo će ispisati 65 na konzoli.
Zaključak
U ovom uputstvu vidjeli smo sljedeće načine za pretvaranje vrijednosti Java tipa podataka char u int.
- Implicitno lijevanje tipa (dobivanje ASCII vrijednosti)
- Character.getNumericValue ()
- Integer.parseInt () sa String.valueOf ()
- Oduzimanje '0'
Pojedino smo obradili svaki od ovih načina i pokazali upotrebu svake metode uz pomoć uzorka Java programa.
=> Ovdje provjerite SVE Java tutorijale
Preporučena literatura
- Java Integer i Java BigInteger klasa s primjerima
- JAVA Tutorial za početnike: 100+ praktičnih Java Video tutorijala
- TreeMap u Javi - Vodič uz primjere Java TreeMap
- Kako pretvoriti Java niz u Int - Vodič sa primjerima
- Vodič za Java Float s primjerima programiranja
- Izjava o Java prekidu - Vodič s primjerima
- Java Enum: Vodič za nabrajanje Java s primjerima
- Duljina Java niza () Metoda s primjerima