第1个回答 2013-01-06
按照优先级来分别计算这几个表达式的值,y+=z--/++x
相当于:z-- ; //z 使用 后-1,也就是说用来除的时候z=3
++x; //x 加1 此时x=2
z/x =3/2=1(任何一个为整形), =1.5 全为浮点型
y += z/x ; 即 y+=1(或1.5);
执行完这一句 y=3(3.5);
所以 此时
x=2
y=3(3.5)
z=2来自:求助得到的回答
第1个回答 2013-01-06
如果是整型变量
表达式的值就是y最后的值。
答案应该是3,需要注意的就是两个整型数相除的时候,结果还是整型,小数部分被截掉了
这样的题说实话,没有太大的意义,真正在做项目写程序的时候,如果用上这样的表达式,估计得被领导开除,哈哈。
第2个回答 2013-01-06
这道题主要考你java的8种基本数据类型,
1.byte(字节) 2.shot(短整型) 3.int(整型)4.long(长整型)5.float(浮点型) 6.double(双精度)7.char(字符型) 8.boolean(布尔型)
本人以为这道题主要取决于y的类型,
(1)如果y的类型是byte,shot,int,long,则x=2,y=3,z=2,因为会舍掉小数部分
(2)如果y的类型是float,double,则x=2,y=3.5,z=2,会保留小数部分
(3)如果y的类型是char,则会按照asc码进行输出
第3个回答 2013-01-06
这x=1,y=2,z=3 ,根本通不过编译,如果勉强说成int x = 1 , y = 2 , z = 3; 这题还有的做,或者double,float都行
int 表达式的值为3
double 3.5
float 3.5
他可能考的就是+=,++,--的问题,看一下算术符优先表,记得++在后面就先算值后加,在前面就先加后计算。