几个JAVA基础问题·我是新手

来源:百度知道 编辑:UC知道 时间:2024/06/04 09:29:28
1:{ int a = 365;

byte b;

b = (byte)a;
得出b=109为什么?}
2:{
…………
int baiwei;
…………
……
int random = (int) (Math.random()*10);
if (baiwei = random)//这里提示:“类型不匹配,不能从int转换为boolean”为什么?

1.byte类型只占1个字节,长度为8位,最大值就是127,int类型占有4个字节,长度32位,365转二进制为1,0110,1101将365强制转换为byte类型就只能保留右边的8位即0110,1101。转换为int就是109。
2.第二题if(判断式)中的判断式必须是boolean的返回值。例如4>5或者5==6,其中的等于号写成==是判断,=是赋值运算符。所以类型不匹配。

1楼的已经答得很好了!