int x=(byte)128;输出变量x的值是多少?为什么?

还有一个问题:程序运行时,用户从键盘输入abc,程序提示怎样的错误?

是-128,因为你是从小类型(byte)向大类型(int)转型,值不变的,但是int型的最高位是1吧,所以是负的
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-10-16
输出128,因为本身int型的取值范围比byte类型大,所以所以类型能够自动转换,也就是说int 类型能够容纳128这个数本回答被提问者采纳
第2个回答  2007-10-16
是128
如果你定义的是数值型,输入abc的话会提示类型转换错误~~
第3个回答  2007-10-16
会报错 byte 类型-128~127 之间

int x=(byte)128;输出变量x的值是多少?为什么?
是-128,因为你是从小类型(byte)向大类型(int)转型,值不变的,但是int型的最高位是1吧,所以是负的

int x=(byte)128;输出变量x的值是多少?为什么?
输出128,因为本身int型的取值范围比byte类型大,所以所以类型能够自动转换,也就是说int 类型能够容纳128这个数

int a=(byte)128;为什么a的值是-128?
因为byte最大是127,根据计算机计算原理,如果超出,他会返回到一个最小的值上去,即:-128 这个就好像是一个数字环境,数字环的结构式这样的:-128,-127,-126,...0,1,2,3,...126,127,-128,-127,-126 大致意思就是这样 楼主采纳我的答案吧..哈哈哈 ...

int a=(byte)128;为什么a的值是-128?
byte a=(byte)128;因为整型数128十六进制为0080h,强制转换后,高八位去掉结果将变为:80h,所以为-128 byte b=(byte)(-129);因为整型数-129十六进制为ff7fh,强制转换后,高八位去掉,结果为:7fh,所以为127

byte a = (byte) 129 如果运上述语句,为什么输出的b的值为-127
byte范围 -128~127之间。最傻瓜式的办法,用二进制来转换,求出补码,不推荐。这题可以巧算,当数字为127的时候,不溢出,相当于最大的正数。128的时候,溢出,相当于最小的负数,也就是-128。所以,129就是-127

JAVA里int型强制转化成byte型
因为java的byte类型只占一个字节,即2的8次方,表示的范围是0~127,128溢出了当做0,129为1,以此类推。所以 257转换为byte后的值为:257-128-128=1323转换为byte后:323-128-128=67

java 中 int转成 byte【2】
因为在java中,int类型的占4个字节,而byte占1个字节,所以int类型转化为byte类型时会出现位丢失情况,即将int的低8位作为byte类型的值。int型变量的值为257,对应的二进制是100000001,后8位是00000001,第一个0表示符号位,表示正数,所以变量x的值为1。

...但为什么把int变量赋给byte变量需要强制转换,同样是int。
是这样的,整型直接量在没有加后缀的时候默认为int,但是当它被赋值给某个变量(这个变量是short型,int型,byte型中的一种)时,则会自动转化成相对应的类型。比如说byte a=127;这里的127在没有赋值给a时默认是int型,赋值时自动调为byte型,并赋给a。但是,如果出现这样的情况:int a=12;\/\/...

JAVA下列语句的输出应该是( ),为什么?
。这道题的意思是如果x>4成立的话就等于88.8,如果不成立就返回8.0,注意是double类型而不是int,至于为什么呢,是因为你前面那个数写了double类型,后面的数会自动升级为double类型 两个数的类型尽量保持一致 1.隐式类型转换(自动类型转换)byte-->short-->int-->long-->float-->double ...

在Java中,byte类型数据在运算之前要转换成int类型数据。
首先你要明确一点byte类型表示一个字节8位,用来表示一些基本字符,int是长度为32位的整形数。当你在Java中给一个byte类型数据初始化时,你可以用字符,也可以用整数,但是这个整数必须要在-128和127之间(因为byte是8位),它会将这个数转化为一个字符然后存放起来,因此你的前两行代码是没有问题的...

相似回答