728x90
컴퓨터는 여러 가지 동작을 한 번에 진행할 수 없기 때문에
연산자 사용 시 우선순위가 존재하게 되는데
연산자 우선순위의 경우 다음과 같다.
최우선 연산자 (., [], () )
단항 연산자 ( ++,--,!,~,+/- : 부정, bit변환> 부호> 증감)
산술 연산자 ( *,/,%,+,-,shift)\
쉬프트 연산자 ( >>,<<,>>> )
관계 연산자 ( >, <,>=,<=,==,!= )
논리 연산자 (&& , || ,!)
삼항 연산자 (조건식)? :
대입 연산자 =,*=,/=,%=,+=,-=
int a = 10, b = 20;
int num = a + b;라고 할 경우
+(산술 연산자) 이후 =(대입 연산자)를 진행해 30이라는 값이 출력된다.
double score = (10+20+31)/3;이라는 값을 출력하면 20.3333333... 이아닌 20.0이
나오게 되는데 이는 정수형과 정수형을 계산하는 과정에서
컴퓨터가 제대로 처리를 하지 못해 발생되는 경우로
double score = (10+20+31)*1.0/3; or double score = (10+20+31)*/3.0; 와 같이
실수형을 포함시켜주면 올바른 값을 출력할 수 있다.
+=, -=, *=, /= 같은 것들을 복합 대입 연산자라고 하며
total = total + a;라고 하면 total += a; 와 같은 값으로 표현할 수 있다.
728x90
'Java > study' 카테고리의 다른 글
제어문(조건문) (0) | 2022.06.08 |
---|---|
스캐너와 객체 (0) | 2022.06.08 |
연산자(비교, 논리, 삼항) (0) | 2022.06.08 |
변수와 자료형 그리고 연산자 (0) | 2022.06.07 |
JDK, 이클립스 설치와 시작 (0) | 2022.06.07 |