연산자

bethe·2022년 7월 28일
0

Java

목록 보기
9/14

1. 연산자와 피연산자

  • 연산자 : 특정한 연산을 나타내는 기호
  • 피연산자 : 연산의 대상

3.14 * radius 에서 3.14와 radius는 피연산자, *(곱하기)는 연산자이다.

2. 산술연산자

public class OperEx01 {

	public static void main(String[] args) {
		System.out.println(1+1);
		System.out.println(1-1);
		System.out.println(2*2); 
		System.out.println(4/2); // 나눗셈의 몫을 출력. 결과값 : 2
		System.out.println(3%2); // 나눗셈의 나머지값을 출력. 결과값 : 1
		System.out.println(10/3); // 정수로나누면 →결과값 : 3
		System.out.println(10/3.0); // 실수로 나누면 → 결과값 : 3.3333
	}

}

3. 관계연산자

public class OperEx02 {

	public static void main(String[] args) {
		System.out.println(1==1); // true
		System.out.println(!(1==1)); // false
		System.out.println(!true); // false
		System.out.println(1!=1); // false
		System.out.println(1>3); // false
		System.out.println(1<3); // true
	}

}
  • == : 왼쪽과 오른쪽의 피연산자가 같은가를 판단하는 연산자. 1==1의 결과값은 true.
  • ! : true와 false의 값을 반대로 돌려주는 연산자. !(1==1)과 (!true)의 결과값은 false.

4. 논리연산자

public class OperEx03 {
	public static void main(String[] args) {
		System.out.println(true&&false); // and
		System.out.println(true||false); // or
	}

}
  • && : 피연산자가 모두 true여야 true값을 반환한다.
  • || : 피연산자 둘 중 하나만 true이면 true값을 반환한다.

5. 단항연산자

int num = 2;
num=num+1;
System.out.println(num);

✍️ num = num+1 는 어떻게 계산되는걸까?
코드는 오른쪽부터 값을 읽기 때문에 오른쪽에 있는 값인 'num+1'부터 읽는다.

  1. num 읽음
  2. num에 +1을 함

오른쪽의 연산 처리가 완료되면 왼쪽의 num에 오른쪽의 값 num+1이 재할당된다.


✍️ num++
num++는 num값에 1을 더하는 연산자로, num+1과 비슷한 기능을 지닌다.

public class OperEx04 {

	public static void main(String[] args) {
		int num =1;
		num =2;
		System.out.println(num);
		num=num+1;
		System.out.println(num);
		num++;
		System.out.println(num);
	}

}

고로 위 코드의 결과값은

2
3
4

이다.


num++처럼 양쪽에 피식별자가 없고, 하나의 항에만 있는 형식으로 사용하는 연산자를 단항연산자라고 한다.

🌳→🌿 후위 증감연산자, 전위 증감연산자

단항 연산자 중 1씩 증가하거나 감소하는 연산자를 증감연산자라고 한다.
중요한 점은 증감 연산자의 ++, --위치가 변수 앞, 뒤에 오느냐에 따라 결과값이 달라진다.

  1. 후위 증감연산자 실행순서
    b = a++; (또는 a- -;)
    1) a를 b에 대입함
    2) a를 1씩 증가시킴

  2. 전위 증감연산자 실행순서
    b = ++a; (또는 - - a;)
    1) a를 1씩 증가시킴
    2) a를 b에 대입함

int x = 1;
int y = 1;

int nextx = ++x; // x의 값이 증가된 후에 사용된다. nextx는 2이 된다.
int nexty = y++; // y의 값이 사용된 후에 증가된다. nexty는 1이 된다.
profile
코딩을 배우고 기록합니다. 읽는 사람이 이해하기 쉽게 쓰려고 합니다.

0개의 댓글