ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] 자바의 연산자 (곱셈, 나눗셈, 덧셈, 비트연산자, 삼항연산자)
    Java 2023. 7. 14. 11:40
    728x90
    반응형

     

    자바의 곱셈, 나눗셈 연산자, 비트연산자, 삼항연산자

     

     

    🍊 곱셈 연산자  *

    • 곱셈 연산자는 두 개의 피연산자를 곱하여 결과를 반환합니다.
    • 피연산자는 숫자형 데이터 타입이어야 합니다.
    int num1 = 5;
    int num2 = 3;
    int result = num1 * num2;
    System.out.println(result); // 출력: 15

     

     

     


    🍊 나눗셈 연산자  /

    • 나눗셈 연산자는 첫 번째 피연산자를 두 번째 피연산자로 나눈 결과를 반환합니다.
    • 나누는 수 또는 나눠지는 수 중 하나 이상이 실수형일 경우 결과는 실수형으로 반환됩니다.
    • 정수형을 정수형으로 나눌 경우 소수점 이하는 버려집니다.
    int num1 = 10;
    int num2 = 4;
    int result = num1 / num2;
    System.out.println(result); // 출력: 2

     

    📌 주의해야 할 부분

    자바에서는 int형끼리 한 계산식의 결과가 double이 될 경우에도 int로 반환합니다.

     

    예를 들어 아래 코드를 봅시다.

    int num = 1 / 3;

    위와 같은 연산을 행할 때 자바스크립트나 파이썬과 같은 동적 타입 언어의 경우에는 num의 결과로 0.33333..이 나옵니다. 이는 int형 변수가 double로 자동 변환되기 때문입니다. 자바에서는 그런 것이 허용되지 않는 정적 타입 언어이기 때문에 0으로 반환됩니다.

     

     

     

     


    🍊 더하기 연산자  /

    • 더하기 연산자는 첫 번째 피연산자를 두 번째 피연산자로 더한 결과를 반환합니다.
    int num1 = 10;
    int num2 = 5;
    int result = num1 + num2;
    System.out.println(result); // 출력: 15

     

     

     


     

    🍊 나머지 연산자  %

    • 나머지 연산자는 첫 번째 피연산자를 두 번째 피연산자로 나눈 나머지를 반환합니다.
    • 주로 어떤 수가 짝수인지, 홀수인지 판단할 때 사용됩니다.
    int num1 = 10;
    int num2 = 3;
    int result = num1 % num2;
    System.out.println(result); // 출력: 1

     

     

     


    🍊 비트 이동 연산자 

    📍 비트 좌측 이동 연산자  <<

    주어진 변수의 비트를 왼쪽으로 이동시킵니다. 이동된 비트는 0으로 채워집니다.

    int a = 8;        // 8의 이진 표현은 0000 1000
    int b = a << 2;   // a의 비트를 왼쪽으로 2칸 이동
    
    // 결과: b = 32
    // 이동 후 a의 이진 표현: 0010 0000

     

     

     

    📍 비트 우측 이동 연산자  >>

    주어진 변수의 비트를 오른쪽으로 이동시킵니다. 이동된 비트는 부호 비트(최상위 비트)와 동일한 값으로 채워집니다.

    int a = -16;     // -16의 이진 표현은 1111 0000
    int b = a >> 3;  // a의 비트를 오른쪽으로 3칸 이동
    
    // 결과: b = -2
    // 이동 후 a의 이진 표현: 1111 1110

     

     

     


     

    🍊 삼항연산자

    삼항 연산자는 자바에서 조건문을 간단하게 표현할 때 사용되는 연산자입니다.

    조건식 ? 표현식1 : 표현식2

    조건식은 true 또는 false를 평가할 수 있는 식이며, 표현식1과 표현식2는 조건식이 true일 때와 false일 때 각각 실행되는 표현식입니다.

    int a = 10;
    int b = 5;
    
    int max = (a > b) ? a : b;
    // a > b가 true이므로 max에는 a의 값인 10이 할당됩니다.
    
    System.out.println(max); // 출력: 10

    위의 예제에서는 a와 b를 비교하여 (a > b) 조건식을 평가합니다. 이 조건식이 true이면 삼항 연산자는 표현식1인 a를 반환하고, false이면 표현식2인 b를 반환합니다. 따라서 max 변수에는 a의 값인 10이 할당되어 출력 결과는 10이 됩니다.

     

     

     

     


    🍊 복합대입연산자

    📍 덧셈 후 할당 (+=)

    변수에 값을 더한 후 그 결과를 변수에 다시 할당합니다.

    예를 들어, 다음은 덧셈 후 할당 연산자의 사용 예입니다:

    javaCopy code
    int a = 5;
    a += 3; // a = a + 3;
    
    // 결과: a = 8
    
    

     

    📍 뺄셈 후 할당 (=)

    변수에서 값을 뺀 후 그 결과를 변수에 다시 할당합니다.

    예를 들어, 다음은 뺄셈 후 할당 연산자의 사용 예입니다:

    javaCopy code
    int a = 10;
    a -= 4; // a = a - 4;
    
    // 결과: a = 6
    
    

     

    📍 곱셈 후 할당 (=)

    변수에 값을 곱한 후 그 결과를 변수에 다시 할당합니다.

    예를 들어, 다음은 곱셈 후 할당 연산자의 사용 예입니다:

    javaCopy code
    int a = 3;
    a *= 2; // a = a * 2;
    
    // 결과: a = 6
    
    

     

     

    📍 나눗셈 후 할당 (/=)

    변수를 값으로 나눈 후 그 결과를 변수에 다시 할당합니다.

    예를 들어, 다음은 나눗셈 후 할당 연산자의 사용 예입니다:

    javaCopy code
    int a = 10;
    a /= 5; // a = a / 5;
    
    // 결과: a = 2
    
    

     

    📍 나머지 계산 후 할당 (%=)

    변수를 값으로 나눈 나머지를 구한 후 그 결과를 변수에 다시 할당합니다.

    예를 들어, 다음은 나머지 계산 후 할당 연산자의 사용 예입니다:

    javaCopy code
    int a = 15;
    a %= 4; // a = a % 4;
    
    // 결과: a = 3
    
    

    복합 대입 연산자를 사용하면 변수 값을 간결하게 수정할 수 있으며, 코드의 가독성을 높일 수 있습니다. 이 연산자들은 변수 값을 수정하는 일반적인 연산들을 축약하여 표현할 수 있어 편리합니다.

     

     

     


    🍊 비트연산자

    📍 비트 AND 연산자 (&)

    • 비트 AND 연산자는 두 개의 피연산자의 각 비트를 비교하여 둘 다 1인 경우에만 결과 비트를 1로 설정합니다.

    예제 코드:

    javaCopy code
    int num1 = 5;   // 0101
    int num2 = 3;   // 0011
    int result = num1 & num2;
    System.out.println(result); // 출력: 1 (0001)
    
    

     

    📍 비트 OR 연산자 (|)

    • 비트 OR 연산자는 두 개의 피연산자의 각 비트를 비교하여 하나라도 1인 경우 결과 비트를 1로 설정합니다.

    예제 코드:

    javaCopy code
    int num1 = 5;   // 0101
    int num2 = 3;   // 0011
    int result = num1 | num2;
    System.out.println(result); // 출력: 7 (0111)
    
    

     

    📍 비트 XOR 연산자 (^)

    • 비트 XOR 연산자는 두 개의 피연산자의 각 비트를 비교하여 서로 다른 경우 결과 비트를 1로 설정합니다.

    예제 코드:

    javaCopy code
    int num1 = 5;   // 0101
    int num2 = 3;   // 0011
    int result = num1 ^ num2;
    System.out.println(result); // 출력: 6 (0110)
    
    

     

     

    📍 비트 NOT 연산자 (~)

    • 비트 NOT 연산자는 단항 연산자로, 피연산자의 각 비트를 반전시킵니다.

    예제 코드:

    javaCopy code
    int num = 5;    // 0101
    int result = ~num;
    System.out.println(result); // 출력: -6 (1010)
    
    

    비트 연산자는 비트 단위의 연산을 수행하므로, 특정 비트 패턴에 대한 조작이나 플래그 설정 등에 사용됩니다. 주의할 점은 비트 연산자는 정수형 데이터에만 적용되며, 정수형 데이터를 비트 단위로 다룰 때 유용하게 활용할 수 있습니다. 적절한 비트 연산자의 활용을 통해 효율적인 데이터 조작과 다양한 연산을 수행할 수 있습니다.

     

     

     


    🍊 마무리

    오늘은 자바의 연산자에 대해서 알아보았습니다. 문법은 다른 언어들과 크게 차이는 없지만 정적 타입 언어라는 점은 주의해서 사용해야 할 것 같네요. 다음 포스팅으로는 반복문과 조건문을 알아볼게요 👀

    LIST
Designed by Tistory.