JAVA 형변환

goyoung·2023년 6월 21일
0

JAVA

목록 보기
5/6

형변환 : 문자로 선언된 값을 정수로 바꿔주는 것

Wrapper class : 기본형과 클래스간의 변환을 위해 클래스 안에 있는 메서드를 가지고 오는 용도

*형변환
String타입 -> int타입
: Integer.parseInt("10");
-> 문자로 선언된 10을 정수 10으로 변환

: Double.parseDouble("12.23")
-> 문자로 선언된 12.23을 실수타입으로 변환

ex)

형변환 전)

위와 같이 num1과 num2에 10과 20을 대입해주었지만, String 형으로 불러왔기 때문에 출력값은 문자형 10과 20을 연결한
1020으로 출력되었다

형변환 후 String -> int)

10과 20연산을 위해 int형 변수를 선언 후 Integer.parseInt(String변수)를 통해 문자 10과 20을 정수형으로 변환해 연산값들을 출력하였더니,

연산값들이 출력되었다.

++ 자바에서 Argumtents사용시 String이기 때문에
연산을 해야하는 경우라면 형변환을 해주어야 한다.

명시적 형변환 : 사용자가 직접 데이터 타입을 변경하는 것

double형(실수, 8byte)을 int형(정수,4byte)로 변환할 수 있으나 값이 손실될 수 있다.

ex)

double a=5.7
   int b=7

int sum=(int)a+b 

출력값 : 12
=> int형으로 결과값 도출했기 때문에 double형 소수점 손실

묵시적 형변환 : 컴파일러에 의해 자동 결정되는 타입
그냥 쉽게 큰거+작은거 만나면 큰거로 바뀐다고 생각하면 될 듯

String+int = String
double+int = double
long+short = long
char+int = int


버퍼 발생시 (문자-연산-문자 이나 연산-문자-연산 식으로 Scanner 하면 버퍼가 발생)

int형과 String형이 번갈아가면서 나올 시 버퍼가 발생한다.

int형변수=Integer.parse(sc.nextLine());

를 통해 버퍼 해결

Scanner sc=new Scanner(System.in);
		int inwon;
		String schoolName;
		System.out.println("입력할 인원 수");
		inwon=Integer.parseInt(sc.nextLine());
		
		System.out.println("학교명?");
		schoolName=sc.nextLine();

0개의 댓글