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.


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

Here you can find the description of settings available for the Suspicious integer division assignment inspection, and the reference of their default values.

Report suspicious but possibly exact divisions

Default: Selected

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024