• 【Java】Java_17 数组


    数组

    数组是一种数据类型,属于引用类型。

    1.定义数组

    type[] arrayName;
    type arrayNmae[];

    以上2种定义数组方式的区别:

    type[] arrayName:语义强,可读性好(推荐使用

    type arrayName[]:语义差,可读性差

    注意:定义数组时布恩那个指定数组的长度。

    2.数组的初始化

    静态初始化:初始化由程序员显示指定每个数组元素的数据类型,由系统决定数组的长度

    动态初始化:初始化由程序员只指定数据长度,由系统为数组元素分配初始值

    静态初始化的语法如下:

    arrayName = new Type[]{element1,element2...element4...}
    
    简化后写法:
    
    type[] arrayName = {element1,element2...element4...}

    动态初始化:

    arrayName = new type[length];

    执行动态初始化时,程序员只需要指定数组的长度,即为每个数组元素指定所需的内存空间,系统将负责为这些元素分配初始值。指定初始值时,系统将按如下规则分配初始值。

    • 数组元素的基本类型是基本类型种的整数类型(byte、short、int、long),则数组元素的值为0;
    • 数组元素的基本类型是基本类型种的浮点类型(folat、double),则数组元素的值是0.0
    • 数组元素的基本类型是基本类型种的字符类型(char),则数组元素的值是'u0000'
    • 数组元素的基本类型是基本类型种的布尔类型(boolean),则数组元素的值是false
    • 数组元素的基本类型是引用类型(类、接口、数组),则数组元素的值是null

    3.数组的使用

    3.1 读取数组元素

    定义一个数组,并打印数组中的第一个值

    package com.oliver.test;
    
    public class TestArray {
        public static void main(String[] args) {
            //定义一个Object数组类型的变量,变量名为ObjArr
                    Object[] ObjArr;
                    //初始化数组变量,定义数组时所指定的数组元素的子类
                    ObjArr = new String[] {"jack","Alice"};
                    System.out.println(ObjArr[0]);
        }
    }

    打印数组中的每个元素

    package com.oliver.test;
    
    public class TestArray {
        public static void main(String[] args) {
            //定义一个Object数组类型的变量,变量名为ObjArr
                    Object[] ObjArr;
                    //初始化数组变量,定义数组时所指定的数组元素的子类
                    ObjArr = new String[] {"jack","Alice"};
                    //循环打印数组元素
                    for(int i=0;i<ObjArr.length;i++){
                    System.out.println(ObjArr[i]);
                    }
        }
    }

    错误一:java.lang.ArrayIndexOutOfBoundsException: 10

    错误源码:

    package com.oliver.test;
    
    public class TestArray {
        public static void main(String[] args) {
            //定义一个Object数组类型的变量,变量名为ObjArr
                    Object[] ObjArr;
                    //初始化数组变量,定义数组时所指定的数组元素的子类
                    ObjArr = new String[] {"jack","Alice"};
                    System.out.println(ObjArr[10]);
        }
    }

    错误分析:导致该错误的原因是因为需要打印的数组元素不存在(数组索引越界异常)

    3.2 foreach循环

    使用foreach循环,这种循环遍历无需获取数组和集合长度,无需根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每个元素

    语法:

    for(type variableName : array | collection)

    {

     //variableName 自动迭代访问每个元素...

    代码示意:

    package com.oliver.test;
    
    public class TestForeach {
        public static void main(String[] args) {
            String[] s = {"张三丰","张无忌","张飞"};
            for(String n : s){
                System.out.println(n);
            }
            
        }
    }
  • 相关阅读:
    Tomcat的startup.bat启动后显示乱码
    影响solr性能的一些因素(附使用经验)
    使用QQ传输大文件
    域名的接入备案和取消接入
    solr中Cache综述
    关于集群的一些概念
    RAMDISK 内存盘工具推荐
    实时监听input输入内容的N种方法
    jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等
    Vmware虚拟机三种网络模式详解
  • 原文地址:https://www.cnblogs.com/OliverQin/p/6730827.html
Copyright © 2020-2023  润新知