• java 基础知识五 数组


     


    数组

        保存的是一组有顺序的、具有相同类型的数据。

        同一个数组中所有数据元素的数据类型都是相同的。

        可以通过数组下标来访问数组,数据元素根据下标的顺序,在内存中按顺序存放


    1、数组声明

        符号“[]”说明声明的是一个数组对象 

        ArrayType [ ] ArrayName;  或者ArrayType ArrayName[ ];

    2、数组创建

        使用 ArrayType[arraySize] 创建了一个数组并把新创建的数组的引用赋值给变量 ArrayName

        ArrayType [ ] ArrayName = new ArrayType[arraySize];// 使用默认值  arraySize数组长度 固定arraySize

        ArrayType [ ] ArrayName = = {value0, value1, ..., valuek};// 使用初始值

    3、数组初始化和使用

        ArrayName[index]  代表数组ArrayNameindex位置的数据

        数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,通过下标查找,也可以通过循环遍历

     

         int[] arr = {1, 2, 3, 4, 5,6,7};// 自动初始化
    	int[] arr1 = new int[10]; arr1[0]=1;// 赋值初始化
    	可用for循环遍历查找
     		 for(int element:arr)
    		        {
    		            System.out.println("星期"+element);
    		        }
    		
    			   for(int i=0;i<arr1.length;i++)
    		        {
    		            System.out.println("星期"+arr1[i]);
    		        }
    



    4、数组复制

        从指定源数组 fromArray 中复制一个数组,复制从指定的位置 fromIndex 开始,到目标数 toArray,在指定位置 toIndex 结束,复制 length 个元素 

        System.arraycopy(fromArray ,fromIndex,toArray,toIndex,length) 

                   //数组复制
    			   System.arraycopy(arr, 0, arr1, 0, 5);
    			   //循环遍历 使用数组下标  注意下标最大数字为数组长度减一
    			   for(int i=0;i<arr1.length;i++)
    		        {
    		            System.out.println("arr1 "+arr1[i]);
    		        }
    

     

     

    5、数组排序 


        冒泡排序:比较两个相邻的元素,将值大的元素交换至右端。

        冒泡排序的过程,是把数组元素中较小的看作是较轻,对它进行上浮操作。从底部开始,反复地对数组进行上浮操作 n ,最后得到有序数组 

        N个数字要排序完成,总共进行N-1遍排序,每i趟的排序次数为(N-i)次,所以可以用双重循环语句,外层控制循环多少遍,内层控制每一遍的循环次数


                          //冒泡算法
    			   		int temp;
    			   		// arr.length - 1是为了防止数据越界 
    				    for(int i=0;i<arr.length-1;i++){
    				    	 //定义每次要比较的数据随着比较的次数的减少而减少
    					    for(int j=0;j<arr.length-i-1;j++){
    					     //每次比较后,要对每个数组里的元素进行比较,并排序
    					    	if(arr[j]>arr[j+1]){
    					    		//进行排序
    					    		temp=arr[j];
    					    		arr[j]=arr[j+1];
    					    		arr[j+1]=temp;
    					    	}
    					  }  
    				    }
    


    选择排序:从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处

    //					    选择算法
    					    for(int i=1;i<arr.length;i++){
    					    	 //定义每次要比较的数据随着比较的次数的减少而减少
    						    for(int j=1;j<arr.length-i-1;j++){
    						     //每次比较后,要对每个数组里的元素进行比较,并排序
    						    	if(arr[j]>arr[j+1]){
    						    		//进行排序
    						    		temp=arr[j];
    						    		arr[j]=arr[j+1];
    						    		arr[j+1]=temp;
    						    	}
    						}  
    

    5、多维数组

        多维数组用多个索引来访问数组元素,它适用于表示表或其他更复杂的内容,多维数组是数组的数组 

        以二维数组举例

        声明

             数据类型[][] 数组名称;

                           数据类型[] 数组名称[];

                           数据类型   数组名称[][];

        初始化

             数据类型[][] 数组名称 = new 数据类型[第一维的长度][第二维的长度];

                           数据类型[][] 数组名称;

                           数组名称 = new 数据类型[第一维的长度][第二维的长度];

        用法和一维数组一样,也即是一位数组的每一个元素都是一维数组

    //						    int arr3[][]=new int[3][4];
    						    int arr3[][]={{1,2,3},{1,2,3,4},{1,2}};
    						    arr3[0][1]=1;
    						    arr3[2][1]=2;
    						    for(int element[]:arr3)
    					        {
    						    	for(int el:element){
    						    		System.out.println("二维数组  "+el);
    						    	}
    					        }
    


  • 相关阅读:
    Python笔记:PEP8常用编程规范
    Flask笔记:蓝图Blueprint
    Flask笔记:视图函数和类视图
    Flask笔记:url_for
    Python设计模式:单例模式
    Linux网络安全篇,认识防火墙(一)
    Linux网络安全篇,配置Yum源(二),阿里Yum源
    IP地址、子网掩码详解
    Linux网络安全篇,配置Yum源(一),本地Yum源
    Linux网络安全篇,进入SELinux的世界(四)
  • 原文地址:https://www.cnblogs.com/Vivi17118/p/6511379.html
Copyright © 2020-2023  润新知