1100100 - 2진수
10진수 : 100
bit : 1,0으로 표현할 수 있는 최소 단위
8bit -> 1byte

1bit : 부호 비트 (0 - 양수, 1 - 음수)
1byte = -2^7 ~ 2^7 - 1 (-128~127)
가장 앞자리인 부호비트 자리 제외(2^7), 0(-1) 제외 하고 숫자 표현가능
메모리, 이름, 자료형
자료형 : 공간의 크기
자료형 변수명;int 변수;자료형 변수명 = 값;

자료형 변수명 = 값; 참고)
주석 - 설명, 컴파일러가 해석 X, 제거
// - 한줄 주석
/
여러줄 주석
....
/
/* 설명 주석
*
*/
프로그램 실행 배제 - 해석 X -> 실행 X

정수형 : 소수점이 없는 수
실수형 : 소수점이 있는 수
논리형 : true, false
boolean : 1byte
판별식
조건문, 반복문에서 자주 사용
문자형 : '문자'
char : 2byte ~ 3byte
ex) char ch = 'A';
아스키코드(1byte) : 문자표
문자로 입력한 걸 컴퓨터 내부적으로는 숫자로 인식
-> 그래서 문자형이 기본자료형(숫자만 저장하는 자료형)에 속한다
-> 문자도 숫자이다

유니코드(2 ~ 3byte) : 문자표
한글...
아스키코드로는 공간이 작아 표현 못하니 유니코드로 한글 표현
아스키코드, 유니코드
문자표에 있는 숫자만 가능
-> 양의 정수만 가능



참고) 값을 넣지 않으면 설정되는 기본값
- 선언만 하고 값을 넣지 않으면 메모리만 만들어지게 되는데 기본자료형 같은 경우 값을 넣지 않으면 초기값이 대입된다
1) 기본 자료형 : 초기값- 정수형 자료형(byte, short, int, long) -> 0
- 실수형 자료형(float, double) -> 0.0
- 논리형 자료형(boolean) -> false
예시)
2) 참조 자료형 : 초기값- String -> null
예시)
자료형
1) 기본 자료형
숫자를 담는 변수에 크기
2) 참조 자료형
주소값을 담는 변수의 자료형
참고)
psvm + tab 단축키public static void main(String[] args) { }
참고)
sout + enter 단축키System.out.println();
byte : 1바이트(8비트) -2^7 ~ 2^7 -1 (-126~125)
short : 2바이트(16비트) -2^15~2^15 - 1
int : 4바이트(32비트) -2^31~2^31 - 1
long : 8바이트(64비트) -2^63~2^63 - 1
char : 2바이트
참고) 숫자 변수에 대입 숫자 그대로 대입
문자를 변수에 대입할 경우 '문자'
숫자 - 문자 : 아스키코드(1byte)
/ 양의 정수
unsigned : 양의 정수
0~255
- 영문, 특수문자
숫자 - 한글 : 유니코드(2byte, 3byte)
double : 8byte참고) final : 변경할 수 없는
예시)
변수라는 공간에 값을 담으려면 값이라는 것도 존재해야 담을 수 있다
-> 어딘가 메모리에 값이 미리 할당되어 있다
-> 재료가 되는 수가 여러개 있을 필요 없다 : 상수



ㄴ 10이라는 재료가 되는 수 가 여러개 있을 필요가 없다
-> 자원이 1개다 (상수)
-> 자원이 동일한 위치에 있다
-> 동일한 자원을 공유한다
예시)
long num = 10000000000
int 10000000000 -> 오류
왜 오류가 뜨지?
자바는 일하기 싫어해
-> 정수만 들어오면 개발자들은 int를 많이 쓰니까 뭘 쓰든간에 먼저 int를 던지자
-> 음? 아니네? 그러면 기입한거로 다시 던져줘야지
-> 아 그래서 long으로 썻어도 int로 인식해서 오류가 뜬거구나

-> 처음부터 long이라고 알려주자~ 오류해결!
-> 처음부터 long으로 할당을 하려면 숫자 끝에 l ,L 을 붙여주자
ㄴ _붙여도 ㅇㅋ



-> 그럼 처음부터 float이라고 말해주자

byte -> short -> int -> long -> float -> double : 자동 형변환
char ->
예시1)

예시2) 정수에서 실수로 변환


예시1)

예시2) 정수 * 실수 = 정수가 나오게끔

예시1)

ㄴ 큰 바구니에 있는 물을 작은 바구니에 담으면 담긴 하지만 온전히 담을수가 없다
ㄴ 자료가 변질될 것이다
ㄴ 자바 : 자료가 변질될 가능성이 있어 안담아줄거야ㅇㅇ

ㄴ 나 : 변질된다고 해도 담아줘! -> (자료형명시)
ㄴ 데이터가 변질되면서 담겼다...
예시2)

ㄴ 유실이 없어도 오류 뜨넹

ㄴ 유실 없어도 명시적 형변환 해줘야 하넹
예시3)

ㄴ 데이터 유실 가능성 있어ㅓㅓ

ㄴ 나 : 알아,바꿔줘
ㄴ 데이터가 변질되면서 담겼다...
항과 연산자
항
연산에 사용되는 값
예시)
10 + 20 -> 항: 10, 20
int num1 = 10 +20*3;
= : 연산의 우선순위가 가장 낮다+- : 부호 반전+-*/% 나머지 연산자10 + 2*3 = 16
우선순위 : *, /, % > +, -
우선순위 강제 적용 : (...)
++ : 1씩 증가예시)
int num2 = num++;
ㄴ 대입먼저하고 연산을 나중에
int num2 = ++num;
ㄴ 연산을 먼저하고 대입을 나중에
-- : 1씩 감소대입연산자 + 다른 연산자(주로 산술 연산)
num = num + 2;
num += 2;
num *=2;