public static void main(String[] args){
int [] a=new int[256];
System.out.println(a['t']);
}
我在脚本中看到了 ['t']。想知道这是什么意思。我试图执行代码。无论我在 [' t '] 中放入什么字符,它都返回 0,为什么?
问:无论我在 a['t'] 中输入什么字符,它都返回 0
您发布的代码没有显示您在 [] 中放置任何内容。所有元素最初都是“0”。
试试这个:
public static void main(String[] args){
int [] a=new int[256];
a['t'] = 'T';
System.out.println("a['t']: " + a['t']);
}
您应该看到如下内容:
a['t']: 84
这是因为 int 数组没有用任何值初始化,它只是用大小 256 声明的,所以它被隐式初始化为默认值 0s
你所做的相当于:
public static void main(String[] args){
int [] a=new int[256];
System.out.println(a[116]);
}
因为 't' 的 ascii 代码是 116,所以你正在访问一个新的 int 数组的位置 116,而 int 的默认值是 0,所以这个数组的所有位置都将是 0,除非你分配一些东西不同的。
a['t']
是a[116]
零,因为默认情况下 java 将数组内容初始化为零。
int [] a=new int[256];
上面的代码创建整数数组,即如果没有明确分配值,整数总是用 0 初始化,就像这样,如果你调用了 a['T'],它会返回 0。
不知道为什么你用't'访问一个int数组,但是有了't'它实际上会首先转换为一个int,它应该是116('t'的ASCII码),然后它意味着访问a[ 116],并且由于您没有初始化该数组,因此该数组中的所有元素应默认设置为 0,因此您会得到该结果。
当您创建 Array of Integers 的对象时,Array 默认初始化为 0(除非您为其分配了一些值)。