他们认为是:
可能重复:
带有前导零的整数
但是如果你用前导零检查整数,那么你会发现问题是在jdk7启动之前是否因为研究工作较少而被问到.但是在jdk7中,整数有一些变化和补充.以下是涵盖jdk7的最新答案.
我有一个代码:
class Test{
public static void main(String[] args){
int x=09;
System.out.println(x);
}
}
Run Code Online (Sandbox Code Playgroud)
在编译时它会给出一个错误:整数过大:09
为什么这样做?
再次,如果我将代码更改为:
class Test{
public static void main(String[] args){
int x=012;
System.out.println(x);
}
}
Run Code Online (Sandbox Code Playgroud)
现在输出是10
为什么它输出10而不是12?
Java提供了以2、8、10和16为基数编写数字文字的方法。
我想知道为什么包括基数8,例如int x = 0123;?
我认为可能存在类似于十六进制的一个字节的容量为FF + 1等等的事实。
如果我在数组输出中的数字值变为不同之前放置00或0.
int arr[][]=new int[3][2];
arr[0][0]=00;
arr[0][1]=01;
arr[1][0]=10;
arr[1][1]=0011;
arr[2][0]=0020;
arr[2][1]=21;
for(int a[]: arr){
for(int c : a){
System.out.println(c);
}
}
Run Code Online (Sandbox Code Playgroud)
输出为:0 1 10 9 16 21
为什么这个代码
int[] a = {
0,
1,
1_0,
0_1,
1_0_0,
0_1_0,
0_0_1
};
System.out.println(Arrays.toString(a));
Run Code Online (Sandbox Code Playgroud)
产出这个输出[0, 1, 10, 1, 100, 8, 1]?
为什么输出中有8?下划线是否添加了一些秘密功能?
可能重复:
带有前导零的整数
有人可以告诉我这里发生了什么吗?当我使用前导零初始化一个int时,程序不会忽略零,而是做一些我不知道的其他操作.
int num = 0200;
System.out.println(num); // 128
System.out.println(033); // 27
Run Code Online (Sandbox Code Playgroud) 可能重复:
带有前导零的整数
我编码的程序要求我标记库存号为012345的物品并将其存储在int变量中.
这是我正在做的事情的简要示例:
int test = 012345;
System.out.println(test);
Run Code Online (Sandbox Code Playgroud)
打印为:
5349
Run Code Online (Sandbox Code Playgroud)
如何将其打印为012345而不是5349?
编辑:我正在将其输入到我正在初始化的自定义类的构造函数的参数中.然后我使用一种方法返回当前数字,然后将其打印到终端窗口.
所以问题很简单.如何在Java检查的第一个数字int是0;
说我有:
int y = 0123;
int n = 123;
Run Code Online (Sandbox Code Playgroud)
现在我需要一个if语句,它将返回true y和false n.
我正在使用python shell来弄清楚print命令在python中是如何工作的.
当我输入
打印01
1
打印010
8
打印0100
64
打印030
24
这里发生了什么?它只是基数2吗?为什么第二个位置的"一个"打印为8?如果它是二进制的,它不应该是2吗?
public class Test {
public static void main(String[] args) {
int i = 012;
System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么输出是:10?