char c1 = -1; //报错
char c2 = 0xFFFF;
short s1 = -1;
short s2 = 0xFFFF; //报错求解
是不是在编译时会进行边界检查?
为什么要这样检查?
还有,它是怎么检查的?
char c2 = 0xFFFF;
short s1 = -1;
short s2 = 0xFFFF; //报错求解
是不是在编译时会进行边界检查?
为什么要这样检查?
还有,它是怎么检查的?
解决方案 »
- 关于 java 与苹果
- 数据流接收、发送问题!
- 关于对象回收问题
- 在线急求java怎样实现QQ2011登录窗那个在线状态下拉菜单
- 请问如何在java中调用字体对话框
- 请问JRE和JDK有什么区别?IBM JDK和SUN JDK有什么区别?
- 给三个float 数r,g,b随机赋值,而且限定范围[0,255],应该怎样写?
- 请问action(Event e,Object o)方法和actionPerformed(ActionEvent e)方法有什么区别?
- 请问:你们的程序都怎样关闭数据库?是在每次出现异常的时候吗?还是在一段程序结束后?
- 什么是erp?
- 无法执行sql.executeUpdate
- java 如何调用一个输入密码的对话框
当然会进行数据类型的检查
char的范围是0~2的16次方-1
也就是0~65535
所以你把-1赋值给char会报错
short的范围是-32768~32767 你赋给它ffff也就是65535当然就报错
如果你要赋给它-1 就要写short s2 = 0xFFFFFFFF;
也就是-32768到32767
所以你赋值 0xFFFF,这个值实际上是65535
所以,报错