CodeGym /Java Blog /சீரற்ற /ஜாவா எடுத்துக்காட்டுகளுடன் Char int ஆக மாற்றவும்
John Squirrels
நிலை 41
San Francisco

ஜாவா எடுத்துக்காட்டுகளுடன் Char int ஆக மாற்றவும்

சீரற்ற குழுவில் வெளியிடப்பட்டது
விசைப்பலகையிலிருந்து பயனர்கள் உள்ளிடும் அழகான குறியீட்டுத் தகவல்கள் எண்களாக மாற்றப்பட வேண்டும் அல்லது ஒரு புரோகிராமர் அதிலிருந்து எண்களைப் பெற வேண்டும். அதைச் செய்ய ஜாவாவில் சில வழிமுறைகள் உள்ளன. இந்த கட்டுரையில், கரியை முழு எண்ணாக மாற்ற உதவும் முறைகளைக் கண்டுபிடிப்போம்.

மறைமுக வகை сasting

வகை வார்ப்பு என்பது ஒரு தரவு வகையின் மதிப்பை மற்றொரு தரவு வகையின் மதிப்பாக மாற்றும் செயல்முறையாகும். வகை வார்ப்பு கைமுறையாகவோ அல்லது வகைகளைப் பொறுத்து தானாகவோ இருக்கலாம். வகைகள் இணக்கமாக இருக்க வேண்டும். ஜாவாவில் வெளிப்படையான மற்றும் மறைமுகமான இரண்டு வகையான டைப்காஸ்டிங் உள்ளது. நாம் மாறியை " பெரிய" என்பதிலிருந்து " சிறிய " வகைக்கு மாற்றினால் மட்டுமே மறைமுகமாகச் செய்ய முடியும்.) char வகையின் மாறியை int தரவு வகையாக மாற்ற விரும்பினால், பெரும்பாலும் ASCII அட்டவணையில் இருந்து அதன் சமமான மதிப்பைப் பெற வேண்டும். டிஜிட்டல் முறையில் உள்ளிடக்கூடிய ஒவ்வொரு எழுத்துக்களும் அல்லது சின்னமும் தொடர்புடைய தனிப்பட்ட முழு எண்களைக் கொண்டிருக்கும். எடுத்துக்காட்டாக, 'A' என்ற எழுத்து 65 இன் ASCII குறியீட்டைக் கொண்டுள்ளது. வார்ப்பு வகை மூலம், எழுத்து மதிப்பை அதன் சமமான ASCII முழு எண் குறியீடாக வலுக்கட்டாயமாக மாற்றுகிறோம். இதோ எங்கள் ஜாவா சார் டு இன்ட் உதாரணத்தைப் பயன்படுத்தி டைப் காஸ்டிங்.

ஜாவா சார் முதல் எண்ணுக்கு உதாரணம் (டைப்காஸ்டிங் பயன்படுத்தி)


package charToInt;

public class Implicit {

       public static void main(String[] args) {
           char char1 = 'A';
           char char2 = 'a';
           int x = char1;
           int y = char2;

           System.out.println("ASCII value of '" + char1 + "' is " + x);
           System.out.println("ASCII value of '" + char2 + "' is " + y);
       }
   }
வெளியீடு:
'A' இன் ASCII மதிப்பு 65 'a' இன் ASCII மதிப்பு 97 ஆகும்

வெளிப்படையான வகை வார்ப்பு

நாம் மேலே பார்த்தது போல், char to int கன்வெர்ஷன் விஷயத்தில், இதை வெளிப்படையாக செய்ய வேண்டிய அவசியமில்லை, ஏனெனில் char ஐ சேமிக்க 2 பைட்டுகளும், int ஐ சேமிக்க 4 பைட்டுகளும் பயன்படுத்தப்படுகின்றன. அதாவது, int வகை "பெரியது". ஆயினும்கூட, ஒரு பயிற்சியாக, ஒரு கரி மாறியை ஒரு முழு எண்ணுக்கு வெளிப்படையாக அனுப்பலாம். இந்த செயல்பாட்டிற்கு, அடைப்புக்குறிக்குள் (int) என்று குறிப்பிடுகிறோம்.

