CodeGym /Java Blogu /Rastgele /Tamsayı bölümü Java
John Squirrels
Seviye
San Francisco

Tamsayı bölümü Java

grupta yayınlandı

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. Tamsayı bölümü Java - 1Gerçek hayatta cevap 4,5 veya 4½'dir. Aynı hesaplamayı Java'da int ile yaparsanız cevabınız 4 olacaktır. En yakın tamsayıya yuvarlanmaz (~4.5=5 gibi) 1 kalan atıldığı için.

Ö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.

Çözüm

Java tamsayılarıyla bölme, başlangıçta zor görünebilir. Ancak biraz pratik ve tekrarla, onu elde edebilirsiniz. Yapabildiğiniz kadar pratik yapın. Dilediğiniz zaman yazımıza geri dönebilirsiniz. Şerefe! Öğrendiklerinizi pekiştirmek için Java Kursumuzdan bir video dersi izlemenizi öneririz.
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION