Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 循环的显式转换_Java_Loops_Casting_Double - Fatal编程技术网

Java 循环的显式转换

Java 循环的显式转换,java,loops,casting,double,Java,Loops,Casting,Double,“编写一个程序,从用户处读取一个双精度值,并将其存储在双精度变量中。然后,它将执行显式转换以将其分配给浮点变量。然后计算这两个变量之间差值的绝对值。在循环中执行此操作,而此差异低于循环之前初始化为1.0的阈值。在每次迭代结束时,通过将阈值除以10.0来降低阈值。” 给我这个例子是为了解决我的java类,我能够读取和存储双变量,但是我对“显式转换”失去了兴趣,无法将它分配给浮点变量“.我还不知道显式强制转换是/做什么,因为我的教科书对它的定义比任何东西都要少。我想要一个关于显式强制转换是做什么的定

“编写一个程序,从用户处读取一个双精度值,并将其存储在双精度变量中。然后,它将执行显式转换以将其分配给浮点变量。然后计算这两个变量之间差值的绝对值。在循环中执行此操作,而此差异低于循环之前初始化为1.0的阈值。在每次迭代结束时,通过将阈值除以10.0来降低阈值。”


给我这个例子是为了解决我的java类,我能够读取和存储双变量,但是我对“显式转换”失去了兴趣,无法将它分配给浮点变量“.我还不知道显式强制转换是/做什么,因为我的教科书对它的定义比任何东西都要少。我想要一个关于显式强制转换是做什么的定义,以及如何以问题想要的方式准确地编码它的定义

大家好,欢迎使用java编码

类型转换意味着将变量分配给新类型,即使它是预定义的

乘双人

double number = 4.5;
现在你要把这个数字存储为整数

int falsyNumber = number;
这将产生一个错误,因为您的整数不能存储小数点后面的值。编译器可能会在默认情况下停止执行,并调用“如果这样做会丢失信息,是故意的吗?”

因此,你需要说“是的,我不在乎那些丢失的数据,我需要额外的内存空间,我可以用它来释放…”

因此,必须显式地将该变量类型转换为整数

int falsyNumber = (int)number;
括号中包含该类型,数字的使用与该类型相同(至少在此行中)。 因此,编译器不会在这里显示错误,但您的输出将是
4
,因为您丢失的数据显然不能用整数存储

很多字,为了这么简单的一句话。您可以键入双精度值并将其存储到float类型的(另一个)变量中

double input = 3.983243242423;                   // that is your input stored
float numberToCalulateWith = (float)input;       // here it truncates eventually

可以说,在某些情况下,差异不会那么明显。因为您将“4”存储为double,然后将其转换为float,所以仍然会有一个4。但是,如果这不是一个简单的数字,您将丢失数据,而本练习的目标是从何时开始查看您丢失的数据。

非常感谢!我现在肯定更清楚地理解了这个概念。遵循例如
FalsyNumber
应该是
FalsyNumber
。非常感谢,自动更正已经处理好了。肯定换了。