package charToInt;

public class Explicit {

       public static void main(String[] args) {
           char char1 = 'A';
           System.out.println("ASCII value of '" + char1 + "' is " + (int)char1);
       }
   }
வெளியீடு:
'A' இன் ASCII மதிப்பு 65 ஆகும்

GetNumericValue()ஐப் பயன்படுத்துதல்

getNumericValue() வார்ப்பு வகையைப் போலவே செயல்படுகிறது, ஆனால் ASCII அட்டவணையைப் பின்பற்றுவதற்குப் பதிலாக, இது யூனிகோட் குறியாக்க தரநிலையைப் பின்பற்றுகிறது. ASCII ஆனது லத்தீன் எழுத்துக்கள் (மேலும் சில தேசிய எழுத்துக்கள் குறியீடுகள்), எண்கள், நிறுத்தற்குறிகள் மற்றும் கட்டுப்பாட்டு எழுத்துக்கள் போன்ற குறிப்பிட்ட குறியீடுகள் மற்றும் எழுத்துக்களை மட்டுமே குறிக்கும். யுனிகோட் உலகில் உள்ள ஒவ்வொரு மொழிக்கும் எழுத்துக்கள் மற்றும் சின்னங்களைக் கொண்ட ஒரு மில்லியனுக்கும் அதிகமான மதிப்புகளைக் கொண்டுள்ளது. எடுத்துக்காட்டாக, யூனிகோடில் A இன் மதிப்பு \u0041 ஆகும், இது 10 இன் எண் மதிப்புக்கு சமம். எழுத்துக்கு எண் மதிப்பு இல்லை என்றால், முறை -1 ஐ வழங்கும். இந்த முறையைப் பயன்படுத்துவது எதிர்மறை அல்லாத முழு எண்களை வழங்க வசதியாக இருக்கும்.

package charToInt;

public class UsingGetNumericValue {

       public static void main(String[] args) {
           char char1 = '7';
           char char2 = 'A';
           char char3 = '*';

           int x = Character.getNumericValue(char1);
           int y = Character.getNumericValue(char2);
           int z = Character.getNumericValue(char3);

           System.out.println("The Unicode value of '" + char1 + "' is " + x);
           System.out.println("The Unicode value of '" + char2 + "' is " + y);
           System.out.println("The Unicode value of '" + char3 + "' is " + z);

       }
   }
வெளியீடு:
'7' இன் யூனிகோட் மதிப்பு 7 'A' இன் யூனிகோட் மதிப்பு 10 '*' இன் யூனிகோட் மதிப்பு -1

ParseInt()ஐப் பயன்படுத்துதல்

ParseInt() என்பது char ஐ int ஆக மாற்றுவதற்கான மற்றொரு முறையாகும். மிதவை, இரட்டை மற்றும் நீளம் போன்ற பிற எண் தரவு வகைகளுக்கு இடையே குறுக்கு மாற்றுவதற்கும் இது பரவலாகப் பயன்படுத்தப்படுகிறது. ParseInt() க்கு குறைந்தபட்சம் ஒரு வாதம் மற்றும் அதிகபட்சம் இரண்டு வாதங்கள் தேவை. முதல் வாதம் நாம் மாற்றும் மதிப்பின் மாறி பெயர். இரண்டாவது வாதம், தசமம், எண்ம, பதினாறுமாதம் போன்றவற்றின் அடிப்படை மதிப்பைக் குறிக்கும் ரேடிக்ஸ் ஆகும். பார்ஸ்இன்ட்() ன் தரவு வகைகளை எண் அமைப்பையும் மனதில் கொண்டு மாற்றும் திறனின் காரணமாக, இது "எண்களை" மாற்றுவதற்கான உகந்த தேர்வாகும். ஜாவாவில் char to int. நீங்கள் இந்த முறையைப் பயன்படுத்த விரும்பினால் இரண்டு முக்கியமான விஷயங்களை மனதில் கொள்ள வேண்டும். parseInt()முறை சரம் வாதங்களை மட்டுமே ஏற்றுக்கொள்கிறது, எனவே நீங்கள் முதலில் எழுத்தை String ஆக மாற்ற வேண்டும் ( Sring.valueOf ஐப் பயன்படுத்தி ). சார் தரவு வகைகளில் சேமிக்கப்பட்ட எண் மதிப்புகளைத் தவிர எழுத்துக்கள் அல்லது பிற குறியீடுகளை மாற்ற parseInt() ஐப் பயன்படுத்த முடியாது . எண் அல்லாத மதிப்புகளை உள்ளீடு செய்தால், பிழை ஏற்படும். இங்கே ஒரு ஜாவா உதாரணம்:

