연산자는 여러 계산에 사용되는 기호를 말하며 연산을 수행하기 위해선 반드시 대상이 있어야하며,
이를 피연산자라 한다.
연산자 : 연산을 수행하는 기호(+ , - , * 등등)
**피연산자 : 연산자의 작업 대상 (변수, 상수, 리터럴, 수식)
package study;
public class study {
public static void main(String [] args) {
int a=20, b=10, c=0; // 결과값
c = a + b; // 더하기
System.out.println(c); //30
c = a - b; // 빼기
System.out.println(c); //10
c = a * b; // 곱하기
System.out.println(c); //200
c = a / b; // 나눈 몫
System.out.println(c); //2
c = a % b; // 나머지
System.out.println(c); //0
c = 12 % 5; // 나머지
System.out.println(c); //2
}
}
산술 연산자의 예시이다.
기본적으로 수학에서의 연산과 동일하나 나눈 몫과 나머지값이 따로 출력해야한다는 점을 유의해야한다.
단항연산자는 피연산자의 저장된값을 1씩 증가시키거나 감소시킨다
증가 연산자(++) : 피연산자의 값을 1 증가시킨다.
감소 연산자(--) : 피연산자의 값을 1 감소시킨다.
이러한 단항연산자는 피연산자의 왼쪽 또는 오른쪽 둘다 사용이 가능하며, 위치에 따라 전위형과 후위형으로 나누어진다.
전위형 : int j = ++i ;
후위형 : int j = i++ ;
전위형과 후위형 모두 피연산자의 값을 1증가시키지만, 증감연산자가 수식이나 메서드에 포함된 경우 다른 결과를 나타낸다.
package study;
public class study {
public static void main(String [] args) {
int i, j = 5;
i = j++;
System.out.println("i =" + i);
System.out.println("j =" + j);
}
}
i =5
j =6
package study;
public class study {
public static void main(String [] args) {
int i, j = 5;
i = ++j;
System.out.println("i =" + i);
System.out.println("j =" + j);
}
}
i =6
j =6
두 코드의 다른점은 i에 j값을 저장시킬때 증감연산자가 왼쪽 또는 오른쪽에 있냐의 차이이다.
i의 값은 j에 1이 더해진 6으로 동일하지만, j의 경우 ++가 오른쪽에있을 때는 변수의 값을 먼저 읽어낸뒤 값을 증가시키기 때문에 5라는 결과가 출력됬다.