how convert char int java
I denne vejledning lærer vi de forskellige måder at konvertere værdier af primitiv datatype char til int i Java sammen med ofte stillede spørgsmål og eksempler:
Vi vil dække brugen af følgende metoder leveret af forskellige Java-klasser til konvertering af tegn til int:
- Implicit type casting (få ASCII-værdier)
- getNumericValue ()
- parseInt () med String.valueOf ()
- Fratrækning af '0'
=> Tjek her for at se AZ af Java-træningsvejledninger
Hvad du vil lære:
Konverter Char til int I Java
Java har primitive datatyper som int, char, long, float osv. I nogle scenarier er det nødvendigt at udføre operationer på numeriske værdier, hvor variable værdier er specificeret i datatypen char.
I sådanne tilfælde skal vi først konvertere disse tegnværdier til numeriske værdier, dvs. int-værdier, og derefter udføre de ønskede handlinger, beregninger på disse.
For eksempel, i nogle softwaresystemer skal visse operationer udføres, eller nogle beslutninger skal træffes baseret på de kundebedømmelser, der modtages i kundefeedbackformularen, som kommer som karakterdatatypen.
swf-fil åbnes ikke i krom
I sådanne tilfælde skal disse værdier først konverteres til int-datatype for at udføre numeriske operationer på disse værdier yderligere. Java giver forskellige metoder til at konvertere tegn til en int-værdi. Lad os se nærmere på disse metoder.
# 1) Brug af Implicit Type Cast dvs. at få ASCII-værdi af tegnet
I Java, hvis du tildeler en mindre datatypeværdi til en variabel af den kompatible større datatypevariabel, promoveres værdien automatisk, dvs. implicit får typecast til en variabel af den større datatype.
For eksempel, hvis vi tildeler en variabel af typen int til en variabel af typen lang, så får int-værdien automatisk typecast til datatypen lang.
Implicit type casting sker også for 'char' datatypevariablen, dvs. når vi tildeler følgende char-variabelværdi til variablen 'int' datatype, konverteres char-variabelværdien automatisk til en int af compileren.
For eksempel,
char a = ‘1’;
int b = a;
Her får char 'a' implicit typecast til int-datatypen.
Hvis vi udskriver værdien af 'b', vil du se konsoludskrifter '49'. Dette skyldes, at når vi tildeler char-variabelværdien 'a' til int-variablen 'b', henter vi faktisk ASCII-værdien på '1', som er '49'.
I det følgende eksempel på Java-program, lad os se, hvordan man konverterer karakter til int gennem implicit typecast dvs. at få ASCII-værdi af 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-værdi på P -> 80
ASCII-værdi på p -> 112
ASCII-værdi på 2 -> 50
ASCII-værdi på @ -> 64
I ovenstående program kan vi se ASCII-værdierne for forskellige char-variabelværdier som følger:
ASCII-værdi på P -> 80
ASCII-værdi på p -> 112
Forskellen i værdier for 'P' og 'p' skyldes, at ASCII-værdier er forskellige for store og små bogstaver.
På samme måde får vi ASCII-værdier til numeriske værdier og specialtegn samt som følger:
ASCII-værdi på 2 -> 50
ASCII-værdi på @ -> 64
# 2) Brug af Character.getNumericValue () metode
Tegnklassen har statiske metoder til overbelastning af getNumericValue (). Denne metode returnerer en værdi af datatypen int repræsenteret af et specificeret Unicode-tegn.
Her er metodesignaturen for getNumericValue () -metoden til char-datatype:
offentlig statisk int getNumericValue (char ch)
Denne statiske metode modtager et argument af datatypen char og returnerer den datatype int-værdi, som argumentet 'ch' repræsenterer.
For eksempel, tegnet ' u216C' returnerer et heltal med en værdi på 50.
Parametre:
ch: Dette er et tegn, der skal konverteres til int.
Vender tilbage:
Denne metode returnerer den numeriske værdi af 'ch' som en ikke-negativ værdi af datatypen int. Denne metode returnerer -2, hvis 'ch' har en numerisk værdi, der ikke er et ikke-negativt heltal. Returnerer -1, hvis 'ch' ikke har en numerisk værdi.
Lad os forstå brugen af denne Character.getNumericValue () metode til at konvertere tegn til en int-værdi.
Lad os overveje scenariet, hvor et af banksoftwaresystemerne, hvor køn er specificeret i datatypen 'char' og baseret på kønskoden, skal der træffes en beslutning som at tildele rente.
Til dette skal kønskoden konverteres fra char til int-datatype. Denne konvertering udføres ved hjælp af metoden Character.getNumericValue () 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:
genderCode—> 1
Velkommen, vores bank tilbyder speciel rente på faste indskud til vores kvindelige kunder: 7,0%.
Skynd dig, dette tilbud er kun gyldigt i en begrænset periode.
Så i ovenstående program konverterer vi char variabel kønsværdi til int-værdi for at få int-værdien i variabel genderCode.
char køn = ‘1’;
int genderCode = tegn. getNumericValue (køn);
Så når vi udskriver på konsol, System. ud .println (“genderCode ->” + genderCode); så ser vi int-værdien på konsollen som nedenfor:
genderCode—> 1
Den samme variable værdi sendes til switch case loop kontakt (genderCode) til yderligere beslutningstagning.
# 3) Brug af Integer.parseInt () og String.ValueOf () metode
Denne statiske parseInt () -metode leveres af indpakningsklassen Integer-klasse.
Her er metodesignaturen af Integer.parseInt () :
public static int parseInt (String str) kaster NumberFormatException
Denne metode analyserer String-argumentet, den betragter String som et underskrevet decimaltal. String-argumentets alle tegn skal være decimaler. Den eneste undtagelse er, at det første tegn får lov til at være et ASCII minustegn '-' og plustegn '+' for en indikation af henholdsvis en negativ og positiv værdi.
Her er 'str'-parameteren en streng, der har int-repræsentationen, der skal parses, og returnerer heltalets værdi repræsenteret af argumentet i decimal. Når strengen ikke indeholder et analyserbart heltal, kaster metoden en undtagelse NumberFormatException
Som det ses i metodesignaturen for parseInt ( Snor str), argumentet, der skal overføres til parseInt () -metoden, er af datatype String. Så det er nødvendigt at konvertere en char-værdi til String først og derefter overføre denne String-værdi til parseInt () -metoden. Til dette bruges metoden String.valueOf ().
valueOf () er en statisk overbelastningsmetode af String-klasse, der bruges til at konvertere argumenter for primitive datatyper som int, float til String-datatype.
offentlig statisk strengværdiOf (int i)
Denne statiske metode modtager et argument af datatypen int og returnerer strengrepræsentationen af int-argumentet.
Parametre:
i: Dette er et heltal.
Vender tilbage:
Strengrepræsentationen af int-argumentet.
valg sorteringskode c ++
Så vi bruger en kombination af Integer.parseInt () og String.valueOf () -metoden. Lad os se brugen af disse metoder i det følgende eksempelprogram. Dette eksempelprogram (1) Konverterer først kundens vurderingsværdi af karakterdatatype til heltal og (2) udskriver derefter den relevante meddelelse på konsollen ved hjælp af if-else-sætningen.
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 Strengværdi -> 7
customerRatings int værdi -> 7
Tillykke! Vores kunde er meget tilfreds med vores tjenester.
I ovenstående eksempelkode har vi brugt metoden String.valueOf () til at konvertere tegn til en værdi af String-datatypen.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Nu konverteres denne strengværdi til datatype int ved hjælp af Integer.parseInt () -metoden ved at videregive kundeBedømmelserStr som et argument.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Denne int-værdi kundeRating bruges yderligere i if-else-erklæringen til sammenligning og udskrivning af den krævede meddelelse på konsollen.
# 4) Konverter tegn til int i Java ved at trække '0'
Vi har set konvertere karakter til int ved hjælp af implicit typecasting. Dette returnerer ASCII-værdien for tegnet. For eksempel. ASCII-værdien på 'P' returnerer 80, og ASCII-værdien på '2 returnerer 50.
Men for at hente int-værdien for '2' som 2, skal tegnet ASCII-værdien af '0' trækkes fra tegnet. For eksempel. For at hente int 2 fra karakteren '2',
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Bemærk :Dette er nyttigt at få int-værdier til numeriske værditegn kun, dvs. 1, 2 osv., Og ikke nyttigt med tekstværdier som 'a', 'B' osv., Da det bare returnerer forskellen mellem ASCII-værdierne på '0 'og den karakter.
Lad os se på prøveprogrammet for at bruge denne metode til at trække ASCII-værdien af nul, dvs. '0', fra tegnet ASCII-værdi.
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-værdi på 0 -> 48
ASCII-værdi på 1 -> 49
Heltalsværdi på 0 -> 0
Heltalsværdi på 1 -> 1
Heltalsværdi på 7 -> 7
Heltalsværdien af a -> 49
I ovenstående program, hvis vi tildeler char '0' og '1' til int-datatypeværdien, får vi ASCII-værdier for disse tegn på grund af implicit konvertering. Så når vi udskriver disse værdier som vist i nedenstående udsagn:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Vi får output som:
ASCII-værdi på 0 -> 48
ASCII-værdi på 1 -> 49
For at få et heltal, der repræsenterer den samme værdi som char, trækker vi ASCII-værdien på '0' fra de tegn, der repræsenterer numeriske værdier.
int int2 = char2 - '0'; .
Her trækker vi ASCII-værdier på '0' fra '1' ASCII-værdien.
dvs. 49-48 = 1. Derfor når vi udskriver på konsol char2
System.out.println (“Heltalsværdi af“ + char2 + ”->” + int2);
Vi får output som:
Heltalsværdi på 1 -> 1
Med dette har vi dækket de forskellige måder at konvertere Java-karakter til et heltal ved hjælp af prøveprogrammer. Så for at konvertere tegn til int i Java kan en af metoderne, der er dækket af ovenstående eksempelkoder, bruges i dit Java-program.
Lad os nu se på nogle af de ofte stillede spørgsmål om Java-tegnet til int-konvertering.
Ofte stillede spørgsmål vedrørende Char To Int Java
Q # 1) Hvordan konverterer jeg en char til en int?
Svar:
I Java kan char konverteres til int-værdi ved hjælp af følgende metoder:
- Implicit type casting (få ASCII-værdier)
- Character.getNumericValue ()
- Integer.parseInt () med String.valueOf ()
- Fratrækning af '0'
Q # 2) Hvad er en char i Java?
Svar: Char-datatypen er en Java-primitiv datatype med et enkelt 16-bit Unicode-tegn. Værdien tildeles som et enkelt tegn med et enkelt citat ''. For eksempel, char a = ‘A’ eller char a = ‘1’ osv.
Q # 3) Hvordan initialiserer du en char i Java?
Svar: char variabel initialiseres ved at tildele et enkelt tegn, der er lukket i enkelt anførselstegn, dvs. ''. For eksempel, char x = 'b', char x = '@', char x = '3' osv.
Q # 4) Hvad er int-værdien af char A?
Svar: Hvis char 'A' er tildelt int-variablen, promoveres char implicit til int, og hvis værdien udskrives, returnerer den ASCII-værdien af karakteren 'A', som er 65.
For eksempel,
int x= 'A'; System.out.println(x);
Så dette vil udskrive 65 på konsollen.
Konklusion
I denne vejledning har vi set følgende måder at konvertere værdier af Java datatypen char til int.
- Implicit type casting (få ASCII-værdier)
- Character.getNumericValue ()
- Integer.parseInt () med String.valueOf ()
- Fratrækning af '0'
Vi har dækket hver af disse måder i detaljer og demonstreret brugen af hver metode ved hjælp af et eksempel på Java-program.
=> Tjek ALLE Java-tutorials her
Anbefalet læsning
- Java-heltal og Java BigInteger-klasse med eksempler
- JAVA-vejledning til begyndere: 100+ praktiske Java-videovejledninger
- TreeMap I Java - Vejledning med Java TreeMap-eksempler
- Sådan konverteres Java - streng til Int - tutorial med eksempler
- Java Float Tutorial med programmeringseksempler
- Java Break Statement - Vejledning med eksempler
- Java Enum: Java-optællingsvejledning med eksempler
- Java strenglængde () Metode med eksempler