Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 大小为9字节或大于9字节的整数的基元类型应该是什么?_Java - Fatal编程技术网

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

Java 大小为9字节或大于9字节的整数的基元类型应该是什么?,java,Java,我正在创建一个银行帐户。该帐户的变量为“accnum”。该帐户的整数值为12字节。 假设银行账号是180020131111。如何初始化为变量 public class number{ public static void main(String[] args){ private long x=180020131111; // is not working.. System.out.println(x); } } 默认情况下,整数文本在java中被视为

我正在创建一个银行帐户。该帐户的变量为“accnum”。该帐户的整数值为12字节。 假设银行账号是180020131111。如何初始化为变量

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

默认情况下,整数文本在java中被视为32位
int
,而不是64位
long

用这个

private long x=180020131111L;

最后的字符
l
ot
l
使整型文字变长

18002013111
是整型文字,不能放入
int
类型。您应该在末尾附加一个
L
,使其
文字

private long x = 180020131111L;

嗯,我宁愿将帐号存储为字符串。我不认为真的有必要将其存储为数字,因为您只需要显示它。我的意思是,如果你要对账号做一些算术运算,看起来会很奇怪

最大的Java原语整数类型是
long
,它是一种64位(8字节)有符号类型。如果要表示大于263-1==9223372036854775807的数字,需要使用
biginger
BigDecimal


这句话的问题是

    private long x=180020131111;

。。。您正在使用
int
literal的语法。
long
文本需要
l
l
后缀。(FWIW-此数字不需要9个字节来表示…)

使用
专用长x=180020131111l。请注意末尾的小写字母
L
。您也可以在不执行任何数学计算的数字字段中使用字符串。如果此处的数据类型确实错误,则您将执行的操作(显示、验证、前导零…)都需要使用字符串。对银行账号执行算术没有任何意义。在方法中声明变量时,不能使用
公共/受保护/私有
修饰符。尽管这看起来很奇怪。我要做算术运算。。因为帐号应该是连续的。。