02-09.1 산술 연산자
Def) 연산: 데이터를 처리해 결과를 산출한다.
Note) 연산자
- 부호 연산자: +, -
- 증감 연산자: ++, --
- 산술 연산자: +, -, *, /, %
Ex)
<hide/>
public class OperatorExam {
public static void main(String[] args){
int i1 = -5; // 부호 연산자: - , 피연산자: 5
System.out.println(i1);
}
}
Def) 단항 연산자: '-5'처럼 피연산자가 1개인 연산식을 말한다.
02-09 2. 부호 연산자
- 부호 연산자는 변수 앞에도 붙일 수 있다.
<hide/>
public class OperatorExam {
public static void main(String[] args){
int i1 = -5;
int i2 = +i1;
int i3 = -i1;
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
}
}
Note) 출력 결과
- '+': 부호 비트를 그대로 유지시킨다.
- '-': 음수는 양수로 바꾸고 양수는 음수로 바꿔준다.
02-09 3. 증감 연산자
- '++'
- '--'
Ex) ++i3
<hide/>
public class OperatorExam {
public static void main(String[] args){
int i1 = -5; // 부호 연산자: - , 피연산자: 5
int i2 = +i1;
int i3 = -i1;
int i4 = ++i3; // int i4 = (i3 + 1)
System.out.println(i4);
System.out.println(i3);
}
}
Note) 출력 결과 ++i3은 i3에 1을 더하란 의미이며 i3은 5라는 값이 있으므로 i4는 1을 더한 6이 들어간다.
마찬가지로 i3도 6이 출력된다.
Ex) i3++
<hide/>
public class OperatorExam {
public static void main(String[] args){
int i1 = -5; // 부호 연산자: - , 피연산자: 5
int i2 = +i1;
int i3 = -i1;
int i4 = ++i3; // int i4 = (i3 + 1)
int i5 = i3++; // int i5 = i3; i3 = i3 + 1;
System.out.println(i5);
System.out.println(i3);
}
}
Note) 출력 결과
i3++은 i3에 1을 더하라는 의미이다. i5 출력하면 7이 아닌 6이 출력된다. '++'이 뒤에 붙어있을 때는 해당 변수에 먼저 값을 넣은 다음에 i3에 1을 더한다. 즉, i3에 있던 6을 i5에 먼저 대입한 다음 i3에 1을 더한 것이다. 따라서, i3을 출력하면 1이 늘어난 7을 출력한다. ( '--'의 경우에도 같다. )
02-09 4. 산술 연산자
Ex) int /int => int
<hide/>
public class OperatorExam {
public static void main(String[] args){
int i = 5;
int j = 2;
System.out.println(i + j);
System.out.println(i - j);
System.out.println(i * j);
System.out.println(i / j);
}
}
Note) 출력 결과
- 5 / 2 는 2.5가 아닌 2가 출력되었다. i, j를 처음에 int로 선언했기 때문에 정수와 정수끼리의 연산은 정숫값으로 반환.
Ex) 5 / 2 결과가 2가 아닌 2.5라는 결과를 얻으려면?
<hide/>
public class OperatorExam {
public static void main(String[] args){
int i = 5;
int j = 2;
System.out.println(i / (double) j);
}
}
- 2.5라는 결과를 얻기 위해서는 피연산자(2, 5) 중 적어도 하나는 실수여야 한다.
- 앞에서 배운 형변환을 이용해서 j를 double로 바꾸면 2.5라는 결과가 나온다.
02-09 5. 모듈로(Modulo) 연산자 %
Def) i % j : i를 j로 나눈 나머지 값을 출력
<hide/>
public class OperatorExam {
public static void main(String[] args){
int i = 5;
int j = 2;
System.out.println(i % j);
}
}
- 5를 2로 나눈 나머지 1이 출력된다.
'Java > 모두의 자바' 카테고리의 다른 글
Chapter 02-11 연산자 우선순위 (0) | 2022.02.03 |
---|---|
Chapter 02-10 비교 연산자 (0) | 2022.02.03 |
Chapter 02-08 기본형 형변환(Casting) (0) | 2022.02.03 |
Chapter 02-07 기본형 (0) | 2022.02.03 |
Chapter 02-06 상수 (0) | 2022.02.03 |