Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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:键入数组的值_Java_Arrays - Fatal编程技术网

Java:键入数组的值

Java:键入数组的值,java,arrays,Java,Arrays,这里是Java初学者。我需要在控制台中打印出给定数组的所有值 public class ArrayUtil { public static void main(String[] args) { int[] array = {2, 5, 8, 10, 32, 22, 11, 66, 12, 30}; for (int i = 0; i < array.length; i++) { System.out.println(array

这里是Java初学者。我需要在控制台中打印出给定数组的所有值

public class ArrayUtil {
    public static void main(String[] args) {
        int[] array = {2, 5, 8, 10, 32, 22, 11, 66, 12, 30};
        for (int i = 0; i < array.length; i++) {
            System.out.println(array);
        }
    }
}
公共类ArrayUtil{
公共静态void main(字符串[]args){
int[]数组={2,5,8,10,32,22,11,66,12,30};
for(int i=0;i

相反,它打印出[I@1b6d358610次。请有人帮我回答我做错了什么,它给出的输出有什么意义吗?谢谢!

为了访问迭代(for循环)中数组中的每个值,您必须指定数组的索引号

例如,您可以将打印语句替换为以下内容:

System.out.println(array[i]);

关于数组的更多信息,您可以参考Big Java:Early Objects(第7版是我目前使用的版本)第7.1.2章和第7.1.3章您得到的输出是由标准
Java.lang.Object
toString()
方法生成的

据报道,这是一个

[…]字符串,由对象所在的类的名称组成 是一个实例,at符号字符“@”和无符号字符 对象[…]的哈希代码的十六进制表示形式

要打印出数组的各个元素,必须将打印语句更改为:

System.out.println(array[i]);
一种替代方法,(For Each循环)(>=Java5)


每次迭代时,都会将数组对象引用打印到System.out

您可以将
System.out.println(数组)
更改为
System.out.println(数组[i])
以打印每个索引处的整数

或者,您可以简单地使用Java类打印数组的内容,如下所示:

import java.util.Arrays;

public class ArrayUtil {
    public static void main(String[] args) {
        int[] array = {2, 5, 8, 10, 32, 22, 11, 66, 12, 30};
        System.out.println(Arrays.toString(array));
    }
}

您正在尝试打印数组。而不是数组的值。因此您必须更改以下行:

System.out.println(array);
致:

您可以按如下方式为每个循环使用:

public class ArrayUtil {
    public static void main(String[] args) {
        int[] array = {2, 5, 8, 10, 32, 22, 11, 66, 12, 30};
        for (int i : array) {
            System.out.println(i);
        }
    }
}

您可以使用集合框架中的Arrays类来执行此操作

 System.out.println(Arrays.toString(array));
也可以用传统的方法迭代数组

for(int i : array) {
   system.out.println(i);
}
System.out.println(array[i]);
System.out.println(Arrays.toString(array))-仅此而已(无需for循环)
 System.out.println(Arrays.toString(array));
for(int i : array) {
   system.out.println(i);
}