Это похоже на глупый вопрос, но я не могу найти ответ нигде в документации Java. Если я объявляю два ints и затем их разделяю, что именно происходит? Преобразуются ли они в floats/doubles
сначала, разделены, затем отбрасываются на integer
или деление «сделано» как целые числа?Целочисленное деление в Java
Кроме того, чисто из экспериментов, целочисленное деление, похоже, округляет ответ к нулю (то есть 3/2 = 1
и -3/2 = -1
). Правильно ли я верю в это?
Преобразование не происходит. Они делятся как ints. И '-3/2 == -1'. –
http://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.2.2 – azurefrog
простой способ мышления об этом состоит в том, что они разделены и что-то меньшее, чем полный int усечен. –