Java数组看这篇就够了

时间:2022-09-04 15:49:03

一、前言

前面我们学习了随机数的介绍和使用,那么这篇我们来学习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

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

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

动态开辟的示意图:

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);
}

实例演示:

Java数组看这篇就够了

代码:

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);
      }
  }
}

方法二:实例演示:

Java数组看这篇就够了

代码:

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]);
      }
  }
}

 

七、数组的初始值

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

实例演示:

Java数组看这篇就够了

代码:

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
      }
}

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

 

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!

原文链接:https://blog.csdn.net/weixin_60719453/article/details/120504092