how convert char int java
I denne opplæringen lærer vi de forskjellige måtene å konvertere verdier av primitiv datatype char til int i Java sammen med ofte stilte spørsmål og eksempler:
Vi vil dekke bruken av følgende metoder levert av forskjellige Java-klasser for å konvertere tegn til int:
- Implisitt type casting (får ASCII-verdier)
- getNumericValue ()
- parseInt () med String.valueOf ()
- Subtrahere ‘0’
=> Sjekk her for å se AZ-opplæringsveiledninger for Java
Hva du vil lære:
Konverter Char til int I Java
Java har primitive datatyper som int, char, long, float, etc. I noen scenarier er det nødvendig å utføre operasjoner på numeriske verdier, hvor variable verdier er spesifisert i datatypen char.
I slike tilfeller må vi først konvertere disse tegnverdiene til numeriske verdier, dvs. int-verdier, og deretter utføre de ønskede handlingene, beregninger på disse.
vent i sekunder
For eksempel, i noen programvaresystemer, må visse operasjoner utføres, eller noen beslutninger må tas basert på kundevurderinger mottatt i tilbakemeldingsskjemaet for kunden, som kommer som karakterdatatypen.
I slike tilfeller må disse verdiene først konverteres til int-datatype for å utføre numeriske operasjoner på disse verdiene videre. Java gir forskjellige metoder for å konvertere tegn til en int-verdi. La oss se nærmere på disse metodene.
# 1) Bruk av Implisitt Type Cast dvs. å få ASCII-verdi av tegnet
I Java, hvis du tilordner en mindre datatypeverdi til en variabel av den kompatible større datatypevariabelen, blir verdien automatisk promotert, dvs. implisitt blir typecast til en variabel av den større datatypen.
For eksempel, hvis vi tilordner en variabel av typen int til en variabel av typen long, så blir int-verdien automatisk typecast til datatypen long.
Implisitt type casting skjer også for 'char' datatypevariabelen, dvs. når vi tilordner følgende char-variabelverdi til variabelen 'int' datatypen, blir char-variabelverdien automatisk konvertert til en int av kompilatoren.
For eksempel,
char a = ‘1’;
int b = a;
Her får char ‘a implisitt typecast til int-datatypen.
Hvis vi skriver ut verdien av 'b', vil du se konsollutskrifter '49'. Dette er fordi når vi tilordner char-variabelverdien ‘a’ til int-variabelen ‘b’, henter vi faktisk ASCII-verdien til ‘1’ som er ‘49’.
I det følgende eksemplet på Java-program, la oss se hvordan du konverterer tegn til int gjennom implisitt typecast, dvs. å få ASCII-verdi av 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); } }
Her er programmet Output:
ASCII-verdi på P -> 80
ASCII-verdi på p -> 112
ASCII-verdi på 2 -> 50
ASCII-verdi på @ -> 64
I det ovennevnte programmet kan vi se ASCII-verdiene til forskjellige char-variabelverdier som følger:
ASCII-verdi på P -> 80
ASCII-verdi på p -> 112
Forskjellen i verdier for ‘P’ og ‘p’ er fordi ASCII-verdiene er forskjellige for store og små bokstaver.
På samme måte får vi ASCII-verdier for numeriske verdier og spesialtegn, som følger:
ASCII-verdi på 2 -> 50
ASCII-verdi på @ -> 64
# 2) Bruk av Character.getNumericValue () -metoden
Tegnklassen har statiske metoder for overbelastning av getNumericValue (). Denne metoden returnerer en verdi av datatypen int representert av et spesifisert Unicode-tegn.
Her er metodesignaturen til getNumericValue () -metoden for char-datatype:
offentlig statisk int getNumericValue (char ch)
Denne statiske metoden mottar et argument av datatypen char og returnerer datatypen int-verdien som argumentet 'ch' representerer.
For eksempel, tegnet ‘ u216C’ returnerer et heltall med verdien 50.
Parametere:
ch: Dette er et tegn som må konverteres til int.
Returnerer:
Denne metoden returnerer den numeriske verdien til 'ch', som en ikke-negativ verdi av datatypen int. Denne metoden returnerer -2 hvis ‘ch’ har en numerisk verdi som ikke er et ikke-negativt heltall. Returnerer -1 hvis ‘ch’ ikke har en numerisk verdi.
La oss forstå bruken av denne Character.getNumericValue () -metoden for å konvertere tegn til en int-verdi.
La oss se på scenariet der et av bankens programvaresystemer, der kjønn er spesifisert i datatypen 'char' og basert på kjønnskoden, må noen beslutninger tas som å tildele rente.
For dette må kjønnskoden konverteres fra char til int datatype. Denne konverteringen gjøres ved hjelp av Character.getNumericValue () -metoden i eksempelprogrammet nedenfor.
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 '); } } }
Her er programmet Output:
kjønnskode—> 1
Velkommen, banken vår tilbyr spesiell rente på faste innskudd til våre kvinnelige kunder: 7,0%.
Skynd deg, dette tilbudet er kun gyldig i en begrenset periode.
Så i det ovennevnte programmet konverterer vi char-variabel kjønnverdi til int-verdi for å få int-verdien i variabel genderCode.
røye kjønn = ‘1’;
int genderCode = karakter. getNumericValue (kjønn);
Så når vi skriver ut på konsollen, System. ute .println (“genderCode ->” + genderCode); så ser vi int-verdien på konsollen som nedenfor:
kjønnskode—> 1
Den samme variabelverdien blir overført til å bytte case loop bytte om (genderCode) for videre beslutningstaking.
# 3) Bruke Integer.parseInt () And String.ValueOf () Method
Denne statiske parseInt () metoden er levert av wrapper class Integer class.
Her er metodesignaturen til Integer.parseInt () :
public static int parseInt (String str) kaster NumberFormatException
Denne metoden analyserer String-argumentet, den anser String som et signert desimaltall. String-argumentets tegn skal være desimaltall. Det eneste unntaket er at det første tegnet får lov til å være et ASCII minustegn ‘-‘ og plusstegnet ‘+’ for en indikasjon på henholdsvis negativ verdi og positiv verdi.
Her er 'str'-parameteren en streng som har int-representasjonen som skal analyseres, og returnerer heltallverdien representert av argumentet i desimal. Når strengen ikke inneholder et analyserbart heltall, kaster metoden et unntak NumberFormatException
Som det fremgår av metodesignaturen for parseInt ( String str), er argumentet som skal overføres til parseInt () -metoden av datatype String. Så det er nødvendig å konvertere en char-verdi til String først og deretter sende denne String-verdien til parseInt () -metoden. For dette brukes metoden String.valueOf ().
valueOf () er en statisk overbelastningsmetode av strengklasse som brukes til å konvertere argumenter for primitive datatyper som int, float til string-datatype.
beste gratis registret renere windows 8.1
offentlig statisk strengverdiOf (int i)
Denne statiske metoden mottar et argument av datatypen int og returnerer strengrepresentasjonen til int-argumentet.
Parametere:
i: Dette er et helt tall.
Returnerer:
Strengrepresentasjonen av int-argumentet.
Så vi bruker en kombinasjon av Integer.parseInt () og String.valueOf () -metoden. La oss se bruken av disse metodene i følgende eksempelprogram. Dette eksempelprogrammet [1] Konverterer først kundevurderingsverdien til karakterdatatypen til heltall og [2] skriver deretter ut den aktuelle meldingen på konsollen ved hjelp av if-else-setningen.
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.'); } } }
Her er programmet Output:
customerRatings Strengverdi -> 7
customerRatings int verdi -> 7
Gratulerer! Kunden vår er veldig fornøyd med våre tjenester.
I eksemplet ovenfor har vi brukt String.valueOf () -metoden til å konvertere tegn til en verdi av String-datatypen.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Nå konverteres denne strengverdien til datatype int ved hjelp av Integer.parseInt () -metoden ved å sende den kundeRangeringerStr som argument.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Denne int-verdien customerRating brukes videre i if-else-setningen for å sammenligne og skrive ut den nødvendige meldingen på konsollen.
# 4) Konverter tegn til int i Java ved å trekke '0'
Vi har sett konvertering av karakter til int ved hjelp av implisitt typecasting. Dette returnerer ASCII-verdien til tegnet. F.eks. ASCII-verdien på 'P' returnerer 80 og ASCII-verdien på '2 returnerer 50.
For å hente int-verdien for ‘2’ som 2, må imidlertid tegnet ASCII-verdien på ‘0’ trekkes fra tegnet. F.eks. For å hente int 2 fra karakteren ‘2’,
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Merk :Dette er nyttig for å få int-verdier bare for numeriske verditegn, dvs. 1, 2 osv., Og ikke nyttig for tekstverdier som 'a', 'B' osv., Da det bare returnerer forskjellen mellom ASCII-verdiene på '0 'og den karakteren.
La oss ta en titt på prøveprogrammet for å bruke denne metoden for å trekke ASCII-verdien til null, dvs. '0' fra tegnet ASCII-verdi.
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); } }
Her er programmet Output:
ASCII-verdi på 0 -> 48
ASCII-verdi på 1 -> 49
Heltalsverdien 0 -> 0
Heltalsverdien 1 -> 1
Heltalsverdien 7 -> 7
Heltall på a -> 49
I det ovennevnte programmet, hvis vi tilordner røye '0' og '1' til int-datatypeverdien, vil vi få ASCII-verdier av disse tegnene på grunn av implisitt konvertering. Så når vi skriver ut disse verdiene som vist i utsagnene nedenfor:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Vi får utdataene som:
ASCII-verdi på 0 -> 48
ASCII-verdi på 1 -> 49
Så for å få et heltall som representerer den samme verdien som char, trekker vi ASCII-verdien på '0' fra tegnene som representerer numeriske verdier.
int int2 = char2 - '0'; .
Her trekker vi ASCII-verdier på '0' fra '1' ASCII-verdien.
dvs. 49-48 = 1. Derfor når vi skriver ut på konsoll char2
System.out.println (“Heltalsverdien“ + char2 + ”->” + int2);
Vi får produksjonen som:
Heltalsverdien 1 -> 1
Med dette har vi dekket de forskjellige måtene å konvertere Java-tegn til et heltall ved hjelp av eksempelprogrammer. Så, for å konvertere tegn til int i Java, kan noen av metodene som er dekket i eksemplene ovenfor, brukes i Java-programmet ditt.
La oss nå se på noen av de ofte stilte spørsmålene om Java-tegnet til int-konvertering.
Vanlige spørsmål angående Char To Int Java
Sp # 1) Hvordan konverterer jeg en røye til en int?
Svar:
I Java kan char konverteres til int-verdi ved hjelp av følgende metoder:
- Implisitt type casting (får ASCII-verdier)
- Character.getNumericValue ()
- Integer.parseInt () med String.valueOf ()
- Subtrahere ‘0’
Q # 2) Hva er en røye i Java?
Svar: Char-datatypen er en Java-primitiv datatype som har et enkelt 16-biters Unicode-tegn. Verdien tildeles som et enkelt tegn vedlagt et enkelt sitat ‘’. For eksempel, char a = ‘A’ eller char a = ‘1’ osv.
Q # 3) Hvordan initialiserer du en røye i Java?
Svar: char-variabelen initialiseres ved å tilordne et enkelt tegn som er omsluttet av enkelt anførselstegn, dvs. For eksempel, char x = ‘b’, char x = ‘@’, char x = ‘3’ osv.
Q # 4) Hva er int-verdien av røde A?
Svar: Hvis char ‘A’ er tilordnet int-variabelen, vil char implisitt promoteres til int, og hvis verdien skrives ut, vil den returnere ASCII-verdien av tegnet ‘A’ som er 65.
For eksempel,
int x= 'A'; System.out.println(x);
Så dette vil skrive ut 65 på konsollen.
Konklusjon
I denne opplæringen har vi sett følgende måter å konvertere verdier av Java datatypen char til int.
- Implisitt type casting (får ASCII-verdier)
- Character.getNumericValue ()
- Integer.parseInt () med String.valueOf ()
- Subtrahere ‘0’
Vi har dekket hver av disse måtene i detalj og demonstrert bruken av hver metode ved hjelp av et eksempel på Java-program.
=> Sjekk ALLE Java-opplæringsprogrammer her
Anbefalt lesing
- Java Integer og Java BigInteger Class med eksempler
- JAVA-opplæring for nybegynnere: 100+ praktiske Java-videoveiledninger
- TreeMap In Java - Veiledning med Java TreeMap-eksempler
- Hvordan konvertere Java - streng til Int - opplæring med eksempler
- Java Float Tutorial med programmeringseksempler
- Java Break Statement - Opplæring med eksempler
- Java Enum: Opplæring i Java-oppregning med eksempler
- Java strenglengde () Metode med eksempler