연산자?
연산자(Operator)는 프로그래밍을 하기 위한 기호의 약속이다.
연산자의 종류에는 산술, 대입, 증감, 논리, 삼항 연산자가 있다.
산술 연산자의 경우 +, -, *, /, %가 있다.
● 대입 연산자 =, +=, -=, *=, /=, %=
‘ = ’ : 좌변에 우변을 대입하는 연산자이다. a = b (‘같다’라는 의미가 아니다.)
‘ += ’ : 이 연산자의 의미는 a+=b ⇒ a = a + b 이다. 즉 원래 a값에 b를 더한다는 의미이다.
‘ -= ’ : a -= b ⇒ a = a – b 이다.
‘ *= ’ : a *= b ⇒ a = a * b 이다.
‘ /= ’ : a /= b ⇒ a = a / b 이다.
‘ %= ’ : a %= b ⇒ a = a % b 이다. 여기서 %는 나눴을 때 나머지를 나타낸다.
int a = 6, b = 3;
a += b => 9
a -= b => 3
a *= b => 18
a /= b => 2
a %= b => 0
● 증감 연산자 ++, —
증감 연산자에는 ++ 와 —가 있다. 하지만 변수 앞에 쓰냐 뒤에 쓰냐에 따라 결과가 달라진다.
‘ ++a ’ : a에 1을 더한 후 실행
‘ a++ ’ : a를 실행 후 1을 더함
‘–a ’ : a에 1을 뺀 후 실행
‘ a– ’ : a를 실행 후 1을 뺌
int a = 5
System.out.println(++a) => 6 // a(5)에 1을 더한 후 실행 => 5 + 1 = 6
System.out.println(a++) => 5 // a를 실행 후 1을 더함 => 5 출력 후 6이 됨
System.out.println(--a) => 4 // a(5)에 1을 뺀 후 실행 => 5 - 1 = 4
System.out.println(a--) => 5 // a를 실행 후 1을 뺌 => 5 출력 후 4가 됨
int a = 3;
System.out.println(a++); // => 3
// 여기서 a는 4가 됨
System.out.println(++a); // 4 + 1 = 5
=> 5
● 논리 연산자 &&, ||, !
논리 연산자에는 And, Or, Not이 있다.
‘ && (‘and’) ’ : ‘그리고’ 라는 뜻으로 두 개의 조건 모두 참일 경우 true가 된다.
‘ || (‘or’) ’ : ‘또는’이라는 뜻으로 두 개의 조건 중 하나라도 참일 경우 true가 된다.
‘ ! (’ not ’) ‘ : ‘부정’이라는 뜻으로 조건이 false일 경우 true가 된다. (false일 경우 true가 됨)
컴퓨터는 int a 가 3보다 크고 5보다 작다를 ‘ 5>a>3 ‘ 식으로 적으면 이해하지 못 한다.
그렇기에 5>a 그리고 a>3 으로 표현 해줘야 한다.
int a = 4;
if(a < 5 && a > 3) // 5 > a > 3
System.out.println("a는 3보다 크고 5보다 작습니다.");
if(a > 5 || a < 3) // a > 5, a < 3
System.out.println("a는 3보다 작거나 5보다 큽습니다.");
if(a != 3) // a는 3이 아니다? !=
System.out.println("a는 3이 아닙니다.");
● 삼항 연산자
삼항 연산자 즉 조건 연산자는 조건식이 참일 때와 거짓일 때 두 가지의 조건을 가진 연산자 이다.
‘ A ? B : C ‘ 로 A는 조건식 B는 참일 경우 값 C는 거짓일 경우 값 이다.
int a = 3, b = 5;
boolean result;
a > b ? result = true : result = false // a > b 이다? ? 참이면 ture : 아니면 false
=> false
위처럼 한 가지의 조건의 결과를 다르게 출력할 때 사용한다.