栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java大白入门实例18之《数组的定义与使用--详解》

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java大白入门实例18之《数组的定义与使用--详解》

数组的基本概念:

        如果说现在要求你定义100个整型变量,那么如果按照之前的做法,可能现在定义的的结构如下:

int i1, i2, i3, ... i100;

【数组】指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。数组本身属于引用数据类型,那么既然是引用数据类型,这里面实际又会牵扯到内存分配。

数组动态初始化:

那么我们既然不想那么麻烦的一个个去定义变量,这就出现了数组动态初始化,可以动态分配数组的大小空间,有以下几种方式:

(1)【未开辟数组空间】数据类型  数组名称[] = null    

(2)【未开辟数组空间】数据类型[]  数组名称 = null

(3)【开辟数组空间】 数据类型[]  数组名称 = new  数据类型[长度]

(4)【开辟数组空间】 数据类型  数组名称[] = new  数据类型[长度]

 开辟了数组空间之后,就可以进行如下操作:

(1)通过索引访问元素,数组名称 [索引],索引范围就是0-数组的长度-1,若访问的索引超出这个范围,就会报java.lang.ArrayIndexOutOfBoundsException 这样的异常信息。

(2)在 java中提供有一种动态取得数组长度的方式:数组名称.length。

(3)通常使用for循环去访问数组这样的有序集合。

定义数组例子:

        使用最基本的方法实现:

public class java_18 {
    public static void main(String[] args) {
//        定义一个int型数组
        int data[] = new int[2];//分配一个长度为2的数组
        data[0] = 1;
        data[1] = 2;
        for (int i=0;i 

  

        分步实现(先声明后分配空间):

public class java_18 {
    public static void main(String[] args) {
//        定义一个int型数组
        int data[];//或者int data[] = null;
        data = new int [2];
        data[0] = 1;
        data[1] = 2;
        for (int i=0;i 

注意:在数组使用之前一定要开辟空间(实例化),如果使用了没有开辟空间的数组,则一定会出现 NullPointerException 异常信息

数组引用传递(关于数组的复制):

 定义一个空数组,将已定义的数组赋值给这个空数组,对这个新数组进行操作,原来的数组数据也会被改变。

public class java_18 {
    public static void main(String[] args) {
//        定义一个int型数组
//        int data[] = new int[2];//分配一个长度为2的数组
        int data[];//或者int data[] = null;
        int temp[] = null;
        data = new int [2];
        data[0] = 1;
        data[1] = 2;
        temp = data;
        temp[0] = 10; //此时就发生了引用传递,data数组里面的值也被改变
        for (int i=0;i 

 引用传递的本质是:同一块堆内存空间可以被不同的栈内存所指向。

 数组静态初始化:

顾名思义就是希望数组在定义的时候可以同时出现设置内容,那么就可以采用静态初始化完成。

例如:

int arr[] = {1,2,3,4,5};

或者完整语法模式:

int arr1[] = new int[]{1,2,3,4,5};
二维数组(初略了解一下):

那么对二维数组的定义有两种声明形式:

(1)数组的动态初始化:数据类型 对象数组[][] = new 数据类型[行个数][列个数];

(2)数组的静态初始化:数据类型 对象数组[][] = new 数据类型[][]{{值, 值,…}, {值, 值,…},…};

public class java_18 {
    public static void main(String[] args) {
//        二维数组
//        法一  动态初始化
        int data[][] = new int[2][2];
        data[0][0] = 1;
        data[0][1] = 2;
        data[1][0] = 3;
        data[1][1] = 4;
//        法二  静态初始化
        int data1[][] = new int[][]{
                {1,2},{3,4}
        };
        for (int i=0;i 

哎,还是js定义数组的方便,想怎么定义就怎么定义,数组大小和类型都非常自由,哈哈哈

上一篇:java17--判断一个数是否为质数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328025.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号