黑马程序员技术交流社区

标题: 问大家个小问题望大家帮忙解决!为什么会编译失败 [打印本页]

作者: 走遍世界找寻你    时间: 2013-10-26 11:04
标题: 问大家个小问题望大家帮忙解决!为什么会编译失败
class Demo101
{
        public static void main(String[] args)
        {
                byte b =3;
                byte b2=4;
                byte b3=b+b2;
                System.out.println(b3);
        }
}
作者: 半夜雨半夜雨    时间: 2013-11-1 21:21
  1. class Demo101
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 byte b =3;
  6.                 byte b2=4;
  7.                 byte b3=(byte) (b+b2);//b+b2 运算后内存空间提升为int型,
  8.                                       //需要强制转换
  9.                 System.out.println(b3);
  10.         }
  11. }
复制代码

作者: 刘子蔚    时间: 2013-11-1 23:45
我是菜鸟啊- -
作者: 滔哥    时间: 2013-11-15 16:34
技术问题请到技术区域提问
作者: FFF    时间: 2013-11-15 17:54
  1.                  public static void main (String[] args){
  2.                         
  3.                         byte b =3;
  4.                         byte b2=4;
  5.                         //byte b3=b+b2;
  6.                         //编译失败。b是变量,编译器编译时并不会知道b具体是多少(编译时不会赋值,所以不知道b是多少),所以会认为b是所有可能的值,所以会默认为b是Int类型的数据。因此b+1不能通过编译。正确为:
  7.                         byte b3=(byte)(b+b2);
  8.                         System.out.println(b3);
  9.                 }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2