Java'da tamsayı bölme nedir?
Java'da bölme, normalde matematikte veya gerçek hayattaki normal bölme gibi gerçekleşir. Ancak, sadece kalanını atar. Örneğin 9'u 2'ye bölerseniz bölüm 4, kalan 1'dir.
Örnek 1 [Kalan 0]
Java'daki tamsayı bölümü, bölenin bölüneni tamamen böldüğü tüm durumlar için mükemmel çalışır (tamsayı bölü x tamsayı). Cevap bir tam sayıdır ve tamsayı veri tipi taşma olmadan tutabilir. Bu nedenle herhangi bir veri kaybı söz konusu değildir. Örneğin, aşağıdaki parçacığa bir göz atın.
public class IntegerDivision {
public static void main(String[] args) {
int dividend = 100;
int divisor = 5;
int quotient = dividend / divisor;
//Dividend completely divides the divisor
System.out.println(dividend + " / " + divisor + " = " + quotient);
dividend = 143;
divisor = 11;
quotient = dividend / divisor;
//Dividend completely divides the divisor
System.out.println(dividend + " / " + divisor + " = " + quotient);
}
}
Çıktı
100 / 5 = 20 143 / 11 = 13
Örnek 2 [Kalan 0 değil]
Kalanın 0 olmadığı tüm bölme durumları için, nihai sonuç bölünebilir en büyük tamsayıya (9/2 = 4) kesilecektir. Bu, gelecek örnekte gösterilecektir. Gerçek bölüme ondalık olarak ihtiyaç duyduğunuz zamanlar olabilir. Bu durumda, float veya double veri tipini kullanabilirsiniz. Ancak, bölümü en yakın int'ye yuvarlamak isterseniz, aşağıdakileri yapabilirsiniz.
public class IntegerDivision {
public static void main(String[] args) {
int dividend = 9;
int divisor = 2;
int quotient = dividend / divisor;
// Case I - Dividend does not divide the divisor completely
// The quotient is chopped / truncated
System.out.print("Integer division \t\t" );
System.out.println(dividend + " / " + divisor + " = " + quotient);
// Case II - Mathematical or real life division
// Use float or double data type to get the actual quotient
double actualQuotient = (double)dividend / divisor;
System.out.print("Mathematics division \t\t" );
System.out.println((double)dividend + " / " + divisor + " = " + actualQuotient);
// Case III - Integer Division with rounding off
// the quotient to the closest integer
long roundedQuotient = Math.round((double)dividend / divisor);
System.out.print("Round off int division \t\t" );
System.out.println((double)dividend + " / " + divisor + " = " + roundedQuotient);
}
}
Çıktı
Tamsayı bölme 9 / 2 = 4 Matematik bölme 9.0 / 2 = 4.5 Yuvarlama int bölme 9.0 / 2 = 5
Açıklama
Durum I ve Durum II kendiliğinden açıklayıcıdır. Durum III için, aşağıdaki adımlara ayırabilirsiniz.-
İlk olarak, temettüyü ikiye katlamanız gerekir.
-
Normal Java int bölümünü gerçekleştirin.
-
Math.round() yöntemini kullanarak bölümü yuvarlayın .
-
Yuvarlanmış bölümü saklamak için uzun veri türü kullanın.
-
İşte gidiyorsun! Bölüm olarak istediğiniz çıktıya sahipsiniz.
GO TO FULL VERSION