Java 에서의 정수 나눗셈

JavaBeginner
지금 연습하기

소개

이 랩에서는 Java 에서 정수 나눗셈에 대해 배우게 됩니다. 나눗셈은 한 양을 다른 양으로 나누는 수학적 연산입니다. Java 에는 정수 나눗셈을 수행하는 다양한 방법이 있으며, 그 차이점을 이해하는 것이 중요합니다.

환경 설정

터미널을 열고 다음 명령을 사용하여 새로운 Java 파일을 생성합니다.

touch ~/project/IntegerDivision.java

간단한 정수 나눗셈

이 단계에서는 Java 에서 간단한 정수 나눗셈을 수행하는 방법을 배우게 됩니다. 간단한 정수 나눗셈은 제수와 피제수 모두 정수이고 결과도 정수인 경우입니다.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 25;
        int b = 5;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

여기서는 두 개의 정수 ab를 정의하고, / 연산자를 사용하여 나눗셈 연산을 수행합니다. 결과는 정수 c에 저장됩니다. 마지막으로, System.out.println()을 사용하여 결과를 출력합니다.

코드를 실행하려면 다음 명령을 사용하십시오.

javac IntegerDivision.java && java IntegerDivision

출력 결과는 다음과 같아야 합니다.

25 / 5 = 5

정수 나눗셈에서 데이터 손실

이 단계에서는 정수 나눗셈에서 정밀도가 손실될 수 있는 상황을 처리하는 방법을 배우게 됩니다.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

이 경우, 두 개의 정수 ab를 정의하지만, 정밀도가 손실되기 때문에 다른 결과를 얻습니다. 이 연산의 결과는 3.3333이 아니라 3입니다. 왜냐하면 우리는 정수를 다루고 있기 때문입니다.

코드를 실행하려면 2 단계와 동일한 명령을 사용하십시오.

javac IntegerDivision.java && java IntegerDivision

출력 결과는 다음과 같아야 합니다.

10 / 3 = 3

Double 데이터 타입으로 나눗셈

이 단계에서는 정밀도를 유지해야 하는 상황을 처리하는 방법을 배우게 됩니다.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = (double) a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

여기서는 두 개의 정수 ab를 정의합니다. 하지만 c의 데이터 유형을 int에서 double로 변경합니다. 또한 a를 double 로 캐스팅하여 나눗셈 연산이 double 정밀도를 사용하여 수행되도록 합니다. 마지막으로, 결과를 출력합니다.

코드를 실행하려면 2 단계와 동일한 명령을 사용하십시오.

javac IntegerDivision.java && java IntegerDivision

출력 결과는 다음과 같아야 합니다.

10 / 3 = 3.3333333333333335

일반적인 Double 데이터 타입으로 나눗셈

이 단계에서는 정밀도를 유지해야 하는 상황을 처리하는 또 다른 방법을 배우게 됩니다.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = a / 3.0;
        System.out.println(a + " / 3.0 = " + c);
    }
}

여기서는 피연산자 중 하나를 3 대신 3.0을 사용하여 double로 변경합니다. 이렇게 하면 adouble 정밀도를 사용하여 나누어지도록 합니다.

코드를 실행하려면 2 단계와 동일한 명령을 사용하십시오.

javac IntegerDivision.java && java IntegerDivision

출력 결과는 다음과 같아야 합니다.

10 / 3.0 = 3.3333333333333335

일반적인 Double 데이터 타입으로 여러 번 나눗셈

이 단계에서는 double 정밀도를 사용하여 여러 번의 나눗셈을 수행하는 방법을 배우게 됩니다.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = a / 3.0;
        double d = 2.0 / b;
        System.out.println(a + " / 3.0 = " + c);
        System.out.println("2.0 / " + b + " = " + d);
    }
}

두 개의 double 변수 cd를 정의하고 두 번의 나눗셈을 수행합니다. 앞서 언급했듯이, 첫 번째 나눗셈에서 double 정밀도를 보장하기 위해 3.0을 사용합니다. 두 번째 나눗셈에서는 2.0을 사용하여 double 정밀도를 보장합니다.

코드를 실행하려면 2 단계와 동일한 명령을 사용하십시오.

javac IntegerDivision.java && java IntegerDivision

출력 결과는 다음과 같아야 합니다.

10 / 3.0 = 3.3333333333333335
2.0 / 3 = 0.6666666666666666

나눗셈 할당

이 단계에서는 나눗셈 할당 연산자 /=를 사용하여 나눗셈을 수행하는 방법을 배우게 됩니다. 이는 x = x / y의 축약 표기법입니다.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = 2.0;
        c /= b;
        System.out.println("2.0 / " + b + " = " + c);
    }
}

int 변수 a, int 변수 b, 그리고 double 변수 c를 정의합니다. c2.0으로 초기화합니다. 그런 다음 나눗셈 할당 연산자를 사용하여 cb로 나눕니다. 마지막으로 결과를 출력합니다.

코드를 실행하려면 2 단계와 동일한 명령을 사용하십시오.

javac IntegerDivision.java && java IntegerDivision

출력 결과는 다음과 같아야 합니다.

2.0 / 3 = 0.6666666666666666

나머지 연산자를 사용한 정수 나눗셈

이 단계에서는 나눗셈 연산의 나머지를 반환하는 나머지 연산자 %에 대해 배우게 됩니다.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        int c = a % b;
        System.out.println(a + " % " + b + " = " + c);
    }
}

int 변수 ab를 정의하고, 나머지 연산자 %를 사용하여 나눗셈 연산의 나머지를 구합니다. 결과는 int 변수 c에 저장되며, 결과를 출력합니다.

코드를 실행하려면 2 단계와 동일한 명령을 사용하십시오.

javac IntegerDivision.java && java IntegerDivision

출력 결과는 다음과 같아야 합니다.

10 % 3 = 1

0 으로 나누기

이 단계에서는 0 으로 나눌 때 어떤 일이 발생하는지 배우게 됩니다.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

두 개의 int 변수 ab를 정의하고, ab로 나누려고 시도합니다. 0 으로 나누는 것은 허용되지 않으므로 Java 는 ArithmeticException이라는 런타임 예외를 발생시킵니다.

코드를 실행하려고 하면 다음과 같은 오류 메시지가 표시됩니다.

Exception in thread "main" java.lang.ArithmeticException: / by zero
 at IntegerDivision.main(IntegerDivision.java:5)

0 으로 나누기 오류 수정

이 단계에서는 조건문을 사용하여 0 으로 나누기 오류를 수정하는 방법을 배우게 됩니다.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        if (b != 0) {
            int c = a / b;
            System.out.println(a + " / " + b + " = " + c);
        } else {
            System.out.println("Cannot divide by zero");
        }
    }
}

여기서는 if 문을 사용하여 b가 0 과 같지 않은지 확인합니다. b가 0 이 아니면 나눗셈 연산을 수행하고 결과를 출력합니다. 그렇지 않으면 오류 메시지를 출력합니다.

코드를 실행하려면 2 단계와 동일한 명령을 사용하십시오.

javac IntegerDivision.java && java IntegerDivision

출력 결과는 다음과 같아야 합니다.

Cannot divide by zero

요약

이 랩에서는 Java 에서 정수 나눗셈을 수행하는 다양한 방법에 대해 배웠습니다. 정밀도를 잃을 수 있는 상황을 처리하는 방법, double 정밀도로 나눗셈을 수행하는 방법, 그리고 나머지 연산자를 사용하는 방법을 배웠습니다. 또한 조건문을 사용하여 0 으로 나누기 오류를 처리하는 방법도 배웠습니다.