CodeGym /Java blog /Véletlen /Java egész osztás
John Squirrels
Szint
San Francisco

Java egész osztás

Megjelent a csoportban

Mi az egész számok felosztása a Java nyelven?

Az osztás a Java nyelvben általában úgy történik, mint a matematikai vagy a valós életben a szokásos osztás. A maradékot azonban csak eldobja. Például, ha elosztja 9-et 2-vel, a hányados 4, a maradék pedig 1. Java egész osztás - 1A való életben a válasz 4,5 vagy 4½. Ha ugyanazt a számítást végezzük az int-vel Java nyelven, a válaszunk 4 lesz. Nem kerekítjük a legközelebbi egész számra (mint például ~4,5 = 5), mivel a maradékot kidobjuk.

1. példa [ A maradék 0 ]

Az egész számok felosztása a Java-ban tökéletesen működik minden olyan esetben, amikor az osztó teljesen felosztja az osztalékot (egész osztva x egész számmal). A válasz egy egész szám, és az egész adattípus túlcsordulás nélkül képes megtartani. Így nincs adatvesztés. Például nézze meg a következő részletet.

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);
	}
}
Kimenet
100/5 = 20 143 / 11 = 13

2. példa [ A maradék nem 0 ]

Minden olyan osztási esetben, ahol a maradék nem 0, a végeredmény a legnagyobb osztható egész számra lesz levágva (9/2 = 4). Ez a következő példában lesz bemutatva. Előfordulhat, hogy szüksége van a tényleges hányadosra tizedesben. Ebben az esetben használhatja a float vagy a dupla adattípust. Ha azonban a hányadost a legközelebbi int-re szeretné kerekíteni, akkor a következőket teheti.

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

	}
}
Kimenet
Egész osztás 9 / 2 = 4 Matematika osztás 9,0 / 2 = 4,5 Kerekítés int osztás 9,0 / 2 = 5

Magyarázat

Az I. és a II. eset magától értetődő. A III. eset esetében a következő lépésekkel bonthatja le.
  • Először az osztalékot duplára kell konvertálnia.

  • Hajtsa végre a szokásos Java int felosztást.

  • Kerekítse a hányadost a Math.round() metódussal.

  • Használjon hosszú adattípust a kerekített hányados tárolásához.

  • Nesze! Megvan a kívánt kimenet hányadosaként.

Következtetés

A Java egész számokkal való osztás kezdetben bonyolultnak tűnhet. De némi gyakorlással és ismétléssel meg lehet kapaszkodni. Gyakorolj annyit, amennyit csak tudsz. Nyugodtan térjen vissza bejegyzésünkhöz, amikor csak úgy érzi. Egészségére! A tanultak megerősítése érdekében javasoljuk, hogy nézzen meg egy videóleckét a Java-tanfolyamról
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION