• java排列


          排列:它可以被看作是多个相同类型的数据的组合,这些数据的统一管理。


    1.声明、 创建

    一维:type[]  var  比如:int[] a或 int a[];

     数组名= new  数组元素的类型[数组元素的个数]

    public class TestNew  
        {  
             public static void main(String args[]) {  
                 int[] s ;  //声明  或者int s[]   可是不可int s[5]      
                 s = new int[5] ; //创建 new
                 for(i = 0 ; i < 5 ; i++) {  
                     s[i] = i ;  
                 }             
             }   
    }

    2初始化

         静态初始化:在定义数组的同一时候就为数组元素分配空间并赋值。

         动态初始化:数组定义和数组元素分配空间和赋值分开操作。

         默认初始化:数组是引用类型,元素相当于成员变量。因此数组在分配空间后,系统默认给每一个元素进行了隐式初始化。

    public class Test  
    {  
         public static void main(String args[]) {  
             //动态初始化
             int a[] ;  
             a = new int[22] ;  
             a[0] = 0 ;  
             a[1] = 1 ;  
             Date days[] ;  
             days = new Date[2] ;  
             days[0] = new Date(2015,6,1) ;  
             days[1] = new Date(2012,5,5) ;  
    
             //静态初始化
              int a[] = {0,1} ;     
              Date days[]= {new Date(2015,6,1),new Date(2012,5,5} 
    
             //默认初始化
             int a[] = new int [2] ;     
             Date days[] = new Date[2]
                //输出结果。基本类型默觉得0应用类型默觉得null
             System.out.println(a[1]+" "+Date[1]) ;   
         }  
    }  
     
    class Date  
    {  
         int year,month,day ;  
         Date(int year ,int month ,int day) {  
             this.year = year ;  
             this.month = month ;  
             this.day = day ;  
         }  
    }



    3.数组拷贝

    java的lang包中封装了arraycopy方法能够实现数组的拷贝

    public static void arraycopy(Object s,int sbeginPos,Object scopy,int scopybeginPos,int slength )           
            s:源数组  、 sbeginPos:源数组開始位置 
            scopy:目标数组  、 scopybeginPos:目标数组開始放置位置 
            slength:要拷贝源数组的长度

    样例例如以下:

    public class Array{
    	
    	//拷贝数组,
    	public static void main(String[] args){
    		//1.元素为基本类型的,目标数组和源数组的元素独立,不相互影响
    		String[] s ={"IBM","Oracle","Apple"};
    		String[] sBak = new String[6];
    		
    		//1.1从源数组s s[1]開始拷贝元素到目标数组sBak中从sBak[2]開始存放的拷贝进来的元素,拷贝的个数为s.length-1个
    		System.arraycopy(s,1,sBak,2,s.length-1);
    		
    		for(int i=0;i<sBak.length;i++){
    			System.out.print(sBak[i]+" ");
    		}		
    		//1.2改动目标数组一个元素值
    		sBak[2]="tihuan";
            //1.2.1目标数组值改变
    		System.out.print("
    ");
    		for(int i=0;i<sBak.length;i++){
    			System.out.print(sBak[i]+" ");
    		}
    		//1.2.2源数组值不变
    		System.out.print("
    ");
    		for(int i=0;i<s.length;i++){
    			System.out.print(s[i]+" ");
    		}
    		
    		//2.元素为引用类型的,拷贝的是数组的引用,对随意数组元素的改动都会影响其它数组。
    		System.out.println();
    		int[][] intArray ={{1,2},{1,2,3},{3,4}};
    		int[][] intArrayBak = new int[3][];
    		
    		System.arraycopy(intArray,0,intArrayBak,0,intArray.length);
    		//2.1改动目标数组的一个元素值
    		intArrayBak[2][1] = 100;
    		//2.2打印源数组看值是否发生变化
    		for(int i=0;i<intArray.length;i++){
    			for(int j=0;j<intArray[i].length;j++){
    				System.out.print(intArray[i][j]+" ");
    			}
    			
    			System.out.println();
    		}  
    	}
    }

    结果显示为:


          数组属引用类型,同一时候数组能够看成对象,数组中的每一个元素相当于该对对象的变量成员。

    作用声明数组的时候在栈内存中分配数组名的存储空间。创建的时候分配的存储空间阵列堆栈内容。

    版权声明:在这篇文章中的不可避免的缺点,敬请各位批评,留下评论。

  • 相关阅读:
    python接口自动化-json数据处理
    Fiddler-抓取手机app请求
    monkey常用命令实例
    python接口自动化-Cookie_绕过验证码登录
    python接口自动化-session_自动发文
    python接口自动化-post请求4
    python接口自动化-post请求3
    Python学习笔记第十五周
    Python学习笔记第十四周
    Python学习笔记第十二周
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4842565.html
Copyright © 2020-2023  润新知