欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一维数组

程序员文章站 2022-07-15 22:34:16
...

@[TOC] 数组

数组

数组的基本概念

  数组是用来存储一组相同数据类型的数据结构,是一种引用数据类型。数组的元素可以是简单类型的数据,也可以是引用类型的数据。
  数组的定义方式有两种;
  1、数据类型[] 数组名;
 例如:int [] arr;    java中推荐这样定义数组
             char[] arr1;  推荐
    2、数据类型  数组名[];
    例如:doble name[]; java中不推荐这样的定义方式
                 short  name[];  不推荐

一维数组的定义

在数组的定义中,不能直接指定数组的长度,需要在数组的创建阶段才能指定。
比如:int[] a;正确
            int[20] a;错误

数组的初始化

静态初始化

所谓静态初始化就是给定数组的长度和元素,直接定义就可以使用。

比如;int arr[] = {1,4,5,7,9,0,6};

数组的长度是不可变的,一旦分配好空间,是多长就多长,不能增加不能减少,有一个length属性。

数组arr[]的长度为0-6(length-1=6);数组的起始位置为arr[0],末位为arr[length-1],
数组的访问为:
数组名[下标] 来访问数组

                 arr[0] = 1;
                 arr[1] = 4;
                 arr[length-1] = 6;

数组的长度是不可变的,一旦分配好空间,是多长就多长,不能增加不能减少,有一个length属性。

数组的长度

int[] arr={1,2,3,4};
int len= arr.length;// 获取数组长度

例如:

public class TT2 {

	public static void main(String[] args) {
		
	int[] arr = {5,10,15,20};

	for (int i = 0; i < arr.length; i++) {
		System.out.printf("arr[%d]=%d",i,arr[i]);
		System.out.println();
		
	}
	
	int s = arr.length;//获取数组arr[]的长度
	System.out.println("arr[]的长度为:"+s);
	}
}

动态初始化

在定义数组时,只指定数组的长度,由系统自动为其元素赋默认值这种方式我们称为动态初始化。通过new操作符来创建数组对象,指定数组的大小,给数组元素的存储分配空间。

数据类型[] 数组名=new 数据类型[长度];
int[ ] arr=new int[3];
char[] arr2=new char[5];

例如:

public class TT3 {

	public static void main(String[] args) {
		
		int[] arr=new int[3]; 
		arr[0] = 10;
		arr[1] = 20;
		arr[2] = 30;
		
		for (int i = 0; i <arr.length; i++) {
			System.out.printf("arr[%d]=%d",i,arr[i]);
			System.out.println();
		}
	}
}

定义了动态数组,系统会给它赋默认值

整型默认值 0
浮点型 0.0
字符型 \u0000
布尔类型 false
引用数据类型 null

数组的遍历

通过for循环的遍历

例如:

public static void main(String[] args){
      //定义一个字符串类型的数组arr,并且静态初始化值(奥迪,劳斯莱斯,大奔,宝马)
      String[] arr = {"奥迪","劳斯莱斯","大奔","宝马"};
      //定义一个整形数组stu,给定长度4,动态初始化值
      int[] stu = new int[4];
      stu[0] = 10;
      stu[1] = 20;
      stu[2] = 30;
      stu[3] = 40;

      for(int i = 0;i<arr.length;i++){
      System.out.println(arr[i]);
      }
       for(int i = 0;i<stu.length;i++){
      System.out.println(stu[i]);
      }
}
}

一维数组

通过foreach的遍历


```java
public static void main(String[] args){
       int[] arr = {1,3,5,7,9,0};
       for(int x:arr){
           System.out.println(x);
       }
}

一维数组



### 通过java中的Arrays类中的toString(int[] a)的遍历

```java
public static void main(String[] args){
       int[] arr = {1,3,5,7,9,0};
       System.out.println(Arrays.toString(arr));//需要导入import java.util.Arrays;

    }

数组拷贝

需要用到System类中的arraycopy方法
一维数组

public static void main(String[] args){
   int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
   int[] b = new int[a.length+5];
   System.arraycopy(a, 4, b, 5, 5);
   System.out.println(Arrays.toString(a));
   System.out.println(Arrays.toString(b));
  }

一维数组

例题

1、在这里插入代码片合并数组:首先准备两个数组,它们的长度 5-10之间的随机数,并使用随机数给 两个数组赋值 然后准备第3个数组,第3个数组的长度为前两个数组的长度和 通过System.arraycopy方法将前两个数组的中的内容拷贝到第3个数组中

一维数组
一维数组

相关标签: 一维数组 java