我正在创建一个银行帐户。它有一个“accnum”作为变量。它具有大小为 12 个字节的整数值。假设银行帐号是 180020131111。如何初始化变量?
public class number{
public static void main(String[] args){
private long x=180020131111; // is not working..
System.out.println(x);
}
}
我正在创建一个银行帐户。它有一个“accnum”作为变量。它具有大小为 12 个字节的整数值。假设银行帐号是 180020131111。如何初始化变量?
public class number{
public static void main(String[] args){
private long x=180020131111; // is not working..
System.out.println(x);
}
}
180020131111
是一个整数文字,它不适合一个int
类型。您应该L
在末尾附加一个以使其long
文字化。
private long x = 180020131111L;
好吧,我宁愿将帐号存储为字符串。我认为没有必要将其存储为数字,因为您只是要显示它。我的意思是,如果您要对帐号进行一些算术运算,那看起来真的很奇怪。
最大的 Java 原始整数类型是long
64 位(8 字节)有符号类型。如果要表示大于 2 63 - 1 == 9,223,372,036,854,775,807 的数字,则需要使用BigInteger
or BigDecimal
。
这个说法的问题...
private long x=180020131111;
...是您正在使用int
文字的语法。long
文字需要一个或l
后缀L
。(FWIW - 这个数字不需要 9 个字节来表示......)
默认情况下,整数文字在 java 中被视为 32 位int
而不是 64 位long
。
用这个
private long x=180020131111L;
最后的字符l
otL
使整型文字变长