how convert char int java
I denna handledning lär vi oss de olika sätten att konvertera värden på primitiv datatyp char till int i Java tillsammans med vanliga frågor och exempel:
Vi kommer att täcka användningen av följande metoder som tillhandahålls av olika Java-klasser för att konvertera tecken till int:
- Implicit typgjutning (få ASCII-värden)
- getNumericValue ()
- parseInt () med String.valueOf ()
- Subtraherar ”0”
=> Kolla här för att se A-Z av Java-träningsövningar
Vad du kommer att lära dig:
Konvertera Char till int i Java
Java har primitiva datatyper som int, char, long, float, etc. I vissa scenarier är det nödvändigt att utföra operationer på numeriska värden, där variabla värden anges i datatypen char.
I sådana fall måste vi först konvertera dessa teckenvärden till numeriska värden, dvs. int-värden, och sedan utföra önskade åtgärder, beräkningar på dessa.
Till exempel, i vissa programvarusystem måste vissa operationer utföras, eller vissa beslut måste fattas baserat på de kundbetyg som erhållits i feedbackformuläret för kunder som kommer som teckendatatyp.
I sådana fall måste dessa värden först konverteras till int-datatyp för att utföra numeriska operationer på dessa värden ytterligare. Java tillhandahåller olika metoder för att konvertera tecken till ett int-värde. Låt oss titta på dessa metoder i detalj.
# 1) Använda implicit typbesättning dvs att få ASCII-värde av karaktären
I Java, om du tilldelar ett mindre datatypvärde till en variabel av den kompatibla större datatypvariabeln, kommer värdet automatiskt att marknadsföras, dvs. implicit får typecast till en variabel av den större datatypen.
bästa programvaran för att konvertera videofiler
Till exempel, om vi tilldelar en variabel av typen int till en variabel av typen long, så får int-värdet automatiskt typecast till datatypen long.
Implicit typgjutning sker också för 'char' -datatypvariabeln, dvs. när vi tilldelar följande char-variabelvärde till variabeln 'int' -datatyp, så konverteras char-variabelvärdet automatiskt till ett int av kompilatorn.
Till exempel,
char a = ‘1’;
int b = a;
Här får char 'a' implicit typecast till int-datatypen.
Om vi skriver ut värdet ”b”, ser du konsolutskrifter ”49”. Detta beror på att när vi tilldelar char-variabelvärdet 'a' till int-variabeln 'b', hämtar vi faktiskt ASCII-värdet på '1' vilket är '49'.
I följande exempel på Java-program, låt oss se hur man konverterar karaktär till int genom implicit typecast, dvs. att få ASCII-värde för char-variabel.
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); } }
Här är programmet Output:
ASCII-värde av P -> 80
ASCII-värde på p -> 112
ASCII-värde 2 -> 50
ASCII-värde på @ -> 64
I ovanstående program kan vi se ASCII-värdena för olika char-variabelvärden enligt följande:
ASCII-värde av P -> 80
ASCII-värde på p -> 112
Skillnaden i värden för 'P' och 'p' beror på att ASCII-värden är olika för stora och små bokstäver.
På samma sätt får vi ASCII-värden för numeriska värden och specialtecken samt följande:
ASCII-värde 2 -> 50
ASCII-värde på @ -> 64
# 2) Använda Character.getNumericValue () -metoden
Karaktärsklassen har metoder för statisk överbelastning av getNumericValue (). Den här metoden returnerar ett värde av datatyp int representerat av ett angivet Unicode-tecken.
Här är metodens signatur för getNumericValue () -metoden för char-datatyp:
offentlig statisk int getNumericValue (char ch)
Den här statiska metoden tar emot ett argument av datatyp char och returnerar datatypens int-värde som argumentet 'ch' representerar.
Till exempel, tecknet ' u216C' returnerar ett heltal med värdet 50.
Parametrar:
ch: Detta är ett tecken som måste konverteras till int.
Returer:
Den här metoden returnerar det numeriska värdet 'ch' som ett icke-negativt värde av datatypen int. Denna metod returnerar -2 om 'ch' har ett numeriskt värde som inte är ett icke-negativt heltal. Returnerar -1 om 'ch' inte har ett numeriskt värde.
Låt oss förstå användningen av denna Character.getNumericValue () -metod för att konvertera karaktär till ett int-värde.
Låt oss överväga scenariot där ett av bankens mjukvarusystem, där kön specificeras i datatypen 'char' och baserat på könskoden måste vissa beslut fattas som att tilldela ränta.
För detta måste könskoden konverteras från char till int-datatyp. Denna omvandling görs med metoden Character.getNumericValue () i exempelprogrammet nedan.
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 '); } } }
Här är programmet Output:
genderCode—> 1
Välkommen, vår bank erbjuder specialränta på fasta insättningar för våra kvinnliga kunder: 7,0%.
Skynda dig, detta erbjudande gäller endast under en begränsad period.
Så i ovanstående program omvandlar vi char variabelt könvärde till int-värde för att få int-värdet i variabelt genderCode.
röding kön = ‘1’;
int genderCode = karaktär. getNumericValue (kön);
Så när vi skriver ut på konsolen, System. ut .println (“genderCode ->” + genderCode); då ser vi int-värdet på konsolen enligt nedan:
genderCode—> 1
Samma variabla värde skickas till switch case loop växla (genderCode) för vidare beslutsfattande.
# 3) Använda Integer.parseInt () och String.ValueOf () -metoden
Denna statiska parseInt () -metod tillhandahålls av omslagsklassen Integer-klassen.
Här är metodens signatur för Integer.parseInt () :
public static int parseInt (String str) kastar NumberFormatException
Den här metoden analyserar strängargumentet, den betraktar sträng som ett signerat decimaltal. Strängargumentets alla tecken måste vara decimaler. Det enda undantaget är att det första tecknet får vara ett ASCII-minustecken '-' och plustecken '+' för en indikation på ett negativt värde respektive ett positivt värde.
Här är 'str'-parametern en sträng med int-representationen som ska analyseras och returnerar det heltalsvärde som representeras av argumentet i decimal. När strängen inte innehåller ett tolkbart heltal, ger metoden ett undantag NumberFormatException
Som framgår av metodens signatur för parseInt ( Sträng str), argumentet som ska skickas till parseInt () -metoden är av datatyp String. Så det är nödvändigt att konvertera ett charvärde till String först och sedan skicka detta String-värde till parseInt () -metoden. För detta används metoden String.valueOf ().
valueOf () är en statisk överbelastningsmetod av strängklass som används för att konvertera argument av primitiva datatyper som int, float till strängdatatyp.
public static String valueOf (int i)
Den här statiska metoden tar emot ett argument av datatyp int och returnerar strängrepresentationen för int-argumentet.
Parametrar:
i: Detta är ett heltal.
Returer:
Strängrepresentationen för int-argumentet.
Så vi använder en kombination av metoden Integer.parseInt () och String.valueOf (). Låt oss se användningen av dessa metoder i följande exempelprogram. Detta exempelprogram (1) Konverterar först kundbetygets värde för teckendatatyp till heltal och (2) skriver sedan ut lämpligt meddelande på konsolen med if-else-uttalandet.
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.'); } } }
Här är programmet Output:
customerRatings Strängvärde -> 7
customerRatings int värde -> 7
Grattis! Vår kund är mycket nöjd med våra tjänster.
java hur man kopierar en matris
I ovanstående exempelkod har vi använt metoden String.valueOf () för att konvertera tecken till ett värde av strängdatatyp.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Nu konverteras detta strängvärde till datatyp int med metoden Integer.parseInt () genom att skicka customerRatingsStr som ett argument.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Detta int-värde customerRating används vidare i if-else-uttalandet för att jämföra och skriva ut det önskade meddelandet på konsolen.
# 4) Konvertera Char till int i Java genom att subtrahera '0'
Vi har sett konvertera karaktär till int med implicit typecasting. Detta returnerar teckenets ASCII-värde. T.ex. ASCII-värdet 'P' returnerar 80 och ASCII-värdet '2' returnerar 50.
För att hämta int-värdet för '2' som 2 måste emellertid tecknet ASCII-värdet '0' subtraheras från tecknet. T.ex. För att hämta int 2 från karaktär 2,
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Notera :Detta är användbart för att få int-värden endast för numeriska värdetecken, dvs. 1, 2, etc., och inte användbart med textvärden som 'a', 'B' etc. eftersom det bara returnerar skillnaden mellan ASCII-värdena på '0 'och den karaktären.
Låt oss ta en titt på exempelprogrammet för att använda den här metoden för att subtrahera ASCII-värdet för noll, dvs. '0' från tecknet ASCII-värde.
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); } }
Här är programmet Output:
ASCII-värde 0 -> 48
ASCII-värde 1 -> 49
Heltalsvärdet 0 -> 0
Heltalsvärdet 1 -> 1
Heltalsvärde 7 -> 7
Heltalsvärde a -> 49
I ovanstående program, om vi tilldelar char '0' och '1' till int-datatypvärdet, kommer vi att få ASCII-värden för dessa tecken på grund av implicit konvertering. Så när vi skriver ut dessa värden enligt nedanstående uttalanden:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Vi får utdata som:
ASCII-värde 0 -> 48
ASCII-värde 1 -> 49
Så, för att få ett heltal som representerar samma värde som för char, subtraherar vi ASCII-värdet '0' från tecknen som representerar numeriska värden.
int int2 = char2 - '0'; .
Här subtraherar vi ASCII-värden på '0' från '1' ASCII-värdet.
dvs 49-48 = 1. Därför när vi skriver ut på konsol char2
System.out.println (“Heltalsvärde för“ + char2 + ”->” + int2);
Vi får resultatet som:
Heltalsvärdet 1 -> 1
Med detta har vi täckt de olika sätten att konvertera Java-karaktär till ett heltal med hjälp av exempelprogram. Så, för att konvertera karaktär till int i Java kan någon av metoderna som omfattas av ovanstående exempelkoder användas i ditt Java-program.
Nu ska vi titta på några av de vanliga frågorna om Java-karaktären till int-konvertering.
Vanliga frågor om Char To Int Java
F # 1) Hur konverterar jag en röding till en int?
Svar:
I Java kan char konverteras till int-värde med följande metoder:
- Implicit typgjutning (få ASCII-värden)
- Character.getNumericValue ()
- Integer.parseInt () med String.valueOf ()
- Subtraherar ”0”
F # 2) Vad är en röding i Java?
Svar: Char-datatypen är en Java-primitiv datatyp med ett enda 16-bitars Unicode-tecken. Värdet tilldelas som ett enskilt tecken med ett enda citat ''. Till exempel, char a = ‘A’ eller char a = ‘1’ etc.
F # 3) Hur initierar du en röding i Java?
Svar: char-variabel initieras genom att tilldela ett enstaka tecken som omges av enstaka citat, dvs ''. Till exempel, char x = 'b', char x = '@', char x = '3' etc.
F # 4) Vad är int-värdet av char A?
Svar: Om char 'A' tilldelas int-variabeln, kommer char implicit att marknadsföras till int och om värdet skrivs ut kommer det att returnera ASCII-värdet för tecknet 'A' som är 65.
Till exempel,
int x= 'A'; System.out.println(x);
Så detta kommer att skriva ut 65 på konsolen.
Slutsats
I denna handledning har vi sett följande sätt att konvertera värden för Java-datatyp char till int.
- Implicit typgjutning (få ASCII-värden)
- Character.getNumericValue ()
- Integer.parseInt () med String.valueOf ()
- Subtraherar ”0”
Vi har täckt vart och ett av dessa sätt i detalj och demonstrerat användningen av varje metod med hjälp av ett Java-exempel.
=> Kontrollera ALLA Java-handledning här
Rekommenderad läsning
- Java-heltal och Java BigInteger-klass med exempel
- JAVA-handledning för nybörjare: 100+ praktiska Java-videohandledning
- TreeMap In Java - Handledning med Java TreeMap-exempel
- Hur man konverterar Java - sträng till Int - Tutorial med exempel
- Java Float Tutorial med programmeringsexempel
- Java Break Statement - Handledning med exempel
- Java Enum: Java-uppräkningshandledning med exempel
- Java Stränglängd () Metod med exempel