package charToInt;

public class ParseInt {
       public static void main(String args[]){
           char ch = '7';
           int n = Integer.parseInt(String.valueOf(ch));
           System.out.println(n);
       }
   }
வெளியீடு:
7
parseInt டன் எண் அல்லாத மதிப்பைப் பயன்படுத்த முயற்சிப்போம்:

package charToInt;

public class ParseInt {
       public static void main(String args[]){
           char ch = 'q';
           int n = Integer.parseInt(String.valueOf(ch));
           System.out.println(n);
       }
   }
வெளியீடு:
நூல் "முக்கிய" java.lang இல் விதிவிலக்கு (Integer.java:652) java.base/java.lang.Integer.parseInt(Integer.java:770) இல் charToInt.ValueOf.main(ValueOf.java:6)

'0' கழித்தல்

ஒரு எழுத்தை முழு எண்ணாக மாற்ற மிக எளிய வழி உள்ளது. இதைச் செய்ய, எழுத்துக்குறியிலிருந்து "0" என்ற எழுத்தின் ASCII மதிப்பைக் கழிக்கவும். எடுத்துக்காட்டாக, "7" என்ற எழுத்தில் இருந்து int 7 ஐப் பெற:

int intValue = '7'-' 0 ';
குறிப்பு, இது முழு எண் எழுத்துகளுக்கு பிரத்தியேகமாக முழு எண் மதிப்புகளைப் பெற வேலை செய்கிறது! நீங்கள் '0' ஐக் கழித்தால், 'A' என்று சொல்லுங்கள், இந்த முறை பூஜ்ஜியத்தின் ASCII குறியீடுகளுக்கும் A எழுத்துக்கும் இடையே உள்ள வித்தியாசத்தை வழங்கும். இதோ ஒரு உதாரணம்.

package charToInt;

public class SubtractingZero {

   public static void main(String[] args) {
       char char1 = '7';
       char char2 = 'A';
       char char3 = '*';

       System.out.println(char1);
       System.out.println(char1 - '0');

       System.out.println(char2);
       System.out.println(char2 - '0');

       System.out.println(char3);
       System.out.println(char3 - '0');
      
   }

}
வெளியீடு:
7 7 A 17 * -6

முடிவுரை

நீங்கள் ஜாவாவில் கரியை முழு எண்ணாக மாற்ற வேண்டும் என்றால், முறைகளில் ஒன்றைப் பயன்படுத்தவும்:
  • மறைமுக வகை வார்ப்பு //ASCII மதிப்புகளைப் பெறுதல்
  • Character.getNumericValue()
  • Integer.parseInt() //Sring.valueOf()) உடன் ஜோடியாக
  • '0' //ஐக் கழிப்பது முழு எண் எண் மதிப்புகளுக்கு மட்டுமே வேலை செய்யும்
நீங்கள் வெளிப்படையான வகை வார்ப்புகளையும் செய்யலாம். இருப்பினும், இது ஒரு தேவையற்ற செயல்பாடு: இது தேவையில்லை, ஆனால் ஜாவாவில் வேலை செய்கிறது.
கருத்துக்கள்
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION