`
junfeng2010
  • 浏览: 9066 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

java 基础

    博客分类:
  • java
阅读更多

 写道
 public static void main(String[] args) {
		System.out.println((int)(char)(byte)-1);
		// 注:从较窄的整型转换成较宽的整型时的符号扩展行为:如果最初的数值类型是有符号的,那么就执行符号扩展;但如果它是char,那么不管它将要被转换成什么类型,都执行零扩展。
		//1。char类型向表示范围比它大的类型转换时使用的是0扩展,也就是说在高位补0。
		//2。byte类型转换为char类型其实是2步:先把byte提升为int,再把int转化为char(去掉高位)
		//开始是int -1 11111111 11111111 11111111 11111111
		//转为byte时 -1 	11111111
		//byte转char时
		//先将byte转为int 11111111 11111111 11111111 11111111
		//后int 转char 11111111 11111111
		//char 转int 00000000 00000000 11111111 11111111
		
	}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics