k

kenma

V1

2022/09/07阅读:11主题:默认主题

数组

数组介绍

数据组就是数组,可以存放多个同一类型的数据,是引用类型。

数组的使用

数组的声明

数组细节

  1. 多个相同类型组合
  2. 不能不同类型组合混用
  3. 数组创建后,没有赋值的话,有默认值

int 0 ; short 0; byte 0 ; float 0.0; double 0.0; boolean false; char \u0000; string null;

  1. 使用数组步骤:声明==> 赋值 ==> 使用
  2. 数组下标从0开始,数组下标必须在指定范围内使用,否则报:下标越界异常,比如:int [] arr=new int[5]; 则有效下标为 0-4
  1. 数组属引用类型,数组型数据是对象(object)

数组赋值机制

  1. 基本数据类型分配机制,赋值就是具体的数据,且互相互不影响

    int n1 = 2; int n2 = n1; //n2的值不影响n1

  2. 数组类型分配机制 数组是引用传递,赋的值是地址,赋值方式是引用传达,会影响原变量的值。

底层逻辑

  0x001代表地址,引用地址,地址拷贝,基本数据就是数据拷贝

数组拷贝

数组反转

  1. 方式1

定义一个数组 arr[] = {11,22,33,44,55,66}

找规律反转

前后交换

  	int arr1[]={11,22,33,44,55,66};
	int temp = 0;
	int len = arr1.length;
	for(int i=0;i<len/2;i++){
			temp = arr1[len-1-i];
			arr1[len-1-i] = arr1[i];
			arr1[i] = temp;
	}
	for(int i=0;i<=len;i++){
		System.out.print(arr1[i]+"\t");
	}
  1. 方式2

逆序赋值

    /*
    使用数组的数据拷贝,先逆序遍历赋值给arr2,再将arr2
    的地址赋给arr1.
    最后遍历输出arr2.
    */
  	int[] arr1={11,22,33,44,55,66};
	int len = arr1.length;
	int[] arr2=new int[len];
	int temp = 0;
	
	for(int i=len-1 , j=0;i>=0;i--,j++){
			arr2[j] = arr1[i];
	}
	arr1 = arr2;
	for(int i=0;i<=len;i++){
		System.out.print(arr1[i]+"\t");
	}

数组添加和缩减

 //  和添加的思路相同
    
    int[] arr1 = {1,2,3,4,5};

    do{
        int[] arrNew = new int[arr1.length-1];
        for(int i=0;i<arr1.length-1;i++){
            arrNew[i]=arr1[i];
        }
        arr1 = arrNew;
        System.out.println("缩减后");
        for(int i =0;i<arr1.length;i++){
            System.out.println(arr1[i]+"\t");
        }
        if(arr1.length==1){
            break;
        }

    }
    while(true)
        ;

分类:

后端

标签:

Java

作者介绍

k
kenma
V1