Java 数组基础知识

  1. 数组的声明
    语法:
    	int[] array1;
    	int array2[];
    注意:推荐使用第一种写法;
    	单独声明数组时不能指定长度。
    
  2. 数组的初始化
    分类:静态初始化、动态初始化
    静态初始化:
    	int[] array1={1,2,3,4,5,6};
    	int[] array2= new int[]{1,2,3,4,5,6};	-->不能写元素个数
    	注意:静态初始化只能在声明的时候初始化。
    动态初始化:
    	//数组的声明
    	//int[] array1=new int[3];	-->必须写元素个数
    	int[] array1;
    	array1 = new int[3];
    	//初始化
    	array1[0] = 1;
    	array1[1] = 2;
    	array1[2] = 3;
    注意:数组一旦初始化,长度不可变;
    	下标从0开始,下标不能超过length-1;
    	静态数组没有被初始化,就不能使用;
    	动态声明的数组,有默认值;
    获取数组的长度:数组名.length
    
  3. 数组的操作
    a.循环遍历
    	int[] array1 = {3,4,2,3,5,6,7,5};
    	//方式一
    	for(int i=0;i<array1.length;i++){
    		System.out.println(array1[i]);
    	}
    	//方式二
    	for(int j:array1){
    		System.out.println(j);
    	}
    b.获取最值
    	int[] array1 = {3,4,2,3,5,6,7,5};
    	int max = array1[0];	//赋初始值
    	for(int i=0;i<array1.length;i++){
    		if(array1[i]>max){
    			max = array1[i];
    		}
    	}
    	System.out.println(max);
    c.逆序
    	int[] array1 = {3,4,2,3,9,5,6,7,5};
    	//逆序
    	for(int i=0;i<(array1.length/2);i++){
    		int temp = array1[i];
    		array1[i] = array1[array1.length-1-i];
    		array1[array1.length-1-i] = temp;
    	}
    	//打印输出逆序结果
    	for(int i:array1){
    		System.out.print(i+",");
    	}
    d.排序
    	快速排序:
    		int[] array1 = {3,4,2,3,9,5,6,7,5};
    		Arrays.sort(array1);
    		for(int i:array1){
    			System.out.print(i+",");
    		}
    	冒泡排序(*)int[] array1 = {3,4,2,3,9,5,6,7,5};
    		for(int i=0;i<array1.length-1;i++){			
    			for(int j=0;j<array1.length-1-i;j++){
    				if(array1[j]>array1[j+1]){
    					int temp = array1[j];
    					array1[j] = array1[j+1];
    					array1[j+1] = temp;
    				}
    			}
    		}
    	选择排序:
    		for(int i=0;i<array1.length;i++){
    			//找到最小的元素,给第i个
    			int min = i;	//最小值的下标
    			for(int j=i;j<array1.length;j++){
    				if(array1[min] > array1[j]){
    					min = j;
    				}
    			}
    			//将索引i后的最小值给i
    			if(min != i){
    				int temp = array1[i];
    				array1[i] = array1[min];
    				array1[min] = temp;
    			}
    			//打印出当前排序的结果
    			for(int k:array1){
    				System.out.print(k+",");
    			}
    			System.out.println();
    		}
    e.复制
    	Arrays.copyOf():
    		举例:
    			int[] array1 = {3,4,2,3,9,5,6,7,5};
    			int[] array2 = Arrays.copyOf(array1, 3);
    			for(int i:array2){
    				System.out.print(i+",");
    			}
    	Arrays.copyOfRange():
    		举例:
    			int[] array1 = {3,4,2,3,9,5,6,7,5};
    			int[] array3 = Arrays.copyOfRange(array1, 2, 5);
    			for(int i:array3){
    				System.out.print(i+",");
    			}
    f.替换
    	举例1int[] array1 = {3,4,2,3,9,5,6,7,5};
    		Arrays.fill(array1, 8);
    		for(int i:array1){
    			System.out.print(i+",");
    		}
    	举例2int[] array1 = {3,4,2,3,9,5,6,7,5};
    		Arrays.fill(array1,3,5,8);
    		for(int i:array1){
    			System.out.print(i+",");
    		}
    
  4. 二维数组
a.初始化
   	静态:
   		int[][] arr1 = {{1,2},{3},{5,3,4},{11,5,7,8,89}};
   		int[][] arr2 = new int[][]{{1,2},{3},{5,3,4},{11,5,7,8,89}};
   	动态:
   		int[][] arr3;
   		arr3 = new int[3][];
   		arr3[0] = new int[]{1,2,3,4};
   		arr3[1] = new int[]{4,3,2};
   		arr3[2] = new int[2];
   		arr3[2][0] = 2;
   		arr3[2][1] = 7;
   b.循环遍历
   	//静态初始化
   	int[] arr[] = {{1,2},{3},{5,3,4},{11,5,7,8,89}};
   	//循环遍历二维数组中的每一个元素
   	for(int i=0;i<arr.length;i++){
   		for(int j=0;j<arr[i].length;j++){
   			System.out.print(arr[i][j]+" ");
   		}
   		System.out.println();
   	}
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值