Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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 - Fatal编程技术网

Java 涉及多种变量类型的计算

Java 涉及多种变量类型的计算,java,Java,对于涉及多种类型变量(如整数和双精度)的计算,以下方法是否正确,不会导致任何隐藏错误或信息丢失 int a = 2; double b = 3.0; double c; c = (double)(a+b); c = (double)(a/b); 另一种情况是: int x =2; int y = 3; double z; z=x/y不会给我正确的值,比如0.666,如何处理这种情况?当执行浮点和整数之间的运算时,结果是浮点。通常,结果将是更大的数据类型

对于涉及多种类型变量(如整数和双精度)的计算,以下方法是否正确,不会导致任何隐藏错误或信息丢失

    int a = 2;
    double b = 3.0;
    double c;
    c = (double)(a+b);
    c = (double)(a/b);
另一种情况是:

int x =2;
int y = 3;
double z;

z=x/y不会给我正确的值,比如0.666,如何处理这种情况?

当执行浮点和整数之间的运算时,结果是浮点。通常,结果将是更大的数据类型。如果您想要十进制精度,那么您首先要做的就是正确的。你甚至不需要演员

在第二种情况下,您可以做几件事

z = x/(y*1.0) // convert the variable upon calulation

 float x =2; // convert the variable itself