하나의 값을 저장하기 위한 저장 공간
javascript와 다르게 int,string 등 변수 타입으로 선언해야함.
int age;
age =10;
System.out.print(age); // 10;
JDK 10 이후부터 나옴 var로 선언 시 컴파일러가 오른쪽 표현식으로부터 타입을 추론
int year =2024;
var year = 2024;
LinkedHashMap map = new LinkedHashMap(); // 변경 시 두곳을 고쳐야함.
var map = new LinkedHashMap();//한곳만 고치면 됨.
Ma연봉정보 바로가기
p<String, String> map = new LinkedHashMap<>();
var는 오른쪽 표현식의 타입을 컴파일 시점에 추론하므로
생성자 타입을 변경할 때 왼쪽 타입을 따로 수정할 필요는 없다.
다만 일반적으로는 인터페이스 타입으로 선언하는 것이 더 좋은 설계이다.
final을 붙여줘야 상수가 됨. 보통 대문자로 선언함.
final int MAX_VALUE =100;
String block = """
Hello
World
""";
Stystem.out.print(block);
텍스트 block은 마지막 """이 기준이 되어 """이
String block = """
Hello
World
""";
이렇게 될 경우 """와 hello,world의 공간만큼 공백으로 됨.
Scanner scanner = new Scanner(System.in); Scanner 객체 생성 및 화면으로 부터 입력 받기
String input = scanner.nextLine(); 입력받아 input 에 저장
int num = Integer.parseInt(input); 입력받은 input을 num 에 숫자로 변환한 후 저장
값의 타입을 다른 타입으로 변환하는 것.
(타입)피연산자
double d = 85.4;
int score = (int)d; // 85;
(char)65 -> 'A'
(float)10 -> 10.0f
(int)'A' -> 65
값 손실이 없을때만 가능함.
값을 최대한 보존할 수 있는 타입으로 변환
작은=>큰타입 변할때 값 손실이 없음.

1.단항 연산자가 먼저 실행된다.
2.이항 연산자가 실행됨.
3. 곱셈 나눗셈은 뺄셈 덧셈보다 빨리 실행됨.
4. 비교 연산자는 산술 연산자(+,-)보다 늦게 실행됨.
5. 논리 연산자는 비교 연산자보다 늦게 실행됨.
6. 대입 연산자는 무조건 마지막.
x << 2+1 // 2 + 1 먼저한 후 쉬프트 연산자 실행
<< 는 * x2
비트 연산자는 비교 연산자 보다 늦게 실행됨.
and가 or 보다 먼저 실행됨 그리고 and 와 or을 같이 쓸때는
괄호를 해주는게 보기좋음.

작은 타입에서 큰 타입으로 일치시킨 후 연산