zoukankan      html  css  js  c++  java
  • 数组,排序方法

    数组

    概念:存储数据的容器
    
    ## 一、 特点
    1、只能存储同一种数据类型
    2、长度固定
    3、直接打印数组名,打印的结果是数组在堆内存中的地址
    4、数组创建后,都会根据其数据类型赋予默认值
    
    	整型:0
    	浮点型:0.0
    	布尔型:false
    	字符型:u0000 控制台中以一个空格显示
    	其他(引用数据类型): null
    
    ## 二、 创建
    
    []的位置可以放在数据类型之后,也可以放在数组名之后
    ### 2.1 静态创建
    	格式:
    	数据类型 [] 数组名 = new 数据类型 []{元素1、元素2、、、、};
    		
    	变形:
    	数据类型 [] 数组名 =  {元素1、元素2、、、、};
    
    	注:当编码完成时,数组长度固定,在编译运行期间,不能再对数组进行改动,即不能对数组元素进行增删
    
    
    	### 2.2 动态创建
    		格式:
    			数据类型 [] 数组名 = new 数据类型 [长度];
    
    ## 三、数组中元素的获取、赋值
    
    格式:
    	数组名[下标]
    
    下标:索引、角标,  范围是 0~长度-1
    
    获取数组的长度: 数组名.length  例如 arr.lengths
    赋值:数组名[下标] = 值;
    
    
    ## 四、 遍历
    1、借助Arrays工具类的toString(),将数组以字符串的形式输出
    
    2、循环遍历
    
    	int arr[] = {x,x,x,x,x,x};
    	for(int i = 0 ; i < arr.lenght; i++){
    		//输出
    		System.out.println(arr[i]);
    	} 
    
    
    ## 五、 存在的问题
    
    1、ArrayIndexOutofBoundsException, 数组下标越界异常
    	数组的下标的范围是0~长度-1,不在这个区间内,都会发生异常
    
    注意下标要在合理的范围内
    
    
    2、NullPointerException, 空指针异常
    
    	数组对象没有new过就使用
    
    
    
    ## 六、 数组排序
    ### 6.1 冒泡排序
    	即相邻元素作比较,满足交换条件则交换,得到当前最值
    	找第一个最值时,不能省略次数
    	 找第二个最值是,可以省略一次
    	 找第三个最值时,可以省略两次
    	 。。。。。
    
    	int [] arr = {12,53,23,87,66,54,88};
    	int temp = 0;
    	for (int i = 0; i < arr.length-1; i++) {
    		for(int j = 0; j < arr.length-1-i; j++){
    			if(arr[j]<arr[j+1]){
    				temp = arr[j+1];
    				arr[j+1] = arr[j];
    				arr[j] = temp;
    			}
    			
    		}
    		
    	}
    
    
    
        ### 6.2 选择排序
    	1、从第一个元素开始,将每一个与后续的所有元素进行比较
    	 2、当得到最值时,与第一个元素进行交换
    	3、在剩下还未排序的元素中,从第一个元素开始
    	将每个元素与后续的所有元素进行比较
    	当得到最值是,与当前的第一个元素进行交换
    
    	 	int [] arr = {99,88,77,66,55,44,33,22,11};
    		int temp;
    		int minIndex;
    		for (int i = 0; i < arr.length-1; i++) {
    			minIndex = i;
    			for(int j = i+1;j< arr.length;j++){
    				if(arr[minIndex] > arr[j]){
    					minIndex = j;
    				}
    			}
    			temp = arr[i];
    			arr[i] = arr[minIndex];
    			arr[minIndex] = temp;
    			System.out.println(Arrays.toString(arr));
    		}
    

    二维数组

    概念:存储数组元素的数组,即每个元素都是一个数组
    
    	## 一、创建
    		1、
    		数据类型 [][] 数组名 = new shu数据类型[①][②];
    
    		①:二维数组的长度
    		②:每一个小数组的长度
    
    		2、数据类型[][]数组名 = new 数组类型[①][];
    
    
    		3、数据类型[][] 数组名 = {}
    			{元素1,元素2,。。。。。},
    			{元素1,元素2,。。。。。},
    			{元素1,元素2,元素3.。。。。}
    
    		};
    		这种方式创建的二维数组中的小数组要单独创建
    代码改变生活
  • 相关阅读:
    Working with File Contents and Files in Power Automate
    Quickly edit data in your Common Data Service
    Import Excel Data into a Model Driven PowerApp using Data Integration Project
    mybatis 的CRUD操作
    网络编程
    字节流、字符流
    File类、递归
    线程池
    等待与唤醒案例
    线程
  • 原文地址:https://www.cnblogs.com/LTJAVA/p/11368786.html
Copyright © 2011-2022 走看看