본문 바로가기
study/JAVA

자바기초 - 연산자(operators)

by stilinski 2022. 3. 27.
728x90

연산자(operators)

: 어떠한 기능을 수행하는 기호(+,-,*,/,%,>,<,≥,≤,==(같다),≠(다르다, 느낌표=)

피연산자(operant): 연산자의 작업 대상(변수, 상수, 리터럴, 수식)

산술연산자(이항연산자): +,-,*,/,%

비교연산자(이항연산자): >,<,≥,≤,==(같다),≠(다르다, 느낌표=)

논리연산자(이항연산자): &&(and), ||(or), !(not)

조건연산자(삼항연산자): 조건식?참:거짓

대입연산자(이항연산자): =, +=, -=, *=, /= ....

증감연산자(단항연산자): ++(1씩증가), —(1씩감소) - 반드시 변수에 사용, 상수 리터럴 안됨

 

연산자 우선순위

**논리연산자 우선순위 &&가 제일 높음 그다음이 ||

** 우선순위가 같은 것들은 왼쪽에서 오른쪽 순으로 계산이 됨. + - 같은것들

 

예외규칙들

같은 유형끼리 연산하면 그 유형으로 리턴됨.

다른 유형끼리 연산하면 값이 더 큰 값으로 리턴됨.

int + double = double 결과는 크기기 더 큰 자료형으로 전환됨

 

 

int 이하의 것들은 계산하면 int가 됨.

short + short = int

byte + byte = int

char + char = int 자바에서는 문자를 표현할 때 유니코드를 사용함

short + byte = int

int + byte = int

byte < char,short < int < long < float < double

문자에 코드값을 줌

ex) a = 97 A = 65 아스키코드(미국꺼)

아스키코드를 확장한 게 유니코드(아스키코드 +@)

 

 

괄호의 중요성

괄호에 따라 계산 순서가 달라짐.

 

‘+’의 역할

: 산술연산자 or 문자열 연결

 

증감연산자

상수나 리터럴에 사용 못함

final 자바스크립트 const랑 비슷?

 

 

전위형: 값이 참조되기 전에 증가시킨다

j = ++i;

후위형: 값이 참조된 후 증가시킨다.

j = i++;

 

 

 

 

조건연산자

:식의 결과에 따라서 처리해줘야 하는 값이 다를 때

식 ? 참 : 거짓

int res = 식 ? 1 : 0;

char res = 식? ‘a’ : ‘A’;

 

 

 

연산자 연습문제

하나에 10개까지만 담을 수 있는 사과바구니

몇 개 필요하냐

내가 아무리 잘했다고 생각해도 선생님이랑은 다르구나

변수에 다 집어넣음. 나중에 바뀔지도 모르니?

뭐 그런 상황은 안 주기는 했지만. 그게 프로그래머의 생각 방식일 수도

암튼 변수 명도 이해가 쉽게 해야 함

 

728x90

'study > JAVA' 카테고리의 다른 글

[자바 JAVA] 주어진 수까지의 소수 구하기(break 활용하기)  (0) 2022.03.29
Java 기초 배열 Array  (0) 2022.03.29
Java 기초 제어문  (0) 2022.03.29
반복문 숙제 체크  (0) 2022.03.29
Java 기초 data type  (0) 2022.03.26

댓글