항
: 해당 연산을 위해 필요한 값이나 변수.피연산자
: 연산자가 연산을 수행하는 대상. 피연산자는 '인수(argument)'라고 불리기도 한다.단항(unary) 연산자
: 피연산자를 하나만 받는 연산자.-
연산자 ( x = -x )이항(binary) 연산자
: 두 개의 피연산자를 받는 연산자+, -, *, / (사칙연산) + %, ++, --
산술 연산자의 동작은 우리가 알고 있는 일반적인 수학 연산과 거의 동일하다.
연산은 왼쪽에서부터 오른쪽으로 진행한다.
👉🏻 +
, -
, *
, /
: 수학 연산과 거의 동일
+
연산자 =>값을 더하는 데 자주 사용되지만 변수와 값, 또는 변수와 다른 변수를 더하는 데에도 쓸 수 있다.👉🏻 %
: 나머지 연산자 (Modulus)
(왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 반환)
👉🏻++
/ --
: 증감연산자
++x
/ --x
: 먼저 피연산자의 값을 1 증가 / 감소시킨 후에 해당 연산을 진행한다.x++
/ x--
: 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 증가 / 감소시킨다.cf)
**
: 거듭제곱 연산자Math.pow()
두 값을 비교하는 데 사용.
비교 반환값 : true
, false
( boolean 값 )
cf)
문자열(String) 비교 시 ==
과 equals()
의 차이
==
primitive type도 Constant Pool에 있는 특정 상수를 참조하는 것이기 때문에 결국 주소값을 비교하는 것으로 볼 수 있다.
같은 상수를 참조하면 주소값이 같으니 결국 같은 값이면 동일하다고 판단할 수 있는 것이다.
reference type => 주소값을 비교.equals()
: 내용 자체, 즉 데이터 값을 비교==
와 =
?
just 컴퓨터 언어에서의 규칙!
=
: 할당 연산자, 대입 연산자==
: 산술연산자주어진 논리식을 판단하여, 'true', 'false'를 결정하는 연산자.
AND 연산과 OR 연산은 두 개의 피연산자를 가지는 이항 연산자, 연산 방향은 왼쪽에서 오른쪽이다.
NOT 연산자는 피연산자가 단 하나 뿐인 단항 연산자이며, 연산 방향은 오른쪽에서 왼쪽입니다.
&&
: 논리식이 모두 true
이면 true
를 반환 (AND 연산)||
: 논리식 중에 하나라도 true
이면 true
를 반환(OR 연산)!
: 논리식의 결과가 참이면 거짓을, 거짓이면 참을 변환함 (NOT 연산)cf)
비트 연산자
|
: 한 쪽이라도 1이 존재한다면 1이 된다.&
: 두 비트 모두가 1인 경우에만 1이 된다.유일하게 세 개의 항으로 만들어진 연산자
구조
👉🏻 조건식 ? 반환값1 : 반환값2
=> 조건식이 true
일 경우 반환값1의 값을 반환, false
일 경우 반환값2의 값을 반환.
ex)
int a = 10 , int b= 20 //일 때,
a > b ? a : b ;
//조건식이 ``false`` 이므로 b 반환
cf)
삼항 연산자의 중첩
(조건A)?(조건B)?(반환값A):(반환값B):(반환값C)
true
인지 false
인지 판단.false
이면 (반환값C) 반환.true
일 경우, (조건B)가 true
인지false
인지 판단하여 반환.true
일 경우 : 반환값 Afalse
일 경우 : 반환값 Bcf)
https://www.w3schools.com/java/java_operators.asp
논리 연산자
http://www.tcpschool.com/java/java_operator_logic
image source)
https://www.w3schools.com/java/java_operators.asp
https://kephilab.tistory.com/28