黑马程序员——第4题: 以下代码哪个是正确的?为什么?

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------package com.itheima;  
/** 
 * 第4题: 以下代码哪个是正确的?为什么? 
    a. byte b = 1 + 1;   正确   
    b. byte b = 1; b = b + 1; 错误 
    c. byte b = 1; b = b += 1; 正确    
    d. byte b = 1; b = ++b;正确 
 * @author AbuGe 
 */  
/*类型转换:(java是强类型的语言)  
 *byte:整型数据类型的一种,占8位从-128-127;  
 *整型默认是int型占32位,即4个字节  
 *a:  
 *1 + 1 先运算得到2, 是常量int型并在byte范围内,然后默认进行强制类型转换int为byte赋值给byte型的b,故可以  
 *b:  
 *byte = 1;是正确地,是常量int型并在byte范围内,默认直接将int型的1强制转换为byte型的,  
 *但是b = b + 1;  
 *将byte型的1与int型的1进行运算,自动进行类型提升,即byte的1提升为int型的,运算后  
 *得到的结果是个int型的占4个字节,不能将一个占四个字节的int型直接赋值给占一个字节的byte型  
 *可以更正为b = (byte)(b + 2);  
 *c:  
 *+=默认进行了强转b先+1然后再赋值给 b  
 *d:  
 *自增是可以的,默认会进行类型强制转换
*/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值