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
int형과 String형이 번갈아가면서 나올 시 버퍼가 발생한다.
를 통해 버퍼 해결
Scanner sc=new Scanner(System.in);
int inwon;
String schoolName;
System.out.println("입력할 인원 수");
inwon=Integer.parseInt(sc.nextLine());
System.out.println("학교명?");
schoolName=sc.nextLine();