java基础知识点-数组

数组:是一种容器,可以同时存放多个数据值。
数组的特点:

  1. 数组是一种引用数据类型
  2. 数组当中的多个数据,类型必须统一
  3. 数组的长度在程序运行期间不可改变

数组的初始化:在内存当中创建一个数组

  1. 动态初始化(指定长度)
    如果是整型,动态数组默认为0
    如果是浮点型,动态数组默认为0.0
    如果是字符类型,动态数组默认为'u0000'
    如果是布尔类型,动态数组默认为false
    如果是引用类型,动态数组默认为null。
/*
数据类型[] 数组名称 = new 数据类型[数组长度]
*/
public class Demo02MethodArray {
    public static void main(String[] args) {
        // 创建int数据组
        int[] arrayA = new int[10];
        // 创建double数组
        double[] arrayB = new double[10];
        // 创建Stirng字符串
        String[] arrayC = new String[10];
    }
}
  1. 静态初始化(指定内容)
    静态数组其实也有默认值,只不过程序马上将默认值替换为了大括号中的具体数值。
public class Demo02MethodArray {
    public static void main(String[] args) {
        //直接创建一个数组,里面内容全部是int数字
        int[] arrayA = new  int[]{1,5,7};
        //创建一个数组,用来装字符串 "Hello","World","Java"
        String[] arrayB = new String[]{"Hello","World","Java"};
    }
}
  1. 省略的数组格式
/*
数据类型[] 数组名称 = {元素1,元素2}
 */
public class Demo02MethodArray {
    public static void main(String[] args) {
        //直接创建一个数组,里面内容全部是int数字
        int[] arrayA = {1,5,7};
        //创建一个数组,用来装字符串 "Hello","World","Java"
        String[] arrayB ={"Hello","World","Java"};
    }
}

使用建议:

如果不确定数组当中的具体内容,用动态初始化,否则,已经确定了具体的内容,用静态初始化。

直接打印将得到数组的内存哈希值

public class Demo02MethodArray {
    public static void main(String[] args) {
        //直接创建一个数组,里面内容全部是int数字
        int[] arrayA = {1,5,7};
        //创建一个数组,用来装字符串 "Hello","World","Java"
        String[] arrayB ={"Hello","World","Java"};
        System.out.println(arrayA); //[I@1b6d3586
        for (int i = 0; i < 3; i++) {
            System.out.println(arrayA[i]);
        }
    }
}

数组常见问题:
数组索引越界异常:
java.lang.ArrayIndexOutOfBoundsException
数组空指针异常:
java.lang.NullPointerException

获取数组的长度:.length

当一个方法中有多个参数,但是只能有一个返回值,
如果希望一个方法中产生的多个结果进行返回,怎么办?
使用一个数组作为返回值类型即可

public class Demo02ArrayReturn {
    public static void main(String[] args) {
        int[] result = caclute(10, 20, 30);
        System.out.println("数组中的和为:" + result[0]);
        System.out.println("数组中的平均值为:" + result[1]);

    }
    public static int[] caclute(int a ,int b, int c){
        int sum = a + b + c;
        int avg = sum/3;
        int[] arrayt = {sum, avg};
        return arrayt;
    }
}
原文地址:https://www.cnblogs.com/lishi-jie/p/11693022.html