社区
Java SE
帖子详情
求,java里,char 的-1与short的-1的区别
zapdos
2009-08-10 03:31:13
char c1 = -1; //报错
char c2 = 0xFFFF;
short s1 = -1;
short s2 = 0xFFFF; //报错
求解
是不是在编译时会进行边界检查?
为什么要这样检查?
还有,它是怎么检查的?
...全文
310
6
打赏
收藏
求,java里,char 的-1与short的-1的区别
char c1 = -1; //报错 char c2 = 0xFFFF; short s1 = -1; short s2 = 0xFFFF; //报错 求解 是不是在编译时会进行边界检查? 为什么要这样检查? 还有,它是怎么检查的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zapdos
2009-08-10
打赏
举报
回复
4L答对了,是偶弄错了
lovecj6185
2009-08-10
打赏
举报
回复
short s2 = 0xFFFF; //报错
short的范围是 -2的15次方到2的15次方-1
也就是-32768到32767
所以你赋值 0xFFFF,这个值实际上是65535
所以,报错
knightzhuwei
2009-08-10
打赏
举报
回复
short s2 = 0xFFFF; //报错
short的范围是-32768~32767 你赋给它ffff也就是65535当然就报错
如果你要赋给它-1 就要写short s2 = 0xFFFFFFFF;
healer_kx
2009-08-10
打赏
举报
回复
[Quote=引用 2 楼 lovecj6185 的回复:]
引用楼主 zapdos 的回复:
char c1 = -1; //报错
char c2 = 0xFFFF;
short s1 = -1;
short s2 = 0xFFFF; //报错
求解
是不是在编译时会进行边界检查?
为什么要这样检查?
还有,它是怎么检查的?
当然会进行数据类型的检查
char的范围是0~2的16次方-1
也就是0~65535
所以你把-1赋值给char会报错
[/Quote]
UP
lovecj6185
2009-08-10
打赏
举报
回复
[Quote=引用楼主 zapdos 的回复:]
char c1 = -1; //报错
char c2 = 0xFFFF;
short s1 = -1;
short s2 = 0xFFFF; //报错
求解
是不是在编译时会进行边界检查?
为什么要这样检查?
还有,它是怎么检查的?
[/Quote]
当然会进行数据类型的检查
char的范围是0~2的16次方-1
也就是0~65535
所以你把-1赋值给char会报错
knightzhuwei
2009-08-10
打赏
举报
回复
char是无符号整数 范围0-255 当然是编译期检查的 你赋给它-1当然会报错
Java
面试宝典 2013版(完整版)
- switch语句可以作用于byte、
char
、
short
、int类型,以及其包装类Integer和
Char
acter,还有枚举类型和String,但不能作用于long类型。 -
short
类型运算时需要强制类型转换,因为s1++是int类型的表达式,而s1+=1实际...
java
short
转
char
_
Java
-显式转换为
char
/
short
-
java
谁能告诉我为什么即使
short
/
char
的大小均为16位,这种显式转换也会产生不同的结果?package jh;public class Main {public static void main(String[] args) {byte b = (byte)255;System.out.println("Size of ...
第一百三十七节
Java
数据类型教程 -
Java
short
数据类型和
char
数据类型
Java
数据类型教程 -
Java
short
数据类型和
char
数据类型
JAVA
中基本数据类型————
short
整数和
char
整数二者的
区别
short
整数是2个字节
char
整数也是2个字节 ...
char
c1 = -1;//这是个错误的写法。 但是,
char
c2 = 65;//是正确的。
short
s2 = -1;//将s2赋值给
char
char
c3 = s2;//是不可以的,
short
的取值范围中包括负数
java
short
转
char
_byte,
short
,
char
的类型转换
《
java
深入解析》中例子:一、隐式类型转换在平时对byte
char
short
这几个范围较小的类型声明并赋值时,往往忽略了一个问题。在
Java
源文件当中为变量赋值时经常使用字面常量,这些常量在
Java
中是用int类型表示的。在...
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章