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;

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

SuspiciousIntegerDivAssignment
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Java | Probable bugs

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

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Java, 241.18072

Last modified: 18 June 2024