Java 大小为9字节或大于9字节的整数的基元类型应该是什么?
我正在创建一个银行帐户。该帐户的变量为“accnum”。该帐户的整数值为12字节。 假设银行账号是180020131111。如何初始化为变量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中被视为
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
otl
使整型文字变长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
。您也可以在不执行任何数学计算的数字字段中使用字符串。如果此处的数据类型确实错误,则您将执行的操作(显示、验证、前导零…)都需要使用字符串。对银行账号执行算术没有任何意义。在方法中声明变量时,不能使用公共/受保护/私有
修饰符。尽管这看起来很奇怪。我要做算术运算。。因为帐号应该是连续的。。