java数字分割的下划线,数字文字中的Java 7下划线

ce48b8bdbc13fd5ceeb476d3f78c5d1f.png

蛊毒传说

好像有人杀死了原始帖子(OP)中的URL。这是整个讨厌的URL,以防万一某些格式设置功能再次杀死它:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html您要说的那个页面的具体报价如下:您只能在数字之间添加下划线;您不能在以下位置放置下划线:在数字的开头或结尾与浮点文字中的小数点相邻在F或L后缀之前在需要一串数字的位置顺便说一句,为了使自己尽可能的贴切,应该提到第三点,您也不能在D后缀之前使用下划线,如以下示例所示:double trouble = 123.456_D;  //failfloat myBoat = 321.123_F;  //faillong winded = 90210_L;  //fail我也觉得第三点很奇怪。我的意思是,大部分情况下,前三点都涵盖了所有情况,那么他们所说的这个神秘的“数字字符串”又是什么呢?前三个要点实际上并没有解决强迫他们添加这个神秘的第四个要点?最初,我以为他们是在谈论十六进制表示法或二进制表示法,其中期望在b或x后面有一个数字,就像下面的示例不起作用一样:byte size = 0_b111101;  //failbyte me = 0b_111101;  //failint hexed = 0_x_BABE;  //fail不过,我认为从技术上讲,这可能与第一点相同,因为第一点说下划线不能在数字的开头。但是可以肯定的是,使用二进制或十六进制时,期望在“ b”或“ x”之后出现“数字字符串”,对吗?因此,如果我是一名博彩玩家,我可能会在二进制/十六进制方案中投入一些资金。但是我还有另一种可能的情况,我可以对冲我的赌注。来了就个人而言,我希望Java中有一条规则,规定您在谈论java.lang.String时只能使用单词“ string”。允许术语“字符串”保留其行人含义会引起混淆,这是一个完美的例子。现在,如果第四点说的是“期望在数字的java.lang.String的位置”,我可能得出的结论是,他们正在谈论表示需要解析的数字的实际java.lang.String对象。因此,采用这段代码:int i = Integer.parseInt("123_456");会编译吗?那会跑吗?它将很好地编译,但是当然,parseInt方法需要数字的java.lang.String,并且对该数字java.lang.String的验证或解析将在运行时触发以下错误:线程“主”中的异常java.lang.NumberFormatException:对于输入字符串:java.lang.Integer.parseInt(Integer.java:492)处的java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)处的“ 123_456” Tester.main(Tester.java:7)上的java.lang.Integer.parseInt(Integer.java:527)当然,这是一个运行时错误,并且看来Oracle文档确实在谈论将在编译时标记的错误。但这肯定是一个预期的“数字字符串”的情况。现在,如果只有Oracle文档是Wiki格式的。它可能会诱使我进入并添加如下内容:您只能在数字之间添加下划线;您不能在以下位置放置下划线:在数字的开头或结尾与浮点文字中的小数点相邻在后缀“ F”,“ L”或“ D”之前(我添加了“ D”)十六进制和二进制标记“ x”和“ b”之前或之后而且,如果您向方法提供的java.lang.String除了数字以外什么也不希望,则期望幕后使用的解析算法会抛出运行时异常。顺便说一句,我刚刚在TheServerSide上写了一篇有关该主题的小文章。随意看看。本文旨在达到Oracle认证专家Java 7 Programmer认证目标,但这是一篇非常全面且易于阅读的文章,只是大体上解释了使用下划线的规则。OCPJP认证:带下划线的数字文字需要了解的内容希望能有所帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值