1. 산술 연산자: +, -, *, /, %
2. 증감 연산자: ++, --
3. 비교 연산자: ==, !=, >, <, >=, <=
4. 논리 연산자: &&(and), ||(or), !(NOT)
5. 대입 연산자: =, +=, -=, *=, /=, %=
6. 삼항 연산자: ? :
3 + 4
package operator;
public class Operator1 {
public static void main(String[] args) {
//변수 초기화
int a = 5;
int b = 2;
// 덧셈
int sum = a+b;
System.out.println("a + b = " + sum);
// 뺄셈
int diff = a - b;
System.out.println("a - b = " + diff);
// 곱셈
int multi = a * b;
System.out.println("a * b = " + multi);
// 나눗셈
int div = a / b;
System.out.println("a / b = " + div);
// 나머지
int mod = a % b;
System.out.println("a % b = " + mod);
}
}
<주의> 0으로 나누기: 10과 0을 나눌 수 없다.
실행하면 다음과 같은 오류 발생
Exception in thread "main" java.lang.ArithmeticException: / by zero
package operator;
public class Operator2 {
public static void main(String[] args) {
// 문자열과 문자열 더하기
String result1 = "hello " + "world";
System.out.println(result1);
// 문자열과 문자열 더하기2
String s1 = "string1";
String s2 = "string2";
String result2 = s1 + s2;
System.out.println(result2);
// 문자열과 숫자 더하기
String result3 = "a + b = " + 10;
System.out.println(result3);
// 문자열과 숫자 더하기2
int num = 20;
String str = "a + b = ";
String result4 = str + num;
System.out.println(result4);
}
}
package operator;
public class Operator3 {
public static void main(String[] args) {
int sum1 = 1 + 2 * 3;
int sum2 = (1 + 2) * 3;
System.out.println("sum1 = " + sum1);
System.out.println("sum2 = " + sum2);
}
}
package operator;
public class Operator4 {
public static void main(String[] args) {
int sum3 = 2 * 2 + 3 * 3;
int sum4 = (2 * 2) + (3 * 3);
System.out.println("sum3 = " + sum3);
System.out.println("sum4 = " + sum4);
}
}
1. 상식선에서 우선순위 사용
2. 애매하면 괄호 넣자
package operator;
public class OperatorAdd1 {
public static void main(String[] args) {
int a = 0;
a = a + 1;
System.out.println("a = " + a); // 1
a = a + 1;
System.out.println("a = " + a); // 2
//증감 연산자
++a; // a = a+1
System.out.println("a = " + a); // 3
++a; // a = a+1
System.out.println("a = " + a); // 4
--a;
System.out.println("a = " + a); // 3
}
}
설명: a를 먼저 1씩 증가한다.
설명: a값을 먼저 연산한 후 이후에 1씩 증가
package operator;
public class OperatorAdd2 {
public static void main(String[] args) {
int a = 1;
int b = 0;
b = ++a; // a값을 먼저 증가시키고 b에 대입
System.out.println("a = " + a + ", b = " + b);
// 후위 증감 연산자 사용 예
a = 1;
b = 0;
b = a++; // a의 현재값을 b에 대입하고 그 이후 a값 증가
System.out.println("a = " + a + ", b = " + b);
}
}
package operator;
public class Comp1 {
public static void main(String[] args) {
int a = 2;
int b = 3;
System.out.println(a == b); // false
System.out.println(a != b); // true
System.out.println(a > b); // false
System.out.println(a < b); // true
System.out.println(a >= b); // false
System.out.println(a <= b); // true
// 결과를 boolean 변수에 담을 수 있음
boolean result = a == b;
System.out.println(result); // false
}
}
package operator;
public class Comp2 {
public static void main(String[] args) {
String str1 = "문자열1";
String str2 = "문자열2";
boolean result1 = "hello".equals("hello"); // 리터럴 비교
boolean result2 = str1.equals("문자열1"); // 문자열 변수, 리터럴 비교
boolean result3 = str1.equals(str2); // 문자열 변수 비교
System.out.println(result1); // true
System.out.println(result2); // true
System.out.println(result3); // false
}
}
package operator;
public class Logical1 {
public static void main(String[] args) {
System.out.println("&&: AND 연산");
System.out.println(true && true); // true
System.out.println(true && false); // false
System.out.println(false && false); // false
System.out.println("|| : OR연산");
System.out.println(true || true); // true
System.out.println(true || false); // true
System.out.println(false || false); // false
System.out.println("! : NOT연산");
System.out.println(!true); // false
System.out.println(!false); // true
System.out.println("변수 활용");
boolean a = true;
boolean b = false;
System.out.println(a && b); // false
System.out.println(a || b); // true
System.out.println(!a); // false
System.out.println(!b); // true
}
}
package operator;
public class Logical2 {
public static void main(String[] args) {
int a = 15;
// a는 10보다 크고 20보다 작다
boolean result = a > 10 && a < 20; // (a>10) && (a<20)
System.out.println("result = " + result);
}
}
package operator;
public class Assign1 {
public static void main(String[] args) {
int a = 5;
a += 3; // 8
a -= 2; // 6
a *= 4; // 24
a /= 3; // 8
a %= 5; // 3
System.out.println(a);
}
}