java 面试题No.7-8 类型转换 byte转int short转int int转byte int 转short 静默强制转换和介入强转

第七题

问:关于下面的程序,哪个选项的说法是正确的?

public class Qus7 {
    public static void main(String[] args) {
        byte b=2,e=3;//---1
        byte f=b+e;//----2
        System.out.println(f);
    }
}

A,编译通过,运行时打印出 5

B,编译通过,运行时打印出 23

C,编译不通过,在//2 处有错误,因为此处 f必须是一个 int 类型的
变量

D,编译不通过,在//1 处有错误,不能这样定义变量

解析:Java 中涉及 byte、short 和 char 类型的运算操作首先会把这些值转换为 int类型,然后对 int 类型值进行运算最后得到 int 类型的结果.因此,如果把两个 byte 类型的值相加,最后会得到一个int 类型的结果如果需要得到 byte 类型结果,必须将这个 int类型的结果显式转换为 byte类型。

错误的写法:

 正确的写法:

第八题

以下程序错误的是:

A,short s=1;s=s+1;

B,short s=1;s+=1;

解析:s+1为int,不能直接赋值给 short。

编译器错误时候的提示:

正确的写法:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长青风

赏一块,发大财!赏两块,惹人爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值