반응형
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 반환
반응형