어떤 타입의 변수도 문자열(String)과 덧셈 연산을 수행하면 그 결과가 문자열이 된다.
System.out.println(7+7+"");
출력값: "14"
여기서 7+7까진 숫자로 인식해서 14, ""는 문자열이니까 최종적으로 결과값은 "14"(숫자X, 문자열)
System.out.println(7+7+" "+7);
System.out.println(7+" "+7+7);
출력값: 14 7
출력값: 7 77
앞에 7+7까지 숫자로 인식 > " " 공백 문자열 > 이후 문자열로 전환 > 7문자열 더함
14 7 이라는 결과값이 나옴.
여기서 결합 순서에 따라 결과가 달라질 수 있음을 알 수 있다. 주의하자.
System.out.println("" + 7);
그러므로 숫자 7을 문자7로 바꾸고 싶을땐, 공백x 빈 문자열""을 더해주면 변환된다!
그릇a에 담긴 물과 그릇b에 담긴 물을 서로 바꾸려면 빈 그릇이 필요한 것처럼, 값을 임시로 저장할 변수가 하나 더 필요하다.
int x = 10;
int y = 5;
System.out.println("x="+x);
System.out.println("y="+y);
int tmp = x;
x = y;
y = tmp;
System.out.println("x="+x);
System.out.println("y="+y);
그 빈 그릇 역할이 필요할땐 tmp를 사용하자.
값의 종류에 따라 값이 저장될 공간의 크기, 저장 형식을 정의한 것. 문자형 (char), 정수형 (byte, short, int, long), 실수형 (float, double) 등
→ 변수를 선언할 때 저장할 값의 특성을 고려해서 알맞는 자료형을 변수의 타입으로 선택하자.
기본형: 계산을 위한 실제 값을 저장 (논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)) (8개)
참조형: 어떤 값이 저장되어 있는 주소값, 객체의 주소를 저장. (8개 지의 나머지 타입)
즉, 실제 연산에 사용되는 것 → 기본형 변수
이전에 변수의 타입에서 봤던 String은 없네? 얘는 그럼 참조형인가?
기본 1개 문자 char는 기본형으로 쳐주는데🤔
기본형은 총 8개의 타입이 있음!
크게 논리형, 문자형, 정수형, 실수형으로 구분됨.
정수형은 int가 기본
실수형은 double이 기본이다.
기본 자료형의 종류와 크기는 반드시 외워두자!
1 byte | 2 byte | 4 byte | 8 byte | |
---|---|---|---|---|
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
외우기 팁!
+int 타입의 변수는 대략 10자리(약 ±20억) 값을 저장할 수 있다.
그러니 7~9자리 수를 계산할 때는 넉넉하게 long를 사용하여 변수를 선언하자.