뇨내

[JAVA-Eclipse] Operator 연산자 본문

JAVA/Casting + Operator

[JAVA-Eclipse] Operator 연산자

삐옥 2021. 12. 9. 00:39

 

 

 

 

 

 

 

 

 


 

 

 

Operator 연산자

 

연산자, Operator
- 피연산자(Operand)를 대상으로 미리 정해진 연산을 한 후 연산의 결과를 돌려주는 요소  
- 주로 기호를 많이 사용 + 단어도 많이 사용

 

 연산자의 종류
  1. 산술 연산자
  2. 비교 연산자
  3. 논리 연산자
  4. 대입 연산자
  5. 증감 연산자
  6. 조건 연산자

 


 

 

 

산술 연산자

 

 +      -      *      /      %(mod, 나머지)

 

- 2항 연산자

 

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
26
27
28
29
30
31
32
33
34
35
        //- 정수/정수 = 정수
        int a = 2;
        int b = 3;
        
        System.out.printf("%d + %d = %d\n", a, b, a + b);
        System.out.printf("%d - %d = %d\n", a, b, a - b);
        System.out.printf("%d * %d = %d\n", a, b, a * b);
        System.out.printf("%d / %d = %d\n", a, b, a / b);
        System.out.printf("%d %% %d = %d\n", a, b, a % b);
        
        
        //나누기 연산자
        // - 나누기 피연산자가 1개 이상이 실수면 연산 결과도 실수
        System.out.println(10 / 3);     // 정수/정수 -> 3
        System.out.println(10.0 / 3.0); // 실수/실수 -> 3.33333333
        System.out.println(10.0 / 3);   // 실수/정수 -> 3.33333333
        System.out.println(10 / 3.0);   // 실수/정수 -> 3.33333333
        
        // - 모든 산술 연산자 결과 자료형은 두 피연산자 중에서 크기가 더 큰 자료형으로 반환
 
        
        int i1 = 1000000000;
        int i2= 1000000000;
        int i3 = 2000000000;
        int i4 = Integer.MIN_VALUE;
        
        System.out.println(i1 + i2); //int
        System.out.println(i1 + i3); //오버플로우고 전혀 다른 값이 나온다.
        System.out.println(i1 + (long)i3); // int + long = long
        System.out.println((long)i1 + i3);
        System.out.println((long)i1 +(long)i3);
        System.out.println(1000000000 + 2000000000L);
        System.out.println(i4 - 1L);
        
        
cs

 

 

비교 연산자

 

>    >=     <     <=     = =(equals)     !=(not equals)


- 2항 연산자
- 연산의 결과는 boolean

 

1
2
3
4
5
6
7
8
9
10
       
a = 5;
        b = 2;
        
        System.out.printf("%d > %d = %b\n", a, b, a > b);
        System.out.printf("%d >= %d = %b\n", a, b, a >= b);
        System.out.printf("%d < %d = %b\n", a, b, a < b);
        System.out.printf("%d <= %d = %b\n", a, b, a <= b);
        System.out.printf("%d == %d = %b\n", a, b, a == b);
        System.out.printf("%d != %d = %b\n", a, b, a != b);
 
cs

 

 

 

 

논리 연산자

 

&&(and)     ||(or)     !(not)


- &&, || : 2항 연산자
- !      : 1항 연산자
- 연산의 결과가 boolean이다.

 

1
2
3
4
5
6
7
8
        boolean b1 = true;
        boolean b2 = false;
        
        System.out.println(b1 && b2);  //false
        System.out.println(b1 || b2);  //true
        System.out.println(!b1);        //false
        System.out.println(!b2);       //true
 
cs

 

 

 

대입 연산자

 

 =
 +=, -=, *=, /=, %= : 복합 대입 연산자


- 연산자 우선순위가 모든 연산자 중 가장 낮음

 

1
2
3
4
5
6
7
8
9
        int a = 10;
        
        //기존 a값에 1을 누적 
        a = a + 1;
        System.out.println(a);
        
        a += 1// a = a + 1  ---> 둘다 같은 문장임
        System.out.println(a);
 
cs

 

 

 

 

증감 연산자

 

 ++(증가 연산자, 플러스플러스), --(감소 연산자, 마이너스마이너스)

- 1항 연산자, 단항 연산자
    a. ++n : 전위 배치(전치 연산자). 연산자 우선 순위가 가장 높음
    b. n++ : 후위 배치(후치 연산자). 연산자 우선 순위가 가장 낮음

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        a = 10;
        
        a = a + 1;  //11
        a += 1;     //12
        ++a;        //13
        //위의 세 문장이 다 똑같은 문장이다.(누적되어서 출력값이 다르게 나오는 것 뿐)
        System.out.println(a);
        
        System.out.println();
 
        a = a -1;  //12
        a -= 1;    //11
        --a;       //10
        System.out.println(a);
 
cs

 

 

 

 

조건 연산자

 

 A ? B : C 

 

1
2
3
4
5
6
        
        boolean flag = true;
            
        String result = flag ? "참" : "거짓";
        System.out.println(result);
        
cs

 

 

 


 

 

 

 

'JAVA > Casting + Operator' 카테고리의 다른 글

[JAVA-Eclipse] Casting 형변환  (0) 2021.12.08
Comments