public static void main(String[] args){
int [] a=new int[256];
System.out.println(a['t']);
}
我看到a ['t']在script.wonder中是什么意思。我试图执行代码。无论我在['t']中输入了什么字符,它都会返回0,为什么?为什么此代码总是返回零?
public static void main(String[] args){
int [] a=new int[256];
System.out.println(a['t']);
}
我看到a ['t']在script.wonder中是什么意思。我试图执行代码。无论我在['t']中输入了什么字符,它都会返回0,为什么?为什么此代码总是返回零?
问:无论我把什么字符在[“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 [] a=new int[256];
上面的代码中创建的整数,即整数总是与0,如果初始化数组没有显式值被赋值,如果你已经调用['T'],则返回0.
这是因为int数组没有用任何值进行初始化,它只是声明为256,所以它被初始化为默认值0s impliciltly
不确定为什么你用't'访问int数组,但是't'它实际上会首先转换为int,它应该是116('t'的ASCII码),然后它意味着访问一个[116],并且因为您没有初始化该数组中的所有元素数组应该默认设置为0,所以你会得到那个结果。
你的所作所为是相同的:
public static void main(String[] args){
int [] a=new int[256];
System.out.println(a[116]);
}
因为对于“T”的ASCII码为116,那么你访问到INTS的新阵列的位置116,和默认值一个int是0,所以这个数组的所有位置都将有0,除非你指定了不同的东西。
当您创建整数数组的对象时,默认情况下数组初始化为0(除非您为其指定一些值)。
a['t']
是a[116]
这是零,因为默认情况下java将数组内容初始化为零。
这是疯狂的代码。为什么你会在这个数组中使用char作为数组索引? –
第一行将创建一个新的数组,其中的所有内容都为0.'a ['t']',''t''字符类型被转换为int类型,我们以ASCII码的形式访问数组't'小写,即0,因为数组中的每个元素都是0. – nhahtdh
你是说打印0? – Shurmajee