연산자의 종류
| 종류 | 기호 | 역할 |
|---|---|---|
| 산술 연산자 | + - * / % << >> | 사칙 연산과 비트연산 |
| 비교 연산자 | > < >= <= == != | 크고 작음과 같고 다름을 비교 |
| 논리 연산자 | && ! | 그리고(AND)와 또는(OR) 으로 조건을 연결 |
| 대입 연산자 | = ++ -- | 우변의 값을 좌변에 저장, 연산 복합 대입 |
| 기타 연산자 | (type) ? : instance of | 형변환 연산자, 삼항 연산자, instance of 연산자 |
대입 연산자의 경우 2가지의 case로 나뉜다.
++value : value의 값을 대체한후 연산을 수행한다.
value++ : 연산을 수행한후 value의 값을 대체한다.
int a = 10;
int b = 10;
int val = ++a + b--;
System.out.println(val);
// val == 21
우선순위
연산자의 우선순위는 다음과 같다. 산술 > 비교 > 논리 > 대입
산술변환
피연산자의 타입이 다를때 : 타입의 크기가 큰 피연산자 타입으로 변한다.
ex) float(4byte) > long(8byte)
=> float type이 부동소수점을 채택하기 때문이다.
비트 연산
컴퓨터의 가장작은 단위인 Bit를 이용하면 연산속도가 가장 빠르다. 때문에 Bit의 자리수를 옮기는 것으로 연산을 수행하게 된다.
0, 1은 2진수 값이기에 2의 배수로 곱셈과 나눗셈으로 <<, >> 수식을 이용하여 자리수를 옮긴다.
3의 이진수의 값은 0011(2), 밑의 코드를 참고하면
왼쪽으로 2자리수가 밀려 1100(2) 인 12값이 된다.
System.out.println(3 << 2);
int[] numbers = {1,2,3,4};
for(int number : numbers){
System.out.println(number + " ");
}
for : 구하고자 하는 값이 정확한 조건이 있는 경우 사용
while : 구하고자 하는 값이 정확한 조건을 모를 경우, 유동적인 경우 사용
마찬가지로 기본적인 개념은 제외하고 부족한 부분을 정리하는 시간을 가졌다. 다음 시간은 배열과 자바의 컬렉션에 관한 내용을 다룬다.
잘 읽었습니다. 좋은 정보 감사드립니다.