- 연산 : 프로그램에 데이터를 처리하여 결과를 산출하는 것
- 연산자 : 연산에 사용되는 표시나 기호
산술 | +, -, *, /, % | 이항 | 숫자 | 사칙연산 및 나머지 계산 |
부호 | +, - | 딘항 | 숫자 | 음수와 양수의 부호 |
문자열 | + | 이항 | 문자열 | 두 문자열 연결 |
대입 | =, +=, -=, *=, /=, %=, &=, ^=, !=, <<=, >>=, >>>= | 이항 | 다양 | 우변의 값을 좌변의 변수에 대입 |
증감 | ++, -- | 단항 | 숫자 | 1만큼 증가/ 감소 |
비교 | ==, !=, >, <, >=, <=, instanceof | 이항 | boolean | 값의 비교 |
논리 | !, &, |, &&, || |
단항 / 이항 |
boolean | 논리적 NOT, AND, OR 연산 |
조건 | (조건식) ? A : B | 삼항 | 다양 | 조건에 따라 A 또는 B 중 하나 선택(값 만족 시 ? 다음 첫번째 명령 실행, 만족 안할 시 두번째 명령 실행) |
비트 | ~ , &, | , ^ | 단항/ 이항 |
숫자 boolean |
비트 NOT, AND, OR, XOR 연산 |
쉬프트 | <<, >>, << | 이 | 비트를 좌측, 우측으로 밀어서 이동 |
연산 방향 : 증감,부호,비트,논리,대입 연산자는 오른쪽에서 왼쪽으로 움직임
* ! : 논리 부정 연산자로 TRUE -> FALSE, FALSE -> TRUE로
~ : 비트 반전 연산자로, 0 -> 1, 1-> 0으로
% : 나머지 구하는 연산자
= : 대입 연산자
== : 비교 연산자 -> 문자열 .equals(비교할 문자) -> true, false로 결괏값 나옴
^ : 베타적 논리합 -> 두 값이 같을 때 false 반환
>>, << : 비트 연산자로, 왼쪽으로 이동 시 *2, 오른쪽으로 이동 시 /2
증감 연산자 예제 - ++ 연산자 사
int 타입의 x에 10이라는 숫자를 대입
++ x : 값을 1 먼저 증가시킴
x ++ : 실행 후 1을 증가시킴
문자열 연결 - + 연산자
String str = "jdk"+6.0;
System.out.println(str);
-> 출력 값 : jdk6.0
논리 연산자
1. AND (논리곱) &&
TRUE | TRUE | TRUE |
TRUE | FALSE | FALSE |
FALSE | TRUE | FALSE |
FALSE | FALSE | FALSE |
2. OR(논리합) ||
TRUE | TRUE | TRUE |
TRUE | FALSE | TRUE |
FALSE | TRUE | TRUE |
FALSE | FALSE | FALSE |
3. XOR(베타적 논리합) ^
TRUE | TRUE | FALSE |
TRUE | FALSE | TRUE |
FALSE | TRUE | TRUE |
FALSE | FALSE | FALSE |
4. NOT(부정) !
TRUE | FALSE |
FALSE | TRUE |
삼항 연산자 (조건식) ? 값 또는 연산자 : 값 또는 연산자
예제를 보면 score > 90이라는 조건식에서 만족하면 A를, 만족하지 않으면 () 안 score > 80을 비교하게 되며
만족하면 B, 만족하지 않으면 C를 grade라는 char타입에 저장된다.
실행 결과를 보면 '85점은 B등급입니다' 로 출력된다.
* /, %에서 0으로 나눌 경우 오류 발생(ArithmeticException)
NaN : not a number ex) 5 / 0.0
infinity : 무한대 ex) 5 % 0.0
- <이것이 자바다1>. 한빛 미디
'JAVA' 카테고리의 다른 글
조건식 예제_ if-else (0) | 2019.06.18 |
---|---|
조건문과 반복문 (0) | 2019.06.18 |
변수와 타입 (0) | 2019.06.18 |
이클립스 설치 (0) | 2019.06.18 |
자바 프로그램 개발 순서 (0) | 2019.06.18 |