how convert char int java
У цьому підручнику ми вивчимо різні способи перетворення значень примітивного типу даних char на int у Java разом із поширеними запитаннями та прикладами:
Ми розглянемо використання наступних методів, передбачених різними класами Java для перетворення символів у int:
- Неявний тип лиття (отримання значень ASCII)
- getNumericValue ()
- parseInt () за допомогою String.valueOf ()
- Віднімання «0»
=> Перегляньте тут, щоб переглянути A-Z навчальних посібників з 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:
public static int getNumericValue (char ch)
Цей статичний метод отримує аргумент типу даних char і повертає значення типу даних int, яке представляє аргумент ‘ch’.
Наприклад, символ ‘ u216C’ повертає ціле число зі значенням 50.
Параметри:
ch: Це символ, який потрібно перетворити на int.
Повернення:
Цей метод повертає числове значення ‘ch’ як невід’ємне значення типу даних int. Цей метод повертає -2, якщо значення ‘ch’ має числове значення, яке не є невід’ємним цілим числом. Повертає -1, якщо ‘ch’ не має числового значення.
Давайте розберемося з використанням цього методу Character.getNumericValue () для перетворення символу у значення int.
Давайте розглянемо сценарій, коли одна з банківських програмних систем, де стать визначається у типі даних „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, і повертає ціле значення, представлене аргументом у десятковій формі. Коли рядок не містить цілого числа, що піддається аналізу, тоді метод видає виняток NumberFormatException
Як видно з підпису методу для parseInt ( Рядок str), аргумент, який передається методу parseInt (), має тип даних String. Отже, спочатку потрібно перетворити значення символу в String, а потім передати це значення String методу parseInt (). Для цього використовується метод String.valueOf ().
valueOf () - це статичний метод перевантаження класу String, який використовується для перетворення аргументів примітивних типів даних, таких як int, float у тип даних String.
public static 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
внутрішнє значення customerRatings -> 7
Вітаємо! Наш клієнт дуже задоволений нашими послугами.
У наведеному вище зразку коду ми використовували метод String.valueOf () для перетворення символу у значення типу даних String.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Тепер це значення рядка перетворюється у тип даних int за допомогою методу Integer.parseInt () шляхом передачі Оцінки замовника як аргумент.
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 символу. Наприклад Значення ASCII 'P' повертає 80, а значення ASCII '2' повертає 50.
Однак, щоб отримати значення int для «2» як 2, значення ASCII символу «0» потрібно відняти від символу. Наприклад Щоб отримати int 2 із символу „2”,
що таке дружна функція в C ++
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» від значення «1» ASCII.
тобто 49-48 = 1. Отже, коли ми друкуємо на консолі char2
System.out.println (“Ціле значення“ + char2 + ”->” + int2);
Вихід отримаємо як:
Ціле число 1 -> 1
Цим ми розглянули різні способи перетворення символу Java у ціле значення за допомогою зразків програм. Отже, для перетворення символу в int у Java будь-який із методів, описаних у наведених вище зразках кодів, може бути використаний у вашій програмі Java.
Тепер давайте розглянемо деякі найпоширеніші запитання щодо перетворення символу Java на int.
Поширені запитання щодо Char To Int Java
Q # 1) Як перетворити char в int?
Відповідь:
У Java char може бути перетворений у значення int за допомогою таких методів:
найкраще безкоштовне програмне забезпечення для завантаження відео YouTube
- Неявний тип лиття (отримання значень ASCII)
- Character.getNumericValue ()
- Integer.parseInt () із String.valueOf ()
- Віднімання «0»
Q # 2) Що таке char в Java?
Відповідь: Тип даних char - це примітивний тип даних Java, що має один 16-розрядний символ Unicode. Значення присвоюється як один символ, укладений однією лапкою ‘’. Наприклад, char a = ‘A’ або char a = ‘1’ тощо.
Q # 3) Як ініціалізувати символ у Java?
Відповідь: Змінна char ініціалізується шляхом присвоєння одного символу, укладеного в одинарні лапки, тобто ‘’. Наприклад, char x = ‘b’, char x = ‘@’, char x = ‘3’ тощо.
Q # 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 - Підручник з прикладами Java TreeMap
- Як перетворити рядок Java на Int - Підручник на прикладах
- Підручник з Java Float із прикладами програмування
- Заява про перерву Java - Підручник із прикладами
- Java Enum: Підручник з перелічення Java з прикладами
- Довжина рядка Java () Метод із прикладами