什么应该是大小为9字节或大于9字节的整数的基本类型?

时间:2013-09-01 12:36:15

标签: java

我正在创建一个银行帐户。它有一个'accnum'作为变量。它具有整数值,大小为12个字节。 假设银行账号为180020131111.你如何初始化为变量?

public class number{ 
   public static void main(String[] args){
       private long x=180020131111; // is not working.. 
       System.out.println(x);
   }
}

3 个答案:

答案 0 :(得分:5)

180020131111是一个整数文字,不能容纳int类型。您应该在末尾添加L以使其long为文字。

private long x = 180020131111L;

好吧,我宁愿将帐号存储为字符串。我认为没有必要将它存储为数字,因为你只是要显示它。我的意思是,如果你打算对账号做一些算术运算,那真的很奇怪。

答案 1 :(得分:1)

默认情况下,在java中,Integral Literals被视为32位int而不是64位long

使用此

private long x=180020131111L;

最后的字符l ot L会使整数文字变长

答案 2 :(得分:1)

最大的Java原语整数类型是long,它是64位(8字节)有符号类型。如果要表示大于2 63 - 1 == 9,223,372,036,854,775,807的数字,则需要使用BigIntegerBigDecimal


这句话的问题......

    private long x=180020131111;

...是您正在使用int文字的语法。 long字面值需要lL后缀。 (FWIW - 此数字不需要9个字节来表示......)