double类型属于浮点数,在计算机中不能直接对浮点数做==和!=判断。浮点数需要只能判断>或者<。因为精度的问题,导致内存中相同的数据有很多表示,所以,x!=3.0恒成立。因此,会形成死循环!
对于实型的数据最好不要进行==或!=的判断。因为在存储实型数据时会存在误差。这样就不能精确的判断是否相等或不等。