黑马程序员技术交流社区

标题: long类型的数后面必须加L吗 [打印本页]

作者: 496073719    时间: 2016-9-7 00:41
标题: long类型的数后面必须加L吗
比如说long x = 123,
System.out.println(x);
这样写的话,打印出的123是int类型还是long类型?
作者: LShu    时间: 2016-9-7 11:02
如果long x = 123后面不加L的话,打印出来的应该是int类型的,因为系统默认的整数类型为int类型.你可以是测试一下.比如说:long x = 12345678901;不加L与加L会不会报错.希望能帮到你.
作者: lipengwei    时间: 2016-9-7 11:10
123默认是证书类型,但是等号左边已经定义为long。所以123会提升为long类型的
结果自然为long类型
作者: zhoubinjian    时间: 2016-9-7 11:40
打印出来 是long型 ,,自动提升类型了int->long
作者: chenliying1993    时间: 2016-9-7 16:20
int类型的123经过自动类型转换后转换为long类型,赋值给long类型的变量x,打印出来的结果为long类型
作者: 袁志娜    时间: 2016-9-7 17:09
如果定义的是long类型,最好加上,按照书写规范来
作者: 147621629    时间: 2016-9-7 17:34
肯定要加啊不加默认的是int类型的
作者: 直白    时间: 2016-9-7 19:04
首先分析一下,long x = 123 ;  右边是一个long类型变量x 左边为一个int类型的123整数; 将int类型的赋值给long类型时,int类型的数值没有超过int类型的范围,编译不会出错,因为会被强制转型为long类型 在赋值给long类型变量.当int类型的数值的范围超出int范围时,编译会出错,这时就需要加L,这个L相当于告诉声明这是一个long类型.
作者: 直白    时间: 2016-9-7 19:08
直白 发表于 2016-9-7 19:04
首先分析一下,long x = 123 ;  右边是一个long类型变量x 左边为一个int类型的123整数; 将int类型的赋值给lo ...

- -我去 说反了 ,左边是long类型变量 右边是int类型整数.
作者: 孙洪勇    时间: 2016-9-7 19:09
并没有,首先说那是个long类型的数,因为你定义的是long类型的,其次,打印并不是单纯的输出,打印同样是调用了方法,以打印字符串的形式打印出来,所以,打印的结果是字符串类型的,但在程序里应用那个数是long类型的
作者: xh_javaee    时间: 2016-9-7 19:49
按照你的字面理解,是long类型的




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