我正在创建一个银行帐户。它有一个“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 原始整数类型是long64 位(8 字节)有符号类型。如果要表示大于 2 63 - 1 == 9,223,372,036,854,775,807 的数字,则需要使用BigIntegeror BigDecimal。
这个说法的问题...
private long x=180020131111;
...是您正在使用int文字的语法。long文字需要一个或l后缀L。(FWIW - 这个数字不需要 9 个字节来表示......)
默认情况下,整数文字在 java 中被视为 32 位int而不是 64 位long。
用这个
private long x=180020131111L;
最后的字符lotL使整型文字变长