Can somebody explain to me why the following code compiles and runs: double x; x=24.0/0; The answer says it will compile and run because floating point nummers don't produce a divide-by-zero ArithmeticException. They will give a result which is Not a Number value. But for me it looks like 24.0 is a double and not a floating point number because it has no f attached to it.
Hi Jeroen, Welcome to Javaranch . Both float(32 bits long) and double(64 bits long) are floating point values (that is both are decimal values) with different ranges. Default floating point value is 'double'. For example float f = 12.0, this will give a compile time as error as '12.0' denotes a double value.to make this statement compile we need to modify it as float f = 12.0F. So the above answer mentioned is right. reshma