on
[JAVA] - 자료형, 형 변환
[JAVA] - 자료형, 형 변환
Primitive Type
기본 자료형 : 메모리에 실제 값을 갖는 자료형
논리형 : boolean , 문자형 char, 정수형 (byte, short, int , long) , 실수형 (float, double)
Non-Primitive Type
참조 자료형(비기본 자료형) : 실제 값이 아닌 객체의 주소 를 갖고 있는 자료형
를 갖고 있는 자료형 객체의 주소에 의해 참조 되며, new 키워드를 통해 생성된다.
클래스 (String, Integer 등), 인터페이스 (Collection, Map) 등, 배열
String fruit = "Apple"; fruit.toUpperCase();
기본 자료형에는 String이 없다. 그래서 fruit은 인스턴스로 부르는게 맞지만, 자주 사용하기 때문에 변수명으로 부르기도 한다. (toUpperCase()는 객체(Class)에서 사용이 가능하다.)
String str1 = "abc"; String str2 = "abc";
문자열은 상수로 생성되고, 변경할 수 없다. 즉, 메모리에 등록된 값을 변경할 수 없다. 대신 메모리를 공유할 수 있다. str2를 저장하기 전에 메모리에 "abc"가 있는지 찾고 있으면 등록된 인스턴스를 참조 한다.
Type casting
자료형 간의 형변환
double d = 100; int i = d; //Type mismatch : 큰 공간에서 작은 공간으로 묵시적 형변환 불가 int i = (double) d; // 명시적 형변환으로 변환 가능
명시적 형변환에서도 형변환 값이 범위를 초과하는 경우는 이상한 값이 나온다.
String a = "123"; int a2 = Integer.parseInt(a); int b = 123; String a = String.valueOf(b); String a2 = Integer.toString(b); String a3 = "" + b;
문자열, 숫자 자료형 간의 형 변환
String a1 = "abcd"; char[] a2 = a1.toCharArray(); char b1 = 'a'; String b2 = String.valueOf(b1); String b3 = "" +b1;
문자열, 문자 간의 형 변환
Scanner
next() : 공백 이전까지의 문자열 반환
nextByte() , nextShort(), nextInt(), ~ : 공백 이전까지의 자료형 반환
nextLine() : 입력 받은 문자열 전체 입력 반환
hasNextInt() : 다음 가져올 자료형이 int형이면 true 반환, 아니면 false 반환
from http://sasca37.tistory.com/103 by ccl(A) rewrite - 2021-10-16 08:28:11