CodeGym /Java блог /Случаен /Цялочислено деление Java
John Squirrels
Ниво
San Francisco

Цялочислено деление Java

Публикувано в групата

Какво е целочислено деление в Java?

Делението в Java се извършва нормално като обикновеното деление в математиката or реалния живот. Въпреки това, той просто изхвърля остатъка. Например, ако разделите 9 на 2, частното е 4, а остатъкът е 1. Цялочислено деление Java - 1В реалния живот отговорът е 4,5 or 4½. Ако извършите същото изчисление с int в Java, отговорът ви ще бъде 4. Той не е закръглен до най-близкото цяло число (като ~4,5 = 5) 1, тъй като остатъкът се изхвърля.

Пример 1 [ Остатъкът е 0 ]

Целочисленото деление в Java работи перфектно за всички случаи, когато делителят напълно разделя дивидента ( цяло число, разделено на x цяло число). Отговорът е цяло число и целочисленият тип данни може да го побере без препълване. Следователно няма загуба на данни. Например, погледнете следния фрагмент.

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);
	}
}
Изход
100/5 = 20 143/11 = 13

Пример 2 [ Остатъкът не е 0 ]

За всички случаи на деление, при които остатъкът не е 0, крайният резултат ще бъде отрязан до най-голямото делимо цяло число (9/2 = 4). Това ще бъде показано в предстоящия пример. Може да има моменти, когато ви трябва действителното частно в десетичен знак. В този случай можете да използвате типа данни float or double. Въпреки това, ако искате да закръглите частното до най-близкото int, можете да направите следното.

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);

	}
}
Изход
Цяло деление 9 / 2 = 4 Математическо деление 9,0 / 2 = 4,5 Закръглено цяло деление 9,0 / 2 = 5

Обяснение

Случай I и случай II се обясняват сами. За случай III можете да го разбиете на следните стъпки.
  • Първо, трябва да преобразувате дивидента в двойно.

  • Извършете обикновеното разделяне на Java int.

  • Закръглете коефициента с помощта на метода Math.round() .

  • Използвайте дълъг тип данни, за да съхраните закръгления коефициент.

  • Ето! Имате желания резултат като коефициент.

Заключение

Делението с цели числа в Java може да изглежда трудно в началото. Но с малко практика и повторение можете да го овладеете. Практикувайте колкото можете повече. Чувствайте се свободни да се върнете към нашата публикация, когато пожелаете. наздраве! За да затвърдите наученото, ви предлагаме да гледате видео урок от нашия курс по Java
Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION