第十九题(整数赋值)
来源:互联网 发布:互联网金融 加班 知乎 编辑:程序博客网 时间:2024/06/06 07:02
看到这题,也是醉了,没想到还可这么赋值,乍看之下,我以为题错了。
你觉得答案是什么?
ADF
B:找不到符号
C:过大的整数
E:可能损失精度
JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量。其中的一个特征是介绍字面常量数字的下划线。从Java7开始,你就可以在你的Java代码里把长整型数字比如10000000000写成一个更具可读性10_000_000_000。在字面常量数字中加下划线的一个重要的原因是避免一些难以通过看代码来发现的细微的错误。对比10000000000 和1000000000,我们很难发现少了一个0或多了一个0,但对于10_000_000_000和1_000_000_000却不然。所以如果你在Java源码中要处理大数字,你可以在数字中加入下划线来提高可读性。使用的时候要注意:
在字面常量数字里加下划线是有一定规则的,下划线只能在数字之间,在数字的开始或结束一定不能使用下划线。
原来是新特性,学校啊,都脱节了。。。。。
Java编码语言对给数值型的字面值加下划线有严格的规定。如上所述,你只能在数字之间用下划线。你不能用把一个数字用下划线开头,或者已下划线结尾。这里有一些其它的不能在数值型字面值上用下划线的地方:
- 在数字的开始或结尾
- 对浮点型数字的小数点附件
- F或L下标的前面
- 该数值型字面值是字符串类型的时候
这里有一些例子,来表现哪些地方加给数字加下划线有效,哪些地方给数字加下划线无效
float
pi1 = 3_.1415F;
// 无效的; 不能在小数点之前有下划线
float
pi2 =
3
._1415F;
// 无效的; 不能在小数点之后有下划线
long
socialSecurityNumber1 = 999_99_9999_L;
//无效的,不能在L下标之前加下划线
int
a1 = _52;
// 这是一个下划线开头的标识符,不是个数字
int
a2 = 5_2;
// 有效
int
a3 = 52_;
// 无效的,不能以下划线结尾
int
a4 = 5_______2;
// 有效的
int
a5 = 0_x52;
// 无效,不能在0x之间有下划线
int
a6 = 0x_52;
// 无效的,不能在数字开头有下划线
int
a7 = 0x5_2;
// 有效的 (16进制数字)
int
a8 = 0x52_;
// 无效的,不能以下划线结尾
int
a9 = 0_52;
// 有效的(8进制数)
int
a10 = 05_2;
// 有效的(8进制数)
int
a11 = 052_;
// 无效的,不能以下划线结尾
下面是一些在数字中用下划线的其它示例:
long
creditCardNumber = 6684_5678_9012_3456L;
// 在编码的时候,最好永远不要这么做
long
socialSecurityNumber = 333_99_9999L;
// 在编码的时候,最好永远不要这么做
float
pi =
3
.14_15F;
long
hexBytes = 0xFF_EC_DE_5E;
long
hexWords = 0xCAFE_BABE;
long
maxLong = 0x7fff_ffff_ffff_ffffL;
byte
nybbles = 0b0010_0101;
long
bytes = 0b11010010_01101001_10010100_10010010;
使用下划线后,你会发现你的代码比以前可读性更强。顺便说一句,在java中应该一直用L去表示一个长整型数字。尽管用小写的l表示长整型数也是合法的,但他看起来太像1了,所以应该永远都不要用它。告诉我你能不能再 12l和121之间找出差别,我猜能找到的人不多吧。但是在 12L与121之间呢?
- 第十九题(整数赋值)
- 第十九题(整数赋值)
- 第十九题
- 微软100题(第十九题)
- 第二章第十九题
- C++第十九题20150412
- 第二章第十九题
- 第二章第十九题
- 第四章第十九题
- 第十九
- 长整数赋值问题
- 【100题】第十九题(斐波那楔数列)
- 第十九题(最快的方法求Fibonacci数列)
- P51 第二章第十九题
- 第三章第十九题 逆序
- Java 编程题目 第十九题
- 读书笔记(第十九讲)polymorphism
- dp专题 第十九题 最低通行费
- 有用的网址
- Linux下Apache的安装配置
- 用C#写摄像机调远近
- 安卓2个activity切换时中间出现黑屏
- snmp了解
- 第十九题(整数赋值)
- Java返回对象快捷键
- WIN7 下清楚SVN用户名和密码
- 8 个 git 的小技巧
- 抓取表中满足条件的数据及图片
- 第十八题(文件)
- 冒泡排序
- linux crontab 无法执行shell脚本解决方法
- IOS 公司开发者账号申请详细教程-13810208661