how convert char int java
이 튜토리얼에서는 FAQ 및 예제와 함께 Java에서 원시 데이터 유형 char의 값을 int로 변환하는 다양한 방법을 학습합니다.
문자를 int로 변환하기 위해 다른 Java 클래스에서 제공하는 다음 메소드의 사용을 다룰 것입니다.
- 암시 적 유형 캐스팅 (ASCII 값 가져 오기)
- getNumericValue ()
- parseInt () with String.valueOf ()
- ‘0’빼기
=> Java 교육 자습서의 A-Z를 보려면 여기를 확인하십시오.
학습 내용 :
Java에서 Char를 int로 변환
Java에는 int, char, long, float 등과 같은 원시 데이터 유형이 있습니다. 일부 시나리오에서는 char 데이터 유형에 변수 값이 지정되는 숫자 값에 대한 연산을 수행해야합니다.
이러한 경우 먼저 이러한 문자 값을 숫자 값, 즉 int 값으로 변환 한 다음 원하는 작업을 수행하고 이에 대한 계산을 수행해야합니다.
예를 들면 일부 소프트웨어 시스템에서는 특정 작업을 수행해야하거나 문자 데이터 유형으로 제공되는 고객 피드백 양식에서받은 고객 등급을 기반으로 일부 결정을 내려야합니다.
이러한 경우 이러한 값에 대한 숫자 연산을 수행하려면 먼저 이러한 값을 int 데이터 유형으로 변환해야합니다. Java는 문자를 int 값으로 변환하는 다양한 방법을 제공합니다. 이러한 방법을 자세히 살펴 보겠습니다.
# 1) 암시 적 유형 캐스트 사용, 즉 문자의 ASCII 값 얻기
Java에서 호환되는 더 큰 데이터 유형 변수의 변수에 더 작은 데이터 유형 값을 할당하면 값이 자동으로 승격됩니다. 즉, 암시 적으로 더 큰 데이터 유형의 변수로 형변환됩니다.
예를 들어 long 유형의 변수에 int 유형의 변수를 할당하면 int 값은 자동으로 long 데이터 유형으로 유형 변환됩니다.
암시 적 유형 캐스팅은 'char'데이터 유형 변수에 대해서도 발생합니다. 즉, 다음 char 변수 값을 변수 'int'데이터 유형에 할당하면 char 변수 값이 컴파일러에 의해 자동으로 int로 변환됩니다.
예를 들면
char a =‘1’;
int b = a;
여기서 char 'a'는 암시 적으로 int 데이터 유형으로 형변환됩니다.
'b'의 값을 인쇄하면 콘솔이 '49'를 인쇄하는 것을 볼 수 있습니다. int 변수‘b’에 char 변수 값‘a’를 할당하면 실제로‘49’인‘1’의 ASCII 값을 검색하기 때문입니다.
다음 샘플 자바 프로그램에서는 암시 적 타입 캐스트를 통해 문자를 int로 변환하는 방법, 즉 char 변수의 ASCII 값을 가져 오는 방법을 살펴 보겠습니다.
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); } }
다음은 프로그램 출력입니다.
P의 ASCII 값 –> 80
p의 ASCII 값 –> 112
ASCII 값 2 –> 50
@의 ASCII 값 –> 64
위의 프로그램에서 다음과 같이 다른 char 변수 값의 ASCII 값을 볼 수 있습니다.
P의 ASCII 값 –> 80
p의 ASCII 값 –> 112
‘P’와‘p’값의 차이는 대문자와 소문자의 ASCII 값이 다르기 때문입니다.
마찬가지로 숫자 값과 특수 문자에 대한 ASCII 값은 다음과 같습니다.
ASCII 값 2 –> 50
@의 ASCII 값 –> 64
# 2) Character.getNumericValue () 메서드 사용
Character 클래스에는 getNumericValue ()의 정적 오버로딩 메서드가 있습니다. 이 메서드는 지정된 유니 코드 문자로 표시되는 int 데이터 유형의 값을 반환합니다.
다음은 char 데이터 유형에 대한 getNumericValue () 메소드의 메소드 서명입니다.
public static int getNumericValue (char ch)
이 정적 메소드는 char 데이터 유형의 인수를 수신하고 'ch'인수가 나타내는 데이터 유형 int 값을 리턴합니다.
예를 들면 문자‘ u216C’는 값이 50 인 정수를 반환합니다.
매개 변수 :
ch : 이것은 int로 변환해야하는 문자입니다.
보고:
이 메서드는 데이터 유형 int의 음이 아닌 값으로‘ch’의 숫자 값을 반환합니다. 이 메서드는 'ch'에 음이 아닌 정수가 아닌 숫자 값이있는 경우 -2를 반환합니다. ‘ch’에 숫자 값이 없으면 -1을 반환합니다.
이 Character.getNumericValue () 메서드를 사용하여 문자를 int 값으로 변환하는 방법을 이해하겠습니다.
은행 소프트웨어 시스템 중 하나에서 성별이 데이터 유형 'char'에 지정되고 성별 코드를 기반으로 이자율 지정과 같은 몇 가지 결정을 내려야하는 시나리오를 고려해 보겠습니다.
이를 위해 성별 코드는 char에서 int 데이터 유형으로 변환되어야합니다. 이 변환은 아래 샘플 프로그램의 Character.getNumericValue () 메소드를 사용하여 수행됩니다.
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 %.
서두르세요.이 혜택은 제한된 기간 동안 만 유효합니다.
따라서 위의 프로그램에서 우리는 char 변수 성별 값을 int 값으로 변환하여 변수 genderCode에서 int 값을 얻습니다.
일하기 좋은 최고의 빅 데이터 기업
숯 성별 =‘1’;
int 성별 코드 = 문자. getNumericValue (성별);
따라서 콘솔에 인쇄하면 System. 밖 .println ( 'genderCode —>'+ genderCode); 그러면 콘솔에 아래와 같이 int 값이 표시됩니다.
성별 코드 —> 1
케이스 루프를 전환하기 위해 동일한 변수 값이 전달됩니다. 스위치 추가 의사 결정을 위해 (genderCode).
# 3) Integer.parseInt () 및 String.ValueOf () 메서드 사용
이 정적 parseInt () 메서드는 래퍼 클래스 Integer 클래스에서 제공합니다.
다음은 메소드 서명입니다. Integer.parseInt () :
public static int parseInt (String str) throws NumberFormatException
이 메서드는 String 인수를 구문 분석하고 String을 부호있는 십진 정수로 간주합니다. String 인수의 모든 문자는 10 진수 여야합니다. 유일한 예외는 첫 번째 문자가 각각 음수 값과 양수 값을 나타내는 ASCII 빼기 기호‘-‘및 더하기 기호‘+’가 될 수 있다는 것입니다.
여기서 'str'매개 변수는 구문 분석 할 int 표현이있는 문자열이며 인수가 나타내는 정수 값을 십진수로 반환합니다. 문자열에 구문 분석 가능한 정수가 포함되어 있지 않으면 메서드에서 예외가 발생합니다. NumberFormatException
parseInt ( 끈 str)에서 parseInt () 메서드에 전달할 인수는 문자열 데이터 유형입니다. 따라서 먼저 char 값을 String으로 변환 한 다음이 String 값을 parseInt () 메서드에 전달해야합니다. 이를 위해 String.valueOf () 메서드가 사용됩니다.
valueOf ()는 int, float와 같은 원시 데이터 유형의 인수를 String 데이터 유형으로 변환하는 데 사용되는 String 클래스의 정적 오버로딩 메소드입니다.
public static String valueOf (int i)
이 정적 메서드는 데이터 유형 int의 인수를 수신하고 int 인수의 문자열 표현을 반환합니다.
매개 변수 :
i : 이것은 정수입니다.
보고:
int 인수의 문자열 표현입니다.
따라서 Integer.parseInt () 및 String.valueOf () 메서드의 조합을 사용하고 있습니다. 다음 샘플 프로그램에서 이러한 메서드의 사용을 살펴 보겠습니다. 이 샘플 프로그램 (1)은 먼저 문자 데이터 유형의 고객 등급 값을 정수로 변환하고 (2)는 if-else 문을 사용하여 콘솔에 적절한 메시지를 인쇄합니다.
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.'); } } }
다음은 프로그램 출력입니다.
customerRatings 문자열 값 —> 7
customerRatings int 값 —> 7
축하합니다! 우리 고객은 우리의 서비스에 매우 만족합니다.
위의 샘플 코드에서 String.valueOf () 메서드를 사용하여 문자를 String 데이터 유형의 값으로 변환했습니다.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
이제이 문자열 값은 다음을 전달하여 Integer.parseInt () 메서드를 사용하여 int 데이터 유형으로 변환됩니다. customerRatingsStr 인수로.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
이 int 값 customerRating 콘솔에서 필요한 메시지를 비교하고 인쇄하기 위해 if-else 문에서 추가로 사용됩니다.
# 4) '0'을 빼서 Java에서 Char를 int로 변환
암시 적 형변환을 사용하여 문자를 int로 변환하는 것을 보았습니다. 문자의 ASCII 값을 반환합니다. 예 : ASCII 값‘P’는 80을 반환하고 ASCII 값‘2’는 50을 반환합니다.
그러나 '2'의 int 값을 2로 검색하려면 문자 ASCII 값 '0'을 문자에서 빼야합니다. 예 : 문자‘2’에서 int 2를 검색하려면
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
노트 :이것은 숫자 값 문자 (예 : 1, 2 등)에 대해서만 int 값을 가져 오는 데 유용하며 'a', 'B'등과 같은 텍스트 값에는 '0의 ASCII 값 간의 차이 만 반환하므로 유용하지 않습니다. '그리고 그 캐릭터.
0의 ASCII 값 즉, 문자 ASCII 값에서 '0'을 빼는이 방법을 사용하는 샘플 프로그램을 살펴 보겠습니다.
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); } }
다음은 프로그램 출력입니다.
ASCII 값 0 —> 48
ASCII 값 1 —> 49
정수 값 0 –> 0
정수 값 1 –> 1
정수 값 7 –> 7
a –> 49의 정수 값
위 프로그램에서 int 데이터 타입 값에 char‘0’과‘1’을 할당하면 암시 적 변환으로 인해 이러한 문자의 ASCII 값을 얻게됩니다. 따라서 아래 문장에서 볼 수 있듯이 이러한 값을 인쇄 할 때 :
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
출력은 다음과 같이 표시됩니다.
ASCII 값 0 —> 48
ASCII 값 1 —> 49
따라서 char와 동일한 값을 나타내는 정수 값을 얻기 위해 숫자 값을 나타내는 문자에서 ASCII 값 '0'을 뺍니다.
int int2 = char2 - '0'; .
여기서는‘1’ASCII 값에서‘0’의 ASCII 값을 뺍니다.
즉, 49-48 = 1. 따라서 콘솔 char2에 인쇄하면
System.out.println (““+ char2 +”의 정수 값 –>”+ int2);
출력은 다음과 같습니다.
정수 값 1 –> 1
이를 통해 샘플 프로그램을 사용하여 Java 문자를 정수 값으로 변환하는 다양한 방법을 다뤘습니다. 따라서 Java에서 문자를 int로 변환하려면 위의 샘플 코드에서 다루는 모든 메소드를 Java 프로그램에서 사용할 수 있습니다.
이제 Java 문자에서 정수로의 변환에 대해 자주 묻는 질문을 살펴 보겠습니다.
Char To Int Java에 관한 FAQ
Q # 1) char를 int로 변환하려면 어떻게해야합니까?
대답:
Java에서 char는 다음 방법을 사용하여 int 값으로 변환 할 수 있습니다.
- 암시 적 유형 캐스팅 (ASCII 값 가져 오기)
- Character.getNumericValue ()
- Integer.parseInt () with String.valueOf ()
- ‘0’빼기
Q # 2) Java에서 문자는 무엇입니까?
대답: char 데이터 유형은 단일 16 비트 유니 코드 문자가있는 Java 기본 데이터 유형입니다. 값은 작은 따옴표‘’로 묶인 단일 문자로 지정됩니다. 예를 들어 char a =‘A’또는 char a =‘1’등
셀레늄 자동화 테스트 인터뷰 질문 및
Q # 3) Java에서 문자를 어떻게 초기화합니까?
대답: char 변수는 작은 따옴표로 묶인 단일 문자 (예 :‘’)를 할당하여 초기화됩니다. 예를 들면 문자 x =‘b’, 문자 x =‘@’, 문자 x =‘3’등
Q # 4) char A의 int 값은 무엇입니까?
대답: char 'A'가 int 변수에 할당되면 char는 암시 적으로 int로 승격되고 값이 인쇄되면 문자 'A'의 ASCII 값인 65를 반환합니다.
예를 들면
int x= 'A'; System.out.println(x);
따라서 이것은 콘솔에 65를 인쇄합니다.
결론
이 튜토리얼에서 우리는 자바 데이터 타입 char의 값을 int로 변환하는 다음과 같은 방법을 보았습니다.
- 암시 적 유형 캐스팅 (ASCII 값 가져 오기)
- Character.getNumericValue ()
- Integer.parseInt () with String.valueOf ()
- ‘0’빼기
이러한 각 방법을 자세히 다루고 샘플 Java 프로그램을 사용하여 각 방법의 사용을 시연했습니다.