it can be used on classes, interfaces and non-abstract methods. when applied to a method, it causes all calculations inside the method to use strict floating-point math. when applied to a class, all calculations inside the class use strict floating-point math. compile-time constant expressions must always use strict floating-point behavior.