본문 바로가기

프로그래밍 공부/Java

Java - 연산자

산술 연산자

JavaScript와 크게 다르지 않지만 데이터 타입간의 차이점이 발생하는 차이점은 존재한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Main {
    public static void main(String[] args) {
        int a = 6, b = 4;
        double c = 4;
        
        // 산술 연산자
        System.out.println(a + " + " + b + " = " + (a + b));
        System.out.println(a + " - " + b + " = " + (a - b));
        System.out.println(a + " * " + b + " = " + (a * b));
        System.out.println(a + " / " + b + " = " + (a / b));
        // 동일 타입끼리의 연산 결과는 타입을 유지한다.
        
        System.out.println(a + " / " + c + " = " + (a / c));
        // 상대적으로 작은 데이터 타입과 큰 데이터 타입끼리의 연산은
        // 호환이 되는 경우 큰 데이터 타입으로 변환된다.
    };
};
cs

나머지 연산자

JavaScript에서 몫을 구하는 %연산자와 같다.

1
2
3
4
5
6
7
8
9
10
11
public class Main {
    public static void main(String[] args) {
        // 나머지 연산자
        System.out.println("6 % 4 = " + 6 % 4);
        System.out.println("7 % 3 = " + 7 % 3);
        System.out.println("5.0 % 2.3 = " + 5.0 % 2.3);
        // 나머지를 구하는 피연산자가 실수인 경우 실수에 대한 나머지 결과 
        System.out.println("14 % 2 = " + 14 % 2);
        System.out.println("15 % 2 = " + 15 % 2);
   };
};
cs

복합대입 연산자

JavaScript의 복합대입 연산자와 동일하다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Main {
    public static void main(String[] args) {
        int value = 2;
        
        // 복합대입 연산자
        value += 3;
        System.out.println("value = " + value);
        value -= 2;
        System.out.println("value = " + value);
        value *= 3;
        System.out.println("value = " + value);
        value /= 2;
        System.out.println("value = " + value);
        value %= 2;
        System.out.println("value = " + value);
        
        value -= 2 + 3;
        // 복합대입 연산의 경우 우변의 중복되는 변수를 없애고 연산자를 대입 연산자 앞에
        // 표기함으로써 부호와 구분하기 위해 축약된 문법이다.
        // 문법상 우변에 실제 변수가 존재하는 것이 아니기 때문에 우변의 연산(2 +3)이 선
        // 처리되고 좌변과 연산하여 다시 좌변에 대입하게 되므로 위의 코드는 잘못된 코드
        // 이고 "value = value - (2 + 3)"의 형태로 처리가 된다.
        System.out.println("value = " + value);
    };
};
cs

증감 연산자

JavaScript의 증감 연산자와 동일하다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Main {
    public static void main(String[] args) {
        int value = 2;
        
        // 증감 연산자
        int a = ++value;
        // 선 증가 -> 후 리턴
        System.out.println("value = " + value + ", a = " + a);
        
        a = value++;
        // 선 리턴 -> 후 증가
        System.out.println("value = " + value + ", a = " + a);
        
        a = --value;
        // 선 감소 -> 후 리턴
        System.out.println("value = " + value + ", a = " + a);
        
        a = value--;
        // 선 리턴 -> 후 감소
        System.out.println("value = " + value + ", a = " + a);
    };
};
cs

논리 연산자 / 삼항 연산자

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Main {
    public static void main(String[] args) {
        int value = 8;
        
        // 논리 연산자
        System.out.println(value > 5 && value < 10);
        System.out.println(value > 5 || value < 10);
        System.out.println(!(value > 5 && value < 10));
        
        // 삼항 연산자
        System.out.println("value는 " + ((value % 2 == 0)? "짝" : "홀"+ "수입니다.");
    };
};
cs

'프로그래밍 공부 > Java' 카테고리의 다른 글

Java - 반복문으로 별찍기 예제  (0) 2020.01.23
Java - 반복문  (0) 2020.01.21
Java - 조건문  (0) 2020.01.21
Java - 출력과 입력  (0) 2020.01.21
Java - 데이터 타입과 기초  (0) 2020.01.21