QuarkXPress 网络视频直播系统 laravel npm uiviewcontroller pygame 后台管理界面模板 ai视频教程下载 sql server 视频教程 jq去空格 两个正态分布相乘 oracle修改字段默认值 java算法培训 python教学 python正则表达 python的re模块 python平台 eclipse安装python java环境变量配置 java编程语言 java文件重命名 java将数据写入文件 linux服务器 winhex教程 netreflector steam怎么卸载 瑞兹技能 网络电子书 战地2地图包下载 回收站在哪个盘 a1530是什么版本 重复文件查找 汪文君 只狼月隐糖 外星人r7 1000kbps pathping 凯立德导航地图 php递归算法 故事板软件
当前位置: 首页 > 学习教程  > 编程语言

Java语言快速复习14-数组

2021/2/13 20:03:32 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

数组概念:是一种容器,可以同时存放多个数据值。 数组特点: 数组是一种引用数据类型。数组当中的多个数据,类型必须统一。数组的长度在程序运行期间不可改变。数组的初始化:在内存当中创建一个数组,并且向…

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

数组特点:

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

 

数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值。

两种常见的初始化方式:

  1. 动态初始化(指定长度)
  2. 静态初始化(指定内容)

 

动态初始化数组的格式:

数组类型[] 数组名称 = new 数组类型[数组长度];

 

解析含义:

左侧数组类型:也就是数组当中保存的数据,全都是统一的什么类型。

左侧的中括号:代表我是一个数组

左侧的数组名称:给数组起一个名字

右侧的new:代表创建数组的动作

右侧数组类型:必须和左侧数组类型保持一致

右侧中括号的长度:也就是数组当中,到底可以保存多少个数据,是一个int数字

动态格式化举例:

public class Demo01Array {
    public static void main(String[] args) {
        // 创建一个数组,里面可以存放300个int数据
        int[] arr1 = new int[300]; 
        
        // 创建一个数组,,里面可以存放300个double数据
        double[] arr2 = new double[300];
    }
}

静态初始化的基本格式:

数组类型[] 数组名称 = new 数组类型[]{元素1,元素2,… ,}

举例:

public static void main(String[] args) {
    //直接创建一个数组,里面装的全都是int数字,具体为:1,2,3
    int[] arr = new int[]{1,2,3};

}

注意事项:

虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容,也可以自动推算出来长度。

使用静态初始化数组的时候,格式还可以省略一下。

标准格式:数组类型[] 数组名称 = new 数组类型[]{元素1,元素2,… ,}

省略格式:数组类型[] 数组名称 ={元素1,元素2,… ,}

举例:

// 省略格式的静态初始化
int[] arr2 = {1,2,3,4};

 

静态/动态初始化可以拆分成为两个步骤,而静态初始化一旦使用省略格式,就不能拆分成为两个步骤。

举例:

 // 动态初始化标准格式可以拆分成为两个步骤
 int[] arr3;
 arr3 = new int[3];

 // 静态初始化标准格式可以拆分成为两个步骤
 int[] arr4;
 arr4 = new int[]{1,2,3,4};

 //静态初始化一旦使用省略格式,就不能拆分成为两个步骤
/* int[] arr5;
 arr5 = {1,2,3};*/

使用建议:

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

 

当我们尝试直接用数组名打印时,会输出一堆”乱码“,实际上,直接打印数组名称,得到的是数组对应的,内存地址哈希值

举例:

public static void main(String[] args) {
    int[] arr = {1,2,3};
    System.out.println(arr); // [I@1b6d3586
}

输出的 [I@1b6d3586:其中[表示数组类型,I表示里面全是int型数据,@后面的字符表示这些数据的十六进制。

补充十六进制相关知识:

二进制:01

十进制:0123456789

十六进制:0123456789abcdef

 

使用动态初始化数组的时候,其中给的元素将会自动拥有一个默认值。规则如下:

如果是整数类型byte/short/int/long,默认为0;

如果是浮点类型float/double,默认为0.0;

如果是字符类型char,那么默认为’\u0000’,这个字符不可见,不是不存在;

如果是布尔类型boolean,那么默认为false;

如果是引用类型,那么默认为null(空常量)。

举例:

int[] arr = new int[3];
System.out.println(arr[0]);  // 0

注意事项:

静态初始化其实也有默认值的过程,只不过系统自动马上将默认值替换成了大括号当中的具体数值。


本文链接: http://www.dtmao.cc/news_show_700375.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?