www.3112.net > JAVA 中 BytE赋值的问题.新手求教

JAVA 中 BytE赋值的问题.新手求教

这个主要是考各种数值类型的取值范围..byte是比特型,占两个字节,short型占一个字节,byte占两个字节的话,其取值范围就是从-2的十五次方到正的2的十五次方减一;所以选c,知道取值范围,就知道为什么 了.

首先 0xa9的值是 169 所以 a=169-127-128=-86 因为有0的位置 ,所以是-87 下面 Byte.decode,查看源码便可以知道 转成了integer,也就是 169 ,下面判断了 是否 在 -128到 127之间,很明显 ,不在 ,所以报错 !

byte类型属于基本数据类型中的整型,它在java虚拟机内存中的存放位置是栈中,因为java所有的执行过程都在栈中执行,堆和方法区(常量缓冲区、静态区、方法区)是类似仓库的存在用来存放对象和常量的,需要用的时候才去堆和方法区中取.byte类型它在栈中开辟的内存空间大小是1个字节,1个字节相当于8个bite位(比特位),也就是8位0和1组成的空间大小,因为计算机底层是二进制形式存放数据的,这就是byte在java虚拟机栈内存中的存储方式.

byte n=26; long n =26; 这样赋值是对的,但是你说的“用Long赋值”这句话不对.首先Long是一个对象,在jdk1.5之前Long对象不能赋值给long基本类型.在者long赋值给int、short、或者byte,若超过改三个数的最大值时,会溢出.最后26是字面常量,字面常量没有数据类型这一说法,只有变量有数据类型.

byte字节型,int是整型,byte是8bit,int是32bit.byte可以转换为int,但int转byte可能会报错,因为精度问题,可能会超过上界.char也可转int,互转int的关系和btye类似.

您好,提问者: 1、首先byte范围是127- ~128之间. 2、char可以自动提升为int,就想float可以自动提升为double一样. 3、因为x是byte类型的,如果是int类型就可以不用强制转换了.

1、类型转换主要在在 赋值、方法调用、算术运算 三种情况下发生.a、赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换:(1)布尔型和其它基本数据类型之间不能相互转换;(2)byte型

对于JAVA来说这是一个规定Byte是8位是通用的int在有的地方是64位,和编译器有关

byte是一个字节,范围是(-128到128) 存储大小是8位有符号数

以上两个答案合在一起就行了 另外字节类型的范围是-128~127

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com