Inspectopedia Help

Suspicious integer division assignment

Reports assignments whose right side is a division that shouldn't be truncated to integer.

While occasionally intended, this construction is often buggy.

Example:

int x = 18; x *= 3/2; // doesn't change x because of the integer division result

This code should be replaced with:

int x = 18; x *= 3.0/2;

In the inspection options, you can disable warnings for suspicious but possibly correct divisions, for example, when the dividend can't be calculated statically.

void calc(int d) { int x = 18; x *= d/2; }

New in 2019.2

Inspection options

Option

Type

Default

Report suspicious but possibly exact divisions

Checkbox

true

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023