how convert char int java
В този урок ще научим различните начини за конвертиране на стойности на примитивен тип данни char в int в Java заедно с често задавани въпроси и примери:
Ще разгледаме използването на следните методи, предоставени от различни Java класове за конвертиране на символ в int:
- Неявен тип леене (получаване на ASCII стойности)
- getNumericValue ()
- parseInt () със String.valueOf ()
- Изваждане на „0“
=> Проверете тук, за да видите A-Z на Java уроци за обучение
Какво ще научите:
- Конвертиране на Char в int в Java
- # 1) Използване на неявен тип Cast, т.е.получаване на ASCII стойност на символа
- # 2) Използване на метод Character.getNumericValue ()
- # 3) Използване на метод Integer.parseInt () и String.ValueOf ()
- # 4) Конвертирайте Char в int в Java, като извадите ‘0’
- Често задавани въпроси относно Char To Int Java
- Заключение
Конвертиране на Char в int в Java
Java има примитивни типове данни като int, char, long, float и др. В някои сценарии се изисква да се извършват операции с числови стойности, където променливите стойности са посочени в типа данни char.
В такива случаи трябва първо да преобразуваме тези символни стойности в числови стойности, т.е. int стойности, и след това да извършим желаните действия, изчисления върху тях.
Например, в някои софтуерни системи трябва да се извършат определени операции или да се вземат някои решения въз основа на рейтингите на клиентите, получени във формуляра за обратна връзка с клиента, който идва като тип данни за знака.
В такива случаи тези стойности трябва първо да бъдат преобразувани в тип данни int, за да се извършват по-нататък числови операции с тези стойности. Java предоставя различни методи за конвертиране на символ в стойност int. Нека разгледаме подробно тези методи.
# 1) Използване на неявен тип Cast, т.е.получаване на ASCII стойност на символа
В Java, ако присвоите по-малка стойност на типа данни на променлива от съвместимата по-голяма променлива от тип данни, тогава стойността се повишава автоматично, т.е. неявно получава typecast към променлива от по-големия тип данни.
Например, ако присвоим променлива от тип int на променлива от тип long, тогава стойността int автоматично получава typecast към тип данни long.
Имплицитното леене на тип се случва и за променливата тип данни „char“, т.е.когато присвоим следната стойност на променливата char на типа данни с променлива „int“, тогава стойността на променливата char автоматично се преобразува в int от компилатора.
Например,
char a = ‘1’;
int b = a;
Тук char ‘a’ получава имплицитно typecast към типа данни int.
уебсайт, за да гледате аниме онлайн безплатно
Ако отпечатаме стойността на „b“, ще видите конзолни отпечатъци „49“. Това е така, защото когато присвояваме char променлива стойност ‘a’ на int променлива ‘b’, ние всъщност извличаме ASCII стойността на ‘1’, която е ‘49’.
В следващата примерна Java програма, нека да видим как да конвертираме символ в int чрез неявен typecast, т.е. получаване на ASCII стойност на променлива 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); } }
Ето изхода на програмата:
ASCII стойност на P -> 80
ASCII стойност на p -> 112
ASCII стойност от 2 -> 50
ASCII стойност на @ -> 64
В горната програма можем да видим ASCII стойностите на различни стойности на променливите char, както следва:
ASCII стойност на P -> 80
ASCII стойност на p -> 112
Разликата в стойностите за „P“ и „p“ е, защото стойностите на ASCII са различни за главни и малки букви.
По същия начин получаваме ASCII стойности за числови стойности и специален символ, както и както следва:
ASCII стойност от 2 -> 50
ASCII стойност на @ -> 64
# 2) Използване на метод Character.getNumericValue ()
Класът Character има статични методи за претоварване на getNumericValue (). Този метод връща стойност на тип данни int, представен от определен Unicode символ.
Ето подписът на метода на метода getNumericValue () за типа данни char:
публичен статичен int getNumericValue (char ch)
Този статичен метод получава аргумент от тип данни char и връща стойността на типа данни int, която аргументът ‘ch’ представлява.
Например, символът ‘ u216C’ връща цяло число със стойност 50.
Параметри:
ch: Това е знак, който трябва да бъде преобразуван в int.
Се завръща:
Този метод връща числовата стойност на ‘ch’, като неотрицателна стойност на тип данни int. Този метод връща -2, ако ‘ch’ има числова стойност, която не е неотрицателно цяло число. Връща -1, ако ‘ch’ няма числова стойност.
Нека разберем използването на този метод Character.getNumericValue () за конвертиране на символ в стойност int.
Нека разгледаме сценария, при който една от банковите софтуерни системи, където полът е посочен в тип данни „char“ и въз основа на кода на пола трябва да се вземе решение като определяне на лихвен процент.
За това кодът на пола трябва да бъде преобразуван от char в тип данни int. Това преобразуване се извършва с помощта на метода Character.getNumericValue () в примерната програма по-долу.
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 '); } } }
Ето изхода на програмата:
genderCode—> 1
Добре дошли, нашата банка предлага специален лихвен процент по фиксирани депозити за нашите клиенти жени: 7,0%.
Побързайте, тази оферта е валидна само за ограничен период от време.
И така, в горната програма преобразуваме стойността на char променлива пола в int стойност, за да получим стойността int в променлива genderCode.
char пол = ‘1’;
инт genderCode = Символ. getNumericValue (пол);
Така че, когато печатаме на конзола, System. навън .println (“genderCode ->” + genderCode); тогава виждаме стойността int на конзолата както по-долу:
genderCode—> 1
Същата стойност на променлива се предава за превключване на цикъла на случай превключвател (genderCode) за по-нататъшно вземане на решения.
# 3) Използване на метод Integer.parseInt () и String.ValueOf ()
Този статичен метод parseInt () се предоставя от класа на обвивката Integer клас.
Ето подписът на метода на Integer.parseInt () :
public static int parseInt (String str) изхвърля NumberFormatException
Този метод анализира аргумента String, той разглежда String като подписано десетично цяло число. Всички символи на аргумента String трябва да са десетични цифри. Единственото изключение е, че първият знак може да бъде ASCII знак минус ‘-‘ и знак плюс ‘+’ за индикация на отрицателна стойност и съответно положителна стойност.
Тук параметърът „str“ е низ, който има представяне на int, за да бъде анализиран и връща целочислената стойност, представена от аргумента в десетичен знак. Когато String не съдържа подлежащо на анализиране цяло число, тогава методът хвърля изключение NumberFormatException
Както се вижда в сигнатурата на метода за parseInt ( Струна str), аргументът, който трябва да бъде предаден на метода parseInt (), е от тип данни String. И така, първо трябва да преобразувате стойност на char в String и след това да предадете тази стойност на String на метода parseInt (). За това се използва методът String.valueOf ().
valueOf () е метод за статично претоварване на String клас, който се използва за преобразуване на аргументи на примитивни типове данни като int, float в String тип данни.
публичен статичен String valueOf (int i)
Този статичен метод получава аргумент от тип данни int и връща низовото представяне на аргумента int.
Параметри:
i: Това е цяло число.
Се завръща:
Низовото представяне на аргумента int.
И така, използваме комбинация от метод Integer.parseInt () и String.valueOf (). Нека да видим използването на тези методи в следващата примерна програма. Тази примерна програма (1) Първо преобразува стойността на рейтинга на клиента за типа данни за символи в цяло число и (2) след това отпечатва съответното съобщение на конзолата, използвайки оператора 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.'); } } }
Ето изхода на програмата:
customerRatings Стойност на низа -> 7
clientRatings int стойност -> 7
Честито! Нашият клиент е много доволен от нашите услуги.
В горния примерен код използвахме метода String.valueOf (), за да преобразуваме символа в стойност на типа данни String.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Сега тази стойност на String се преобразува в тип данни int с помощта на метода Integer.parseInt () чрез предаване customerRatingsStr като аргумент.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Тази стойност int клиентска оценка се използва допълнително в оператора if-else за сравняване и отпечатване на необходимото съобщение на конзолата.
# 4) Конвертирайте Char в int в Java, като извадите ‘0’
Виждали сме преобразуване на символ в int, използвайки неявно типово излъчване. Това връща ASCII стойността на символа. E.g. ASCII стойността на „P“ връща 80, а ASCII стойността на „2“ връща 50.
За да се извлече стойност int за ‘2’ като 2, ASCII стойността на символа ‘0’ трябва да бъде извадена от символа. E.g. За да извлечете int 2 от символ „2“,
софтуер за отдалечен работен плот за Windows 7
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Забележка :Това е полезно за получаване на int стойности само за числови знаци, т.е. 1, 2 и т.н., и не е полезно при текстови стойности като 'a', 'B' и т.н., тъй като просто ще върне разликата между ASCII стойностите на '0 и този герой.
Нека да разгледаме примерната програма, за да използваме този метод за изваждане на ASCII стойността на Zero, т.е. ‘0’ от стойността 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); } }
Ето изхода на програмата:
ASCII стойност от 0 -> 48
ASCII стойност от 1 -> 49
Целочислена стойност от 0 -> 0
Целочислена стойност на 1 -> 1
Целочислена стойност на 7 -> 7
Цяло число на a -> 49
В горната програма, ако присвоим char ‘0’ и ‘1’ на стойността на типа int данни, ще получим ASCII стойности на тези знаци поради неявно преобразуване. И така, когато отпечатваме тези стойности, както се вижда в следващите твърдения:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Ще получим изхода като:
ASCII стойност от 0 -> 48
ASCII стойност от 1 -> 49
И така, за да получим целочислена стойност, представляваща същата стойност като тази на char, изваждаме ASCII стойността на ‘0’ от символите, представляващи числови стойности.
int int2 = char2 - '0'; .
Тук изваждаме ASCII стойности на „0“ от стойността на ASCII „1“.
т.е. 49-48 = 1. Следователно, когато печатаме на конзолата char2
System.out.println (“Цяла стойност на“ + char2 + ”->” + int2);
Получаваме изхода като:
Целочислена стойност на 1 -> 1
С това сме обхванали различните начини за преобразуване на Java символ в цяло число с помощта на примерни програми. Така че, за да конвертирате символ в int в Java, всеки от методите, описани в горните примерни кодове, може да се използва във вашата Java програма.
Сега нека разгледаме някои от често задаваните въпроси за преобразуването на символа Java в int.
Често задавани въпроси относно Char To Int Java
В # 1) Как да преобразувам char в int?
Отговор:
В Java char може да се преобразува в int стойност чрез следните методи:
- Неявен тип леене (получаване на ASCII стойности)
- Character.getNumericValue ()
- Integer.parseInt () със String.valueOf ()
- Изваждане на „0“
В # 2) Какво представлява char в Java?
Отговор: Типът данни char е примитивен тип данни на Java с един 16-битов Unicode символ. Стойността се присвоява като единичен знак, заграден с единична кавичка „“. Например, char a = ‘A’ или char a = ‘1’ и т.н.
В # 3) Как да инициализирате char в Java?
Отговор: променливата char се инициализира чрез присвояване на един знак, затворен в единични кавички, т.е. ‘’. Например, char x = ‘b’, char x = ‘@’, char x = ‘3’ и т.н.
В # 4) Каква е вътрешната стойност на char A?
Отговор: Ако char ‘A’ е присвоена на променливата int, тогава char ще бъде имплицитно повишен до int и ако стойността бъде отпечатана, тя ще върне ASCII стойност на символ ‘A’, която е 65.
Например,
int x= 'A'; System.out.println(x);
Така че това ще отпечата 65 на конзолата.
Заключение
В този урок видяхме следните начини за конвертиране на стойности на Java тип данни char в int.
- Неявен тип леене (получаване на ASCII стойности)
- Character.getNumericValue ()
- Integer.parseInt () със String.valueOf ()
- Изваждане на „0“
Ние подробно разгледахме всеки от тези начини и демонстрирахме използването на всеки метод с помощта на примерна Java програма.
=> Проверете ВСИЧКИ уроци по Java тук
Препоръчително четене
- Java Integer и Java BigInteger клас с примери
- Урок за JAVA за начинаещи: 100+ практически ръководства за Java видео
- TreeMap в Java - Урок с примери за TreeMap на Java
- Как да конвертирате Java низ в Int - Урок с примери
- Урок за Java Float с примери за програмиране
- Изявление за Java Break - Урок с примери
- Java Enum: Урок за изброяване на Java с примери
- Дължина на низа на Java () Метод с примери