연산자는 쉬우니까 바로 넘어가자.
연산자란?
int num1 = 10;
int num2 = 5;
System.out.printin(numl + num2); // 더하기 연산
System.out.printin(num1 - num2); // 빼기 연산
System.out.printLn(num1 * num2): // 곱하기 연산
System.out.printLn(numl/ num2); // 나누기 연산
System.out.printLn(num1 응 num2); // 나머지 연산
나누기를 할 때 0으로 나누면 java.lang.ArithmeticException
이 발생한다. 나누기의 분모가 되는 값 또는 변수의 값이 0되지 않도록 유의해서 코딩해야한다.
int num1 = 10;
int num2 = 5;
num1 += num2; // num1 = num1 + num2
System.out.println(num1);
num1 -= num2; // num1 = num1 - num2
System.out.println(num1);
num1 *= num2; // num1 = num1 * num2
System.out.println(num1);
num1 /= num2; // num1 = num1 / num2
System.out.println(num1);
num1 %= num2; // num1 = num1 % num2
System.out.println(num1);
계산을 한 후, 다음 계산을 할 때 num1과 num2, 두 변수의 값은 이전의 계산에 의해 변해 있을수 있다. 만약 원래의 값인 10과 5를 사용하고 싶다면 값을 초기화 시켜줘야 함.
==
는 두 값이 같은지, !=
는 두 값이 같지 않은지를 확인하는 연산자.true
를 결과값으로 반환한다.int num1 = 10;
int num2 = 20;
int num3 = 10;
System.out.println(num1 > num2); // 10 > 20
System.out.println(num1 >= num3); // 10 >= 10
System.out.println(num1 < num2); // 10 < 20
System.out.println(num1 <= num2); // 10 <= 20
System.out.println(num1 == num3); // 10 == 10
System.out.println(num1 != num2); // 10 != 20
논리 연산자도 또한 조건을 만족하는지에 따라 결과값으로 true
와 false
를 반환한다.
boolean a = true;
boolean b = false;
System.out.println(a && b);
// &&는 두가지 모두 참일 경우에는 true를, 그렇지 않을 경우에는 false를 반환한다.
System.out.println(a || b);
// ||는 두가지 모두 거짓일 경우에는 false를, 그렇지 않을 경우에는 true를 반환한다.
System.out.println(!b);
// !는 피연산자의 논리값을 바꿉니다. true는 false로 , false는 true로 반환한다.
비트 연산자는 피연산자를 비트단위로 논리 연산한다. 피연산자를 이진수로 표현했을 때의 각 자리를 규칙에 따라 연산을 수행함.
아래 링크에서 추가적인 학습을 할 수 있다.
한국어: http://www.tcpschool.com/c/c_operator_bitwise
영어: https://en.wikipedia.org/wiki/Bitwise_operation
8.6.1 퀴즈 1
주어진 코드를 보고 출력 결과를 생각해보세요.
public class Main {
public static void main(Stringll args) {
int num1 = 10;
int num2 = 3;
boolean bool1 = true;
boolean bool2 = false;
num1 += numl;
num2 *= num1;
System.out. println (num1);
System.out-println (num2) ;
System.out.println(bool1 && bool2);
}
}
정답
20
60
false