社区
Java SE
帖子详情
Java: 为什么定义一个字节型变量 byte i=3,而不是 byte i=3b ???????
sshjava1
2016-06-14 11:01:58
对于一个整数,不是默认为int型嘛,那么 byte i=3 中的3也是int型的嘛,int型不能自动转换为byte型的嘛,所以这样赋值是有问题的嘛。
...全文
431
4
打赏
收藏
Java: 为什么定义一个字节型变量 byte i=3,而不是 byte i=3b ???????
对于一个整数,不是默认为int型嘛,那么 byte i=3 中的3也是int型的嘛,int型不能自动转换为byte型的嘛,所以这样赋值是有问题的嘛。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tangxheng
2016-06-14
打赏
举报
回复
1.整型 类型 存储需求 bit数 取值范围 byte 1字节 1*8 (-2的31次方到2的31次方-1) short 2字节 2*8 -32768~32767 int 4字节 4*8 (-2的63次方到2的63次方-1) long 8字节 8*8 -128~127
我纯洁全身都纯洁
2016-06-14
打赏
举报
回复
谁说的默认是int? 他会自动转换成定义的类型。如果转不成就编译不通过。除非强制转换byte i=(byte)1233;
qq_15915835
2016-06-14
打赏
举报
回复
不为啥,java语法就是这样 谁说3就必须是整形了 byte 取值范围 -128—127
狂暴的小猴儿
2016-06-14
打赏
举报
回复
3 这个常量在java 中是会被当作int类型来处理 一般情况下也只支持不损失精度的转型 但是在赋值操作的时候会有例外 ,可以参考一下 JLS http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.2 关于 Assignment Conversion 的东西
里头说了 对于short byte char 会发生 narrowing primitive conversion 这种窄式转换 先当作是编译器的支持吧 具体啥机制我也不知道
定义
变量
byte
a = (
byte
)128输出a的结果
(
byte
)128输出的结果为什么是-128? ** 例: 定义
变量
byte
a = (
byte
)128输出a结果为(B) A.128 B.-128 C.0 D.-127** ** 解析: 在
JAVA
中整数的数据类
型
有4种分别是
byte
-8bit(位) short-16bit int-32bit long-64bit 8bit=1
字节
所以
byte
-1
字节
short-2
字节
int-4
字节
long-8
字节
byte
的取值范围为 -128~127 int类
型
(32位) 所以128转化为二进制为 0000
Java
面试题 :
byte
b = (
byte
)128; 定义
变量
语句是否正确
Java
面试题 :
byte
b = (
byte
)128; 定义
变量
语句是否正确 正确 1. 首先,分析基本数据类
型
只写128,说明128是整
型
(int类
型
), 128L 或128F 等等,说明是long类
型
(L),单精度浮点类
型
(F) (
byte
)128中128是整
型
(int),只不过是强制类
型
转换为
字节
类
型
(
byte
) 2.
byte
b = (
byte
)128; 只出现...
java
两个
byte
相加_为什么两个
byte
类
型
的
变量
相加会报错?
1.先看以下代码public classMain {public static void main(String[] args) {
byte
a =4;
byte
b =6;
byte
c = a + b;}}以上代码在编译过程中就会报错。2.分析:为什么
byte
a = 4;就不会报错?因为
byte
是一个
字节
,八个二进制位,此时其范围为-128 ~ +127,所以4在其范围内,所以可以被赋值。一旦这...
【
Java
语法解析】
byte
b = 1为什么是合理的?
文章目录语法话题程序示例语法解析数值丢失 语法话题 本期的话题内容为:
byte
b = 1为什么是合理的? 也许大家会感到惊讶,这样的语句不是天经地义的吗?可是,字面值“1”是int类
型
,b是
byte
类
型
,int类
型
向
byte
类
型
转换,这是一种收缩类
型
转换,难道不应该使用类
型
转换运算符吗? 程序示例 我们来看如下的程序: package test; public class Test { public static void main(String[] args) { int i = 1;
Java
基础数据类
型
理解
byte
b1=(
byte
)150
byte
b2=(
byte
)128
在计算机中负数的存储方式为补码 对负数的绝对值的二进制值取反,再加一,即为负数的二进制码。 例:
byte
b1=(
byte
)128 结果是什么
byte
可以表示的范围为-128~127,128二进制数为10000000,为负数,后面7位取反为1111111(此数十进制为127),再加1则为10000000,所以b1=-128;
byte
b=(
byte
)150? 150的二进制为10010110,...
Java SE
62,624
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章