JAVA의 기본
Variable 이란
-
자료를 저장하기 위한 메모리 공간으로 타입에 따라 그 크기가 달라진다.
-
메모리 공간에 값을 할당 후 사용한다.
Type이란
-
데이터의 종류로 기본형(primitive type)과 참조형(reference type)으로 나뉜다.
- 기본형(primitive type) : 미리 정해진 크기의 memory size로 표현하며 변수 자체에 값이 저장된다.
ex) int, float, double, boolean, char...
- 참조형(reference type) : 크기가 미리 정해질 수 없는 데이터의 표현이며 변수에는 실제 값을 참조할 수 있는 주소만 저장한다.
ex) Class...
-
데이터의 선언에는 타입 + 변수명 + 값 으로 이루어져있다.
ex) int(타입) age(변수명) = 10(값);
-
기본형의 크기
-
파란 글씨는 단순 선언만 했을 때의 default이다.
-
long을 선언하기 위해선 숫자 뒤에 l이나 L을 붙여서 표현해야한다.
-
float로 선언하기 위해 숫자 뒤에 f를 붙여 표현해야한다.
-
정수 표현시 overflow에 대해 유의하자
-
또한 실수형은 계산할 때마다 정확하지 않다. 정확한 계산이 필요할 땐 정수로 바꿔서 계산하자.
float f1 = 2.0f;
float f2 = 1.1f;
float f3 = f1-f2;
결과 : f3 = 0.9
double d1 = 2.0;
double d2 = 1.1;
double d3 = d1-d2;
결과 : d3 = 0.899999999999999999999
( (int)(d1*100) - (int)(d2*100))/100.0)
이렇게 계산합시다.
위에 100이 아니라 100.0을 나눈 이유는 단순 100으로 나누면 정수형으로 판단하여 소수점을 0으로 만들어버린다.
소수점까지 표현하고 싶을 땐 .0을 붙여서 계산하자.
형변환(Type casting)이란
- 변수의 타입을 다른 타입으로 변환
- primitive는 primitive끼리 reference는 reference까리 가능
- boolean은 다른 타입과 형변환이 안됨
- primitive와 reference간의 형변환을 위해선 Wrapper 클래스를 사용할 수 있다.
- 형변환은 그냥 앞에 괄호 붙여서 사용하면 된다.
double d = 100.5;
int rst = (int)d;
d = 100.5
rst = 100
- 형변환에도 2가지 종류가 있다.
1. 묵시적 형 변환(promotion)
- 작은 크기에서 큰 크기로 이동할 때
- 이 경우는 데이터 손실이 없기 때문에 (int)를 생략해도 가능
2. 명시적 형 변환
- 큰 크기에서 작은 크기로 이동할 때
- 데이터 손실이 발생할 수 있으므로 정확한 타입을 명시해줘야함
연산자란?
- 어떤 기능을 수행하는 기호
- 연산자 종류와 우선순위에 따라 진행
- 연산시 두 변수의 타입이 다른 경우 더 큰 타입으로 형 변환 후 연산 진행
- 연산자의 최소 단위의 타입은 int이다.
- 그래서 byte + byte를 하더라도 int로 값을 받아야 한다.
float f1 = 10.0; // 10.0f라고 써야함.
float f2 = f1.20.0; // 타입을 double로 바꿔주면.. 된다.
조건문이란
- conditional Statement
- if, switch, while, for
- if문은 노리형, 비교식, Method Call
- switch문은 정수호환, Enum, class Object, Methode Call
- for(변수 초기화, 반복 조건, 증감식){
반복 구문
}
- while(중간식(or 한계){
반복 구문
}
- for문은
- 초기값 조건식, 증감식의 위치가 명확
- 반복의 회수가 명확한 경우
- index의 증감 활용
- while문
- 반복의 횟수가 불명확한 경우
- index보다 break이나 continue활용