변수
변수란?
- 자료를 저장하기 위한 메모리 공간으로 타입에 따라 크기가 달라짐
- 메모리 공간에 값(value)을 할당 후 사용
Type이란?
- 기본형
- 미리 정해진 크기의 Memory Size로 표현
- 변수 자체에 값 저장
- 참조형
- 크기가 미리 정해질 수 없는 데이터 표현
- 변수에는 실제 값을 참조할 수 있는 주소만 저장
기본형의 크기
구분 |
Type |
bit 수 |
값 |
논리형 |
boolean |
|
true/false |
정수형 |
byte |
8 |
-128~127 |
short |
16 |
-32768~32767 |
int (default) |
32 |
약 +- 20억쯤 |
long |
64 |
-2^63 ~ 2*63-1 |
실수형 |
float |
32 |
0.123456789 |
double (default) |
64 |
0.123456789012345678 |
문자형 |
char |
16 |
0~2^16-1(아스키코드) |
- overflow 조심
- 부동소수점을 가지고 연산을 하면 부정확한 결과가 나올 수 있다. (실수의 연산은 정확하지 않다)
- 정수로 변환해서 계산하는 것이 좋음
- 유효 자리수를 이용한 반올림 처리
형 변환이란?
- 변수의 타입을 다른 타입으로 변환하는 것
- primitive는 primitive끼리, reference는 reference끼리 형 변환 가능
- boolean은 다른 기본 타입과 호환되지 않음
- 다른 언어에서 false == 0인데 자바에서는 불가
- 기본 타입과 참조형의 형 변환을 위해서 Wrapper 클래스 사용
- 형 변환 방법
- 형 변환 연산자(괄호) 사용
- double d = 100.5; int result = (int)d; // result=100, d=100.5
기본적인 형 변환 진행
연산자
연산자란?
- 어떤 기능을 수행하는 기호(+, -, *, / 등)
- 연산자 종류와 우선순위 및 결합 방향
- 연산자 우선순위가 같은 경우 연산 진행 방향에 의해 결정
제어문
조건문
- if
- 논리형
- 비교식
- Method Call: isEven()
- switch
- 정수 호환: byte, shortm char, int
- Enum: Day.MONDAY
- Class Object: Byte, Short, Character
- Method Call: getNumber()
반복문 for 구성
// 변수초기화 , 반복 조건, 증감식
for (int i = 0 ; i < 10 ; i++) {
// 실행문
]
반복문 while 실행 및 종료
// 변수 초기화
int i = 0;
// 반복 조건
while (i < 10) {
// 실행문
// 증감식
i++
}
for vs while
- for
- 초기값, 조건식, 증감식의 위치가 명확
- 반복의 횟수가 명확
- index의 증감 활용
- while
- 반복의 횟수가 불명확
- index보다는 break, continue 활용