This feels like a stupid question, but I can't find the answer anywhere in the Java documentation. If I declare two ints and then divide them, what exactly is happening? Are they converted to floats/doubles
first, divided, then cast back to an integer
, or is the division "done" as integers?
Also, purely from experimentation, integer division seems to round the answer towards zero (i.e. 3/2 = 1
and -3/2 = -1
). Am I right in believing this?
They are being divided in integer arithmetics. So dividing integer a
by integer b
you get how many times b
fits into a
. Also a % b
will give you a remainder of a division. So (a / b ) * b + a % b = a