社区
Java SE
帖子详情
新手提问:Java中为什么bety、char、short不能互相隐转换?
No_Hello_World
2011-03-07 12:59:04
书上说bety、char、short之间不能互相转换,它们之间要计算只能先全都转换成int型后才能行。
bety占8位,取值范围为:-128~127。
short占16位,取值范围为:-32768~32767.
照这样看bety型应该可以转隐换成short啊?
另外请大虾们把各种基本数据类型的存储关系图画出来,不胜感激!
...全文
1654
7
打赏
收藏
新手提问:Java中为什么bety、char、short不能互相隐转换?
书上说bety、char、short之间不能互相转换,它们之间要计算只能先全都转换成int型后才能行。 bety占8位,取值范围为:-128~127。 short占16位,取值范围为:-32768~32767. 照这样看bety型应该可以转隐换成short啊? 另外请大虾们把各种基本数据类型的存储关系图画出来,不胜感激!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
muzi_hao
2012-02-20
打赏
举报
回复
我想知道char和short可不可以自动转换呀,是不是要强制类型转换啦。
请赐教。
keeya0416
2011-03-07
打赏
举报
回复
[Quote=引用 4 楼 ticmy 的回复:]
“说byte、char、short之间不能互相转换”
我现在才明白语文是一切讨论的基础。。。。
[/Quote]
可能是我理解错了
但楼主的
照这样看bety型应该可以转隐换成short啊?
太误导人了 我也只是针对句话就下结论了
java0919
2011-03-07
打赏
举报
回复
char 和 byte不是一个概念的
byte a = (byte)'b';
这个是成立的 char型就是一个单字符 直接强制类型转换就可以完成转换成1个字节的byte。 因为char的定义就是1字节。
所以互换方式就是强制转换
byte a = (byte)'c';
char b = (char)a;
System.out.println(b);
char在java中可以直接取值来表示
char b = (char)100;
System.out.println(b);
结果是d
龙四
2011-03-07
打赏
举报
回复
“说byte、char、short之间不能
互相
转换”
我现在才明白语文是一切讨论的基础。。。。
ma309385560
2011-03-07
打赏
举报
回复
[Quote=引用 1 楼 keeya0416 的回复:]
Java code
byte b =127;
short s = b;
这个不算是隐式转换么。
[/Quote]
同意
keeya0416
2011-03-07
打赏
举报
回复
byte b =127;
short s = b;
这个不算是隐式转换么。
Java
数据类型的
转换
Java
的整数类型包括byte、
short
、int和long。它们之间的
转换
可以通过强制类型
转换
或
隐
式类型
转换
进行。
QString与
char
*的相互
转换
在进行编程时,我们经常需要用到字符串这种类型,毫无疑问,Qt 库
中
也对字符串类型进行了封装,QString 类提供了你能想到的所有字符串操作方法,给开发者带来了极大方便。 但是我们在编写程序时,不可避免地会在 Qt 框架上使用第三方的开源库,由于库的类型基本上都是标准的类型,即使用
char
* 来表示字符串类型。那么问题来了,QString 和
char
* 之间如何进行
转换
呢?
Line 14:
Char
22: runtime error: signed integer overflow: 1000000000 * 9 cannot be represented
Line 14:
Char
22: runtime error: signed integer overflow: 1000000000 * 9 cannot be represented in type ‘int’ (solution.cpp) 第14行:
char
22:运行时错误:有符号整数溢出:1000000000*9
不能
用类型“int”(solution.cpp)表示 也就是说 int 溢...
java
.lang.IllegalArgumentException: The
char
'xxx ' in 'xxx'
出现这个异常
java
.lang.IllegalArgumentException: The
char
'0x6 ' in 'xxx'是在服务器端的。 而在客户端的异常就是org.xml.sax.SAXParseException; Premature end of file. 所以,这两个异常是相应的。 这时候,我看了axis源代码之后,看到了原因: 这时候就可以说,原因是:要转
error C2664:
不能
将参数 1 从“CString”
转换
为“const
char
*”
提示错误“error C2664: "gethostbyname":
不能
将参数 1 从"CString"
转换
为"const
char
*"”。 CString host; lpHost = gethostbyname(host); 最快的解决办法: Since this function requires Ansi string, I think you
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章