1.数组声明时数据类型不匹配

错误写法:

public class Test_0506{
    public static void main(String[] args) {
        // 定义的是int类型数组,但实际是String类型
        int [] array = new String[3];
     }
}

Eclipse会提示错误信息,Type mismatch: cannot convert from String[] to int[],如下图提示将array类型改为String[]。

数组相关常见的三种错误

 

 

 正确写法:

public class Test_0506{
    public static void main(String[] args) {
        String[] array = new String[3];
    }
}

2.边声明边赋值必须写在同一行

错误写法:

public class Test_0506{
    public static void main(String[] args) {
        int [] array = new int[3];
        array = {10, 20, 30};
        array2 = {10. 20, 30};
    }
}

运行代码,报错信息为Array constants can only be used in initializers,英文不好,通过翻译软件知道报错内容是“数组常量只能在初始值设定项中使用

如下图

数组相关常见的三种错误

 

 

 正确写法:

public class Test_0506{
    public static void main(String[] args) {
        int [] array = new int[3];
        array[0] = 10;
        array[1] = 20;
        array[2] = 30;
        int [] array2 = new int [3];
        array2[0] = 10;
        array2[1] = 20;
        array2[2] = 30;
    }
}

3.数组下标越界

错误写法:

public class Test_0506{
    public static void main(String[] args) {
        int[] array = {10, 20, 30};
        System.out.println(array[3]);
    }
}

数组下标是从0开始,从上述代码可以看出来数组长度是3,下标界限就是0~2,所以array[3]超出下标界限,运行报错信息如下:

数组相关常见的三种错误

 

 

 java.lang.ArrayIndexOutOfBoundsException表示错误原因是数组下标越界。

正确写法:

public class Test_0506{
    public static void main(String[] args) {
        int[] array = {10, 20, 30};
        System.out.println(array[0]);
        System.out.println(array[1]);
        System.out.println(array[2]);
    }
}

运行结果:

数组相关常见的三种错误

 

相关文章:

  • 2021-12-06
  • 2021-09-24
  • 2022-12-23
  • 2022-12-23
  • 2021-07-21
  • 2022-12-23
  • 2022-12-23
  • 2021-11-13
猜你喜欢
  • 2021-08-21
  • 2021-10-07
  • 2021-12-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-09
相关资源
相似解决方案