以Java永久类型转换变量,或者仅在发生类型转换的位置局部转换?

时间:2019-06-28 07:20:32

标签: java casting

如果我将变量初始化为一种类型(即int),然后在循环中将其类型强制转换为另一种类型(即double),则该变量会永久保留该类型,还是局部于我所在的位置将变量转换为新类型?

到目前为止,我已阅读的所有材料都描述了类型转换的作用,但并不能完全回答我的问题。因此,在下面的代码中,当我在计算平均值时键入强制转换和计数器时,总和和计数器是否仅为该计算而转换为双精度类型,然后又恢复为整数类型?

int sum = 0;
int counter = 0;
double average = 0;
System.out.println("Type numbers:");

while (true) {
    int userInput = Integer.parseInt(reader.nextLine());
    if (userInput == -1) {
        System.out.println("Thank you and see you later!");
        break;
    } else {
        sum += userInput;
        counter++;
        average = (double)sum/(double)counter;
    }
}

0 个答案:

没有答案