看来,当你使用Java输入数字时,编译器会自动将其读取为整数,这就是为什么当你输入(long)6000000000
(不在整数范围内)时会抱怨6000000000
不是整数。要更正此问题,我必须指定6000000000L
。我刚刚了解了此规范。
还有其他数字规范,例如short,byte,float,double吗?似乎这些内容会很好,因为(我假设)如果你可以指定要输入的数字是短数字,那么Java不必强制转换它-这是一个假设,如果我输入错误,请更正我。我通常会自己搜索这个问题,但我什至不知道这种数字规范叫什么。
对于long
(例如39832L
),float
(例如2.4f
)和double
(例如-7.832d
)有特定的后缀。
如果没有后缀,并且是整数类型(例如5623
),则假定为int
。如果不是整数类型(例如3.14159
),则假定为double
。
在其他情况下(byte,short,char
),你需要投,因为没有具体的后缀。
Java规范允许上部和下部壳体的后缀,但是上壳体版本为longs的优选的,因为上壳体L
不太容易混淆以数字1
比下壳体l
。
问题内容: 为什么在将long分配给min和max的地方得到的int数太大? 问题答案: 默认情况下,java中的所有文字数字均为,范围为 包含在内。 您的文字超出了此范围,因此要进行编译,您需要指出它们是文字(即带有的后缀): 请注意,java同时支持大写和小写,但我建议 不要 使用小写,因为它看起来像: 相同的Java语言规范 如果以ASCII字母L或l(ell)为后缀,则整数文字的类型为lo
软件的版本号由以下4部分组成: 主要版本号.次要版本号.版本状态码[.修订号] 应根据下面的约定使用这些部分: 主要版本:主要版本号不同,意味着本版本进行了大幅的本质修改,并且可能出现不同版本不兼容的问题。 次要版本:次要版本号不同,意味着功能的显著增强,但考虑了向后兼容性。 版本状态码:版本状态码包含了对当前版本的一些描述。它具体包含了以下信息: 发布状态。 0: 计划版(planned):计
我正在用不同的值替换字符串中的问号。 例子: 我的Preudo代码: 通常这工作得很好。但有时我在值中有一个问号,例如:Value:。然后我的结果是:。这是因为该函数替换了之前一次迭代替换的文本的问号。 如何告诉函数只替换没有引号包围的问号?正确的正则表达式是什么?
我理解无限的原因。但是为什么它是一个编译器,当我在括号里不使用变量的时候? 这将返回一个无限循环。 这将返回编译器错误。为什么?
问题内容: 这里有一些相关的问题。 按照标题,如果我们将变量类型指定为long或float,double,为什么要这样做?编译器不是在编译时评估变量类型吗? Java将所有整数文字视为-这是否是为了减轻无意的内存浪费的打击?并且所有浮点文字都为-以确保最高的精度? 问题答案: 当您拥有一个常数时,值之间会存在细微的差异,这些差异看起来相同,但并非相同。此外,由于引入了自动装箱,因此您获得的结果将有
问题内容: 我的程序从文件中读取一行。此行包含逗号分隔的文本,例如: 我希望拆分的结果是这样的: 如果使用,我将得到: 换句话说:子字符串中的逗号不是分隔符。该如何处理? 问题答案: 你可以尝试以下正则表达式: 这将分割字符串,,后跟偶数双引号。换句话说,它用双引号引起来的逗号分隔。如果你在字符串中使用了引号,则此方法将起作用。 说明: 你甚至可以在代码中使用正则表达式使用修饰符来键入此类内容。修