연산자(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개까지만 담을 수 있는 사과바구니
몇 개 필요하냐
내가 아무리 잘했다고 생각해도 선생님이랑은 다르구나
변수에 다 집어넣음. 나중에 바뀔지도 모르니?
뭐 그런 상황은 안 주기는 했지만. 그게 프로그래머의 생각 방식일 수도
암튼 변수 명도 이해가 쉽게 해야 함
'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 |
댓글