• 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;
        }
    }
    
  • 相关阅读:
    POJ3889Fractal Streets
    POJ3263 Tallest Cow
    tyvjP1288 飘飘乎居士取能量块
    洛谷P3369 【模板】普通平衡树(Treap/SBT)
    洛谷P1063 能量项链 [2006NOIP提高组]
    洛谷P1541 乌龟棋 [2010NOIP提高组]
    POJ3322 Bloxorz I
    BZOJ1218:[HNOI2003]激光炸弹
    TyvjP1266 费解的开关
    洛谷P3070 [USACO13JAN]岛游记Island Travels
  • 原文地址:https://www.cnblogs.com/lishi-jie/p/11693022.html
Copyright © 2020-2023  润新知