기본 타입들
int number = 10; // 정수
long bigNumber = 100L; // 큰 정수
double height = 175.5; // 실수
boolean isStudent = true; // 참/거짓
char grade = 'A'; // 문자 하나
String name = "kim"; // 문자열
출력
Systemp.out.println("Hello" + name);
이렇게 문자열과 변수를 같이 출력하는 것 가능
변수 타입에 제한이 딱히 없는 듯
기본형 타입 int, long, double, boolean .. -> 값 자체가 복사 되는 것
int a=10;
int b=a;
b=20;
이라고 했을 때 a=10, b=20을 갖게 됨
객체 타입 User, String, List, Map... -> 객체를 가리키는 참조값이 복사됨
얘네는 메모리 위치를 가리키는 값이 복사되는 거라서 하나의 값이 바뀐다면 해당 메모리 안에 값이 바뀌는거고 둘다 영향을 받는 것
/ -> C/C++과 마찬가지로 소수점 버려짐 (int), 소수점 살리고 싶으면 타입 캐스팅 해주면 됨(double)
% -> 나머지 연산자
int a = 10;
int b = 3;
System.out.println(a / b); // 3
double result1 = a / b;
System.out.println(result1); // 3.0
double result2 = (double) a / b;
System.out.println(result2); // 3.3333333333333335
계산은 오른쪽에서 먼저 일어남.
int / int 는 int 결과가 나옴.
double 변수에 담는다고 계산이 double로 바뀌지는 않음