- 변수
- 값을 저장할 공간
- 자료형
- 값의 형태 ( 정수형,,, 문자형... etc)
- 선언
- 자료형 선택+ 변수의 이름 정해주는 과정 :
선언
- 자료형 선택+ 변수의 이름 정해주는 과정 :
- 대입(=)
- 오른쪽의 값을 왼쪽에 대입
- 변수 초기화
- 변수에 처음 값을 대입하는 과정
- 변수 이름 명명
- 영문자 + 숫자 + 특문($ , _ )
- 숫자 시작 불가
- 이미 사용중인 예약어 불가능
1.카멜 표기법 낙타 등같이 첫 소문자단어 + 두번째 단어부터는 대문자로 시작함 2.파스칼 표기법 전부 시작이 대문자입니다 3. 스네이크 표기법 모든 단어 소문자이고 단어단어 마다 _ 로 구분
- 메모리
- 프로그램이 실행되는 작업의 공간
- 변수가 선언되면 해당 하는 메모리에 저장됩니다
- 자료형
- 기본 자료형 , 참조 자료형
- 기본 자료형은 자바 라이브러리에서 기본으로 정해져있고, 메모리할당이 이미 되어있음
- 기본 자료형
- 정수 자료형
- 양수, 음수 , 0을 나타내는 데 사용되는 자료형
- byte
- 1바이트 > 동영상이나 음악파일 등 재생할 때 , 또는 네트워크로 데이터를 전송할 때 사용
- short
- 2바이트 > 정수표현 자료형
- int 형
- 4바이트 > 기본적으로 가능 많이 사용
- 이는 컴퓨터에서 정수로 연산을 할 때 4바이트 단위로 처리하기 때문입니다
- short + byte연산
- 정수형 연산시 int로 변환후 연산됨. > 묵시적 형변환 (같은 정수형 자료에서 더 넓은 범위)
- 4바이트 > 기본적으로 가능 많이 사용
- long 형
- 8바이트
- 기존의 int 형을 넘는 범위의 숫자를 표현하는 경우 사용하는데..
- int형의 범위를 넘는 숫자 표현하는 경우 컴파일러에 L 이나 l(소문자 L)을 맨뒤에 붙여야합니다
long Big = 1000000000L; long Small = 1000; //이건 int형의 범위 안이기 때문에 기본적으로 가능합니다
- int형의 범위를 넘는 숫자 표현하는 경우 컴파일러에 L 이나 l(소문자 L)을 맨뒤에 붙여야합니다
- 문자 자료형
- 아스키 코드! 가 대표적입니다.
- 영문자는 1바이트로 표현가능 > 아스키 코드
- 한글은 불가능.. 유니코드 사용합니다
- 유니코드
- 1바이트 : 아스키 코드 값 호환
- 2바이트 이상 : 기타 문자 한글 등...
- 유니코드
- 변수에 문자를 대입... > 그 문자에 해당하는 아스키 코드 값이 저장됩니다.
- char 타입에는 음수값은 대입할 수 없습니다.
- 실수 자료형
- 3 .14 = 3(정수) // 0.14 (소수)
- 부동 소수점 방식
- 가수 + 지수 부분으로 실수를 나타내는 부동 소수점 방식
- float / double
- float
- 4바이트 실수
- double
- 8바이트 실수
- 지수로는 0을 표현할수가없기에 부동소수점 값을 연산한다면 오차가 발생함
- float
- 논리 자료형
- boolean .... true or false > false기본 값
- 자료형 없이 변수 선언 (자바 10 부터)
- 변수에 대입되는 자료를 보고 컴파일러가 자료형을 추측합니다
- 정수 자료형
- 상수와 리터럴
- 상수
- 변하지 않는 수
- 선언과 동시에 초기화 및 선언 후 사용하기전에 초기화가 가능합니
- 사용 이유
- 프로그램 내부에서 반복적으로 사용하고, 변하지 않는 값!
- 단 한번의 값의 변경으로 프로그램 내의 해당 부분을 일일이 고치지 않을 수 있음.
- 프로그램 내부에서 반복적으로 사용하고, 변하지 않는 값!
- 리터럴
- 프로그램에서 사용하는 모든 숫자 , 문자 , 논리값
- 프로그램이 시작할 때 시스템에 같이 로딩 > 특정 메모리 공간인 상수 풀 > int num=3; 에서 값 3 이 메모리 공간 어딘가에 존재해야 num 변수에 그 값을 복사가능함.
- 형 변환
- 정수 실수 연산시 그대로 연산은 불가능하기에 하나의 자료형으로 통일한 후 연산해야함
- 묵시적 형 변환
- 덜 정밀한 자료형에서 더 정밀한 자료형으로 대입 가능
- 4바이트 정수 대입 → 4바이트 실수(더 정밀)
- 연산 중에 자동 변환
- int + float = int 가 float으로 변환 >>> float연산값 > double형으로 변환
- 덜 정밀한 자료형에서 더 정밀한 자료형으로 대입 가능
- 명시적 형 변환
- 더 정밀한 자료형에서 덜 정밀한 자료형으로 대입
- 4바이트 실수 > 4바이트 정수(덜 정밀) (int)float값
- 연산중 변환
- (double + float) : float > double 묵시적 형 변환 \ 연산 후 int num = (int)해당값 더 정밀하고 바이크 크기가 크기에 명시적 형 변환 필요
- int num = (int)double num1 + (int)float num2 각각 int 형으로 명시적 형변환 후 int형 끼리 연산 값 대입
- 더 정밀한 자료형에서 덜 정밀한 자료형으로 대입
- 상수
- 기본 연산자
- 항과 연산자
- 연산자
- 연산에 사용하는 기호
- 항
- 연산에 사용하는 값
- 단항 연산자
- 항이 하나인 연산
- 이항 연산자
- 항이 2개
- 사칙연산에 일반적인 사용
- 삼항 연산자
- 항이 3개.. 조건 연산자임
- 대입 연산자
- 변수에 값을 대입하는 연산자
- 이항 영상자 중에 우선순위가 가장 낮은 연산자
- 부호 연산자
- +
- 변수나 상수 양수
- -
- 변수나 상수 음수
- sop(-num) 으로는 음수인 정수를 출력가능하지만 이 상태 그대로 num 변수에 음수인 값이 대입되지는 않습니다
- +
- 산술 연산자
- + : 더하기
- - : 빼기
- * : 곱
- % : 나머지
- / : 나누기 (몫)
- 연산 방식
- 수학과 동일
- 나누기 곱하기 나머지 왼 > 오
- 이후 더하기 뺴기 왼> 오
- 증가.감소 연산자
- 단항 연산자
- ++, - -
- ++num : 1더해진 값이 num에 저장됨
- int num2 = num++ : num값이 num2에 대입되고 // num+1 값이 num이 대입됨
- 관계 연산자
- 이항 연산자
- >, <, ≥, ≤ , == , ≠
- 논리 연산자
- && , || , !
- 참 & 참 = &&
- 참 하나만... = ||
- ! = 부정
- 단락 회로 평가
- 논리 곱 ( && ) : 앞 항의 결과 값이 거짓 > 실행 X > 어차피 거짓임
- 논리 합( || ) : 앞 항의 결과 값이 참 > 뒤 실행 X > 어차피 참이기에
- 복합 대입 연산자
- += -= *= /= %=
- <<= , >>=
- num1 <≤2
- num1 = num1 <<2
- <<< = , >>> =
- 비트를 ? 만큼 이동 , 그 값을 왼쪽 항에 대입함..( 왼쪽에 채워지는 비트 값은 0)
- num1 = num1>>>2 와 같음
- &= , |= , ^=
- 두 항의 ? 비트 연산 후 그 값을 왼쪽 항에 대입
- 조건 연산자
- 삼항 연산자
- 조건식 ? (참)결과1:(거짓)결과2
- 연산자
- 비트 연산자
사용 위치
- 비트 단위의 연산을 하는 경우
- 암호화 작업처럼 임의의 숫자를 만드는 경우
- 어떤 변수의 특정 비트를 꺼내보는 경우 (마스킹)
- 비트 단위의 연산을 하는 경우
- 비트 논리 연산자
- & , | ,^
- & > 모두 1 : 1
- | > 둘 중 하나 1 : 1
- ^ > 반전
- 비트 이동 연산자
- << >>
- 그냥 비트 이동
- <<<
- 비트 이동
- ( 왼쪽에 채워지는 비트 값이 MSB와 상관없이 무조건 0이 됩니다 )
- << >>
- 연산자 우선순위
- 단 . 이 . 삼
- 산 관 논 대
- ( ) 우선순위가 1등!
- 항과 연산자
제어 흐름
- 조건문
- 조건문
- ~~라면 ~한다
- if if ~ else
- ~라면 ~한다 / 아니라면 > ~한다
- .... (생략)
- 조건문
Uploaded by Notion2Tistory v1.1.0