Java数组超详解

Posted 执久呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数组超详解相关的知识,希望对你有一定的参考价值。

目录

一、前言

二、数组的定义

数组定义的形式:

格式1:

格式2:

三、数组的初始化方式:

1.动态初始化

动态开辟的示意图:

2.静态初始化

四、索引访问数组

五、数组长度表示

六、遍历数组

方法一:

实例演示:​

 代码:

方法二:

实例演示:

代码:

七、数组的初始值

实例演示:

代码:


一、前言

前面我们学习了随机数的介绍和使用,那么这篇我们来学习java中数组的定义和使用,

java的数组和c语言的十分类似。

二、数组的定义

数组定义的形式:

格式1:

数据类型  [ ]  数组名 如int [ ]arr;

说明:定义了一个int类型的数组,数组名是arr

格式2:

数据类型 数组名[ ]如 int arr[ ]; 

说明:定义了一个int类型的数组名是arr的数组

相比之下:显然格式1更好些,更直观,格式2是我们在c语言的常使用的

三、数组的初始化方式:

1.动态初始化

所说的动态初始化其实就是只指定大小而不指定数组内容 。

如int[]arr=new int[5];其中new是开辟空间的,new左边的int[]arr时在栈区开辟,右边是

在堆区开辟的在Java中有且只有只用new开辟空间,用完之后不用手动释放,Java

之中的垃圾回收系统会自动判断开辟空间在使用完全且后续不再使用时会自动释放所

开辟的内存空间。栈区的使用完立马销毁。

动态开辟的示意图:

2.静态初始化

所谓静态初始化就是在创建变量的给定初始化值,由系统决定数组长度

格式 :数据类型 [ ] 数组名=new int arr[ ]{数据1,数据2.......,数据n};

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

也可以简化成:int[]arr={1,2,3,4,5};

四、索引访问数组

那我们是访问数组中的元素呢?答案是索引。

格式:数组名[索引]:索引和c语言中的下标是一样的)

索引是从0开始的,也就是说我们要访问第一个元素就是arr[0],以此类推。

五、数组长度表示

在Java中我们没有sizeof的,但是我们可以通过下列操作求出。

格式:数组名.length  如arr.length就求出了数组arr的长度。

六、遍历数组

所谓遍历数组就是拿到数组的每一元素

方法一:

for(类型 变量名:要变遍历的数组名){
    语句;
}

如:

for(int a:arr){
Systen.out.print(a);
}

实例演示:

 代码:

package com;

public class 遍历数组 {
    public static void main(String[] args) {
        int []arr={1,2,3,4,5,6};//静态初始化
        for(int a:arr){
            System.out.print(" "+a);
        }
    }
}

方法二:

实例演示:

代码:

package com;

public class 遍历数组2 {
    public static void main(String[] args) {
        int []arr={1,2,3,4,5,6};
        for(int i=0;i<arr.length;i++){
            System.out.print(" "+arr[i]);
        }
    }
}

七、数组的初始值

类下方法外创建的变量,系统会给定一个初始值

实例演示:

代码:

package com;

public class Test {
        String S;
        int i;
        char c;
        double d;
        float f;
        boolean b;
        public static void main(String[] args) {
            Test t=new Test();//创建对象,调用该类的元素
            System.out.println(t.S);//null
            System.out.println(t.i);//0
            System.out.println(t.c);//空
            System.out.println(t.d);//0.0
            System.out.println(t.f);//0.0
            System.out.println(t.b);//false
        }
}

 上图是测试的初始值,注:必须变量在类下面方法外才会有初始值(也就是成员变量)

以上是关于Java数组超详解的主要内容,如果未能解决你的问题,请参考以下文章

(转) Java中的负数及基本类型的转型详解

超详解的迷宫问题(Java版)

指针的这些知识你知道吗?C语言超硬核指针进阶版3w+字详解+指针笔试题画图+文字详细讲解

超实用的php代码片段

Java-反射机制(超详解)

数据结构KMP算法配图详解(超详细)