how convert char int java
У овом упутству научићемо различите начине претварања вредности примитивног типа података цхар у инт у Јави, заједно са често постављаним питањима и примерима:
Обрадићемо употребу следећих метода које пружају различите Јава класе за претварање карактера у инт:
- Имплицитно лијевање типа (добијање АСЦИИ вредности)
- гетНумерицВалуе ()
- парсеИнт () са Стринг.валуеОф ()
- Одузимање „0“
=> Погледајте овде да бисте видели А-З Јава Водича за обуку
Шта ћете научити:
Претвори Цхар у инт у Јави
Јава има примитивне типове података попут инт, цхар, лонг, флоат, итд. У неким сценаријима потребно је извршити операције на нумеричким вредностима, где су променљиве вредности наведене у типу података цхар.
У таквим случајевима морамо прво претворити ове вредности знакова у нумеричке вредности, тј. Инт вредности, а затим извршити жељене радње, прорачуне на њима.
На пример, у неким софтверским системима треба извршити одређене радње или донети неке одлуке на основу оцена купаца примљених у обрасцу за повратне информације купаца који долази као тип података о знаковима.
У таквим случајевима ове вредности треба прво претворити у тип података инт да би се даље извршавале нумеричке операције над тим вредностима. Јава нуди разне методе за претварање карактера у инт вредност. Погледајмо ове методе детаљно.
# 1) Коришћење имплицитног улога типа, тј. Добијање АСЦИИ вредности карактера
У Јави, ако променљивој компатибилне веће променљиве типа података доделите мању вредност типа података, тада се вредност аутоматски промовише, тј. Имплицитно добија типецаст променљивој већег типа података.
На пример, ако променљиву типа инт доделимо променљиву типа инт, тада вредност инт аутоматски добија типецаст за тип података лонг.
Имплицитно преливање типа се дешава и за променљиву типа података „цхар“, тј. Када променљивој „тип података“ доделимо следећу вредност променљиве цхар, тада преводилац вредност вредности променљиве цхар аутоматски претвара у инт.
На пример,
цхар а = ‘1’;
инт б = а;
Овде цхар 'а' имплицитно пребацује типецаст на тип података инт.
Ако одштампамо вредност „б“, видећете отиске конзоле „49“. То је зато што када променљивој цхар „б“ доделимо вредност променљиве цхар „а“, заправо дохваћамо АСЦИИ вредност „1“ која је „49“.
У следећем примеру Јава програма, погледајмо како претворити карактер у инт путем имплицитног тикастог распореда, тј. Добијање АСЦИИ вредности променљиве цхар.
најбољи бесплатни алат за поправку система Виндовс 7
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); } }
Ево резултата програма:
АСЦИИ вредност П -> 80
АСЦИИ вредност п -> 112
АСЦИИ вредност 2 -> 50
АСЦИИ вредност @ -> 64
У горњем програму можемо видети АСЦИИ вредности различитих вредности променљивих цхар на следећи начин:
АСЦИИ вредност П -> 80
АСЦИИ вредност п -> 112
Разлика у вредностима за „П“ и „п“ је зато што се АСЦИИ вредности разликују за велика и мала слова.
Слично томе, добијамо АСЦИИ вредности за нумеричке вредности и специјални карактер, као и следеће:
АСЦИИ вредност 2 -> 50
АСЦИИ вредност @ -> 64
# 2) Коришћење методе Цхарацтер.гетНумерицВалуе ()
Класа Цхарацтер има статичке методе преоптерећења гетНумерицВалуе (). Ова метода враћа вредност типа података инт представљеног наведеним Уницоде знаком.
Ево потписа методе гетНумерицВалуе () за тип података цхар:
јавни статички инт гетНумерицВалуе (цхар цх)
Ова статичка метода прима аргумент типа података цхар и враћа вредност типа инт коју представља аргумент „цх“.
На пример, знак „ у216Ц“ враћа цео број са вредношћу 50.
Параметри:
цх: Ово је лик који треба претворити у инт.
Поврат:
Ова метода враћа нумеричку вредност „цх“ као ненегативну вредност типа података инт. Ова метода враћа -2 ако „цх“ има нумеричку вредност која није цео негативан број. Приказује -1 ако „цх“ нема нумеричку вредност.
Хајде да разумемо употребу ове методе Цхарацтер.гетНумерицВалуе () за претварање карактера у инт вредност.
Размотримо сценарио у којем један од банкарских софтверских система, где је пол наведен у типу података „цхар“, а на основу родног кода треба донети неку одлуку попут додељивања каматне стопе.
Да бисте то урадили, родни код треба претворити из цхар у инт тип података. Ова конверзија се врши методом Цхарацтер.гетНумерицВалуе () у доњем примеру програма.
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 '); } } }
Ево резултата програма:
гендерЦоде—> 1
Добродошли, наша банка нуди посебне каматне стопе на фиксне депозите за наше клијенте: 7,0%.
Пожурите, ова понуда важи само ограничен период.
Дакле, у горњем програму претварамо вредност променљиве цхар променљиве у вредност инт како бисмо добили вредност инт у променљивој гендерЦоде.
цхар пол = ‘1’;
инт гендерЦоде = Карактер. гетНумерицВалуе (пол);
Дакле, када штампамо на конзоли, Систем. напоље .принтлн (“гендерЦоде ->” + гендерЦоде); тада видимо вредност инт на конзоли као испод:
гендерЦоде—> 1
Иста вредност променљиве се преноси за пребацивање петље случаја прекидач (гендерЦоде) за даље доношење одлука.
# 3) Коришћење метода Интегер.парсеИнт () и Стринг.ВалуеОф ()
Ову статичку методу парсеИнт () пружа класа омотача Интегер класа.
Ево потписа методе Интегер.парсеИнт () :
јавни статички инт парсеИнт (Стринг стр) баца НумберФорматЕкцептион
Ова метода рашчлањује аргумент Стринг, узима Стринг као потписани децимални цели број. Сви знакови аргумента Стринг морају бити децималне цифре. Једини изузетак је тај што је првом знаку дозвољено да буде АСЦИИ минус знак ‘-‘ и знак плус ‘+’ за индикацију негативне вредности, односно позитивне вредности.
Овде је параметар ‘стр’ Стринг који има инт репрезентацију која се мора рашчланити и враћа целу вредност представљену аргументом у децималу. Када Стринг не садржи цели број који се може рашчланити, тада метода даје изузетак НумберФорматЕкцептион
Као што се види у потпису методе за парсеИнт ( Низ стр), аргумент који се прослеђује методи парсеИнт () је типа података Стринг. Дакле, потребно је прво претворити вредност цхар у Стринг, а затим проследити ову вредност Стрингу методи парсеИнт (). За ово се користи метода Стринг.валуеОф ().
валуеОф () је статичка метода преоптерећења класе Стринг која се користи за претварање аргумената примитивних типова података попут инт, флоат у Стринг тип података.
публиц статиц Стринг валуеОф (инт и)
Ова статичка метода прима аргумент типа података инт и враћа низ у облику аргумента инт.
Параметри:
и: Ово је цео број.
Поврат:
Приказивање низа инт аргумента.
Дакле, користимо комбинацију методе Интегер.парсеИнт () и Стринг.валуеОф (). Погледајмо употребу ових метода у следећем примеру програма. Овај пример програма [1] Прво претвара вредност оцене корисника типа података знакова у цео број, а затим [2] исписује одговарајућу поруку на конзоли помоћу израза иф-елсе.
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.'); } } }
Ево резултата програма:
цустомерРатингс Вредност низа -> 7
цустомерРатингс инт вредност -> 7
Честитам! Наш купац је веома задовољан нашим услугама.
У горњем примеру кода користили смо методу Стринг.валуеОф () за претварање карактера у вредност типа података Стринг.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Сада се ова вредност Стринг претвара у тип података инт помоћу методе Интегер.парсеИнт () прослеђивањем цустомерРатингсСтр као аргумент.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Ова инт вредност цустомерРатинг користи се даље у наредби иф-елсе за упоређивање и испис тражене поруке на конзоли.
# 4) Претворите цхар у инт у Јави одузимањем „0“
Видели смо претварање карактера у инт користећи имплицитно слање типова. Ово враћа АСЦИИ вредност карактера. На пример. АСЦИИ вредност „П“ враћа 80, а АСЦИИ вредност „2“ враћа 50.
Међутим, да би се инт вредност за „2“ преузела као 2, АСЦИИ вредност знака „0“ треба да се одузме од карактера. На пример. Да бисте преузели инт 2 из знака „2“,
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Белешка :Ово је корисно за добијање инт вредности само за нумеричке знакове, тј. 1, 2 итд., А није корисно са текстуалним вредностима попут „а“, „Б“ итд., Јер ће само вратити разлику између АСЦИИ вредности „0 'и тај лик.
Погледајмо пример програма који користи овај метод одузимања АСЦИИ вредности Нула, тј. „0“ од вредности АСЦИИ карактера.
1нф 2нф 3нф бцнф са примером
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); } }
Ево резултата програма:
АСЦИИ вредност 0 -> 48
АСЦИИ вредност 1 -> 49
Целобројна вредност 0 -> 0
Целобројна вредност 1 -> 1
Цела вредност 7 -> 7
Целобројна вредност а -> 49
У горе наведеном програму, ако доделимо цхар ‘0’ и ‘1’ вредности типа података инт, добићемо АСЦИИ вредности ових знакова због имплицитне конверзије. Дакле, када исписујемо ове вредности како се види у следећим изјавама:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Резултат ћемо добити као:
АСЦИИ вредност 0 -> 48
АСЦИИ вредност 1 -> 49
Дакле, да бисмо добили целобројну вредност која представља исту вредност као и вредност цхар, од карактера који представљају нумеричке вредности одузимамо АСЦИИ вредност ’0’.
int int2 = char2 - '0'; .
Овде одузимамо АСЦИИ вредности „0“ од АСЦИИ вредности „1“.
односно 49-48 = 1. Дакле, када штампамо на конзоли цхар2
Систем.оут.принтлн („Цела вредност„ + цхар2 + “->“ + инт2);
Резултат добијамо као:
Целобројна вредност 1 -> 1
Овим смо покрили различите начине претварања Јава знака у целобројну вредност уз помоћ програма за узорак. Дакле, за претварање карактера у инт у Јави, било који од метода обухваћених горњим примерцима кодова може се користити у вашем Јава програму.
Сада ћемо погледати нека од најчешћих питања о конверзији Јава карактера у инт.
Честа питања у вези са Цхар То Инт Јава
П # 1) Како претворити цхар у инт?
Одговор:
У Јави се цхар може претворити у вредност инт помоћу следећих метода:
- Имплицитно лијевање типа (добијање АСЦИИ вредности)
- Цхарацтер.гетНумерицВалуе ()
- Интегер.парсеИнт () са Стринг.валуеОф ()
- Одузимање „0“
П # 2) Шта је цхар у Јави?
Одговор: Тип података цхар је Јава примитивни тип података који има један 16-битни Уницоде карактер. Вредност је додељена као један знак који је приложен једним наводником ‘’. На пример, цхар а = ‘А’ или цхар а = ‘1’ итд.
П # 3) Како иницијализујете знак у Јави?
Одговор: променљива цхар иницијализује се додељивањем једног знака затвореног у појединачне наводнике тј. ‘’. На пример, цхар к = „б“, цхар к = „@“, цхар к = „3“ итд.
П # 4) Колика је инт вредност цхар А?
Одговор: Ако је цхар ‘А’ додељено променљивој инт, тада ће цхар имплицитно бити промовисан у инт, а ако се вредност одштампа, вратиће АСЦИИ вредност знака ‘А’ која је 65.
На пример,
int x= 'A'; System.out.println(x);
Дакле, ово ће одштампати 65 на конзоли.
Закључак
У овом упутству видели смо следеће начине за претварање вредности Јава типа података цхар у инт.
- Имплицитно лијевање типа (добијање АСЦИИ вредности)
- Цхарацтер.гетНумерицВалуе ()
- Интегер.парсеИнт () са Стринг.валуеОф ()
- Одузимање „0“
Детаљно смо обрадили сваки од ових начина и показали употребу сваке методе уз помоћ узорка Јава програма.
=> Овде проверите СВЕ Јава туторијале
Препоручено читање
- Јава Интегер и Јава БигИнтегер класа са примерима
- Водич за ЈАВА за почетнике: 100+ практичних Јава видео водича
- ТрееМап у Јави - Водич за примере Јава ТрееМап
- Како претворити Јава низ у инт - Водич са примерима
- Водич за Јава Флоат са примерима програмирања
- Изјава о Јава прекиду - Водич са примерима
- Јава Енум: Водич за набрајање Јава са примерима
- Метода дужине Јава низа () Метода са примерима