A-A+

假设有下列声明语句: int i j; loat x y; double u v; 下面__

2022-08-12 20:08:33 问答库 阅读 197 次

问题详情

假设有下列声明语句: int i,j; loat x,y; double u,v; 下面______个赋值是合法的? ()
A.i=x;
B.x=u+y;
C.x=23.4+j*y;
D.v=(int)x;

请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
该题考查的是变量的赋值。赋值是用等号运算符(=)进行的。它的意思是“取得右边的值,把它复制到左边”。右边的值可以是任何常数、变量或者表达式,只要能产生一个值就行。但左边的值必须是一个明确的、已命名的变量。也就是说,它必须有一个物理性的空间来保存右边的值。举个例子来说,可将一个常数赋给一个变量(A=4;),但不可将任何东西赋给一个常数(比如不能4=A)。Java还允许将一种类型的变量赋给另一个变量,同时不进行显示造型同样可以进行某些特定的赋值转换,允许的转换包括:byte→short→int→long→loat→double和char→int。而选项A中loat型不能赋给int型,选项B中double型不能赋给loat型,选项C中经过转变后也是把double型赋给loat型了,选项D中使用了强制转换,把x强制转换成int型,所以是正确的。

考点:语句,声明