2-6. 연산자
✅ 대입 연산자
package operator;
public class AssignmentOperator {
public static void main(String[] args) {
int mathScore = 80;
int englishScore = 100;
int totalScore = mathScore + englishScore;
System.out.println(totalScore);
}
}
[실행 결과]
180
▶ '=' 기호를 사용하여 오른쪽의 변수나 값을 왼쪽 변수에 대입하는 연산자
▶ 우선 순위가 가장 낮다.
✅ 산술 연산자
자료 출처: Do it! JAVA 프로그래밍 (이지스퍼블리싱)
package operator;
public class ArithmeticOperator {
public static void main(String[] args) {
int num1 = 7;
int num2 = 3;
System.out.println(num1 + num2);
System.out.println(num1 - num2);
System.out.println(num1 * num2);
System.out.println(num1 / num2);
System.out.println(num1 % num2);
}
}
[실행 결과]
10
4
21
2
1
▶ 사칙 연산에서 사용하는 +, -, *, / 에 나머지 연산을 뜻하는 %가 포함된다.
▶ 사칙 연산과 동일하게, *, /, % 의 우선순위는 +, - 보다 높다.
✅ 증가/감소 연산자
자료 출처: Do it! JAVA 프로그래밍 (이지스퍼블리싱)
package operator;
public class IncrementDecrementOperator1 {
public static void main(String[] args) {
int num1 = 10;
int num2 = ++num1;
System.out.println(num2);
int num3 = --num1;
System.out.println(num3);
}
}
[실행 결과]
11
10
▶ 값을 1씩 증가시키거나, 감소시킬 때 사용한다.
package operator;
public class IncrementDecrementOperator2 {
public static void main(String[] args) {
int num1 = 10;
int num2 = ++num1;
int num3 = num1++;
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
}
}
[실행 결과]
12
11
11
▶ int num2 = ++num1; 문장은 다음과 같은 의미를 가진다.
-
(1) num1을 1만큼 증가시킨다.
-
(2) num1의 값을 num2에 대입한다.
▶ int num3 = num1++; 문장은 다음과 같은 의미를 가진다.
-
(1) num1의 값을 num3에 대입한다.
-
(2) num1을 1만큼 증가시킨다.
❗ 증감 연산자의 위치에 따라 결과값이 달라질 수 있으니 유의하자!
✅ 관계 연산자
자료 출처: Do it! JAVA 프로그래밍 (이지스퍼블리싱)
package operator;
public class RelationalOperator {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
System.out.println(num1 < num2);
System.out.println(num1 <= num2);
System.out.println(num1 >= num2);
System.out.println(num1 >= num2);
System.out.println(num1 == num2);
System.out.println(num1 != num2);
}
}
[실행 결과]
true
true
false
false
false
true
▶ 크기 비교를 할 때 사용한다.
▶ 관계 연산자의 결과는 항상 bool값으로 리턴된다.
▶ 조건문이나 반복문의 조건식으로 주로 사용된다.
✅ 논리 연산자
자료 출처: Do it! JAVA 프로그래밍 (이지스퍼블리싱)
package operator;
public class LogicalOperator {
public static void main(String[] args) {
boolean isMale = true;
boolean isStudent = false;
System.out.println(isMale && isStudent);
System.out.println(isMale || isStudent);
System.out.println(!isMale);
System.out.println(!isStudent);
}
}
[실행 결과]
false
true
false
true
▶ 두 명제가 모두 true이면 논리 곱(and)은 true
▶ 두 명제 중 하나만 true이면 논리 합(or)은 true
▶ true의 부정은 false, false의 부정은 true
▶ 관계 연산자의 결과는 항상 bool값으로 리턴된다.
✅ 조건 연산자
자료 출처: Do it! JAVA 프로그래밍 (이지스퍼블리싱)
package operator;
public class ConditionalOperator {
public static void main(String[] args) {
int age = 20;
String canDrink = (age >= 20) ? "Yes" : "No";
System.out.println(canDrink);
}
}
[실행 결과]
Yes
▶ 조건식이 true인 경우와 false인 경우의 결과값이 다르다.
▶ 연산에 필요한 항의 개수가 세 개라서 삼항 연산자라고도 불린다.
✅ 복합 대입 연산자
자료 출처: Do it! JAVA 프로그래밍 (이지스퍼블리싱)
package operator;
public class AdditionAssignmentOperator {
public static void main(String[] args) {
int num = 10;
System.out.println(num);
num += 20;
System.out.println(num);
num -= 5;
System.out.println(num);
num *= 4;
System.out.println(num);
num /= 10;
System.out.println(num);
num %= 3;
System.out.println(num);
}
}
[실행 결과]
10
30
25
100
10
1
▶ 대입 연산자와 다른 연산자가 함께 쓰이는 연산자
▶ 주로, 대입 연산자와 산술 연산자를 합쳐서 사용하는 경우가 많다.
▶ 우선 순위가 가장 낮다.
✅ 연산자 우선 순위
자료 출처: Do it! JAVA 프로그래밍 (이지스퍼블리싱)
▶ 대입 연산자의 우선 순위가 가장 낮다.
▶ 산술 연산자 > 관계 연산자 > 논리 연산자 > 대입 연산자
❗ 연산자 우선 순위가 잘 지켜진 수식이라도,
가독성 향상과 효율적인 협업을 위해 괄호를 적절히 사용하는 것이 좋다.
Author And Source
이 문제에 관하여(2-6. 연산자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@codinghoon/java-basic-2-6저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)