黑马程序员-Java数组声明、创建、初始化、及排序

黑马程序员-Java数组声明、创建、初始化、及排序简单总结

------- android培训java培训、期待与您交流! ----------

一维数组的声明方式:
type var[]; 或type[] var;

声明数组时不能指定其长度(数组中元素的个数),

Java中使用关键字new创建数组对象,格式为:
数组名 = new 数组元素的类型 [数组元素的个数]

实例:
TestNew.java:

程序代码:

publicclassTestNew 

{  

     publicstaticvoid main(String args[]) { 

        int[] s ; 

        int i ; 

        s =newint[5] ; 

        for(i =0 ; i <5 ; i++) {  

            s[i] = i ; 

        } 

        for(i =4 ; i >=0 ; i--) {  

            System.out.println("" + s[i]); 

        } 

    }  

} 


 

初始化:

1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;
2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;
3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化。
实例:
TestD.java(动态):

程序代码:

publicclass TestD 

{  

     publicstaticvoid main(String args[]){ 

        int a[] ; 

        a =newint[3] ; 

        a[0] =0 ; 

        a[1] =1 ; 

        a[2] =2 ; 

        Date days[] ; 

        days =new Date[3] ; 

        days[0] =new Date(2008,4,5) ;  

        days[1] =new Date(2008,2,31) ;  

        days[2] =new Date(2008,4,4) ;  

    } 

}  

 

class Date 

{  

     intyear,month,day ; 

    Date(int year ,int month ,int day){ 

        this.year = year ; 

        this.month = month ; 

        this.day = day ; 

    } 

}  

 


 

 


TestS.java(静态):

程序代码:

publicclassTestS    

{     

     publicstaticvoid main(String args[]) {    

        int a[] = {0,1,2} ;     

        Time times [] = {new Time(19,42,42),new Time(1,23,54),new Time(5,3,2)} ;    

    }    

}     

 

class Time    

{     

     int hour,min,sec ;    

    Time(int hour ,int min ,int sec) {    

        this.hour = hour ;    

        this.min = min ;    

        this.sec = sec ;    

    }    

}    



 


TestDefault.java(默认):

程序代码:

public    class TestDefault    

{     

     public   static   void   main(String args[]){    

        int a [] =new   int [5] ;    

        System.out.println("" + a[3]) ;    

    }    

}  

 


 

 

 

//冒泡排序算法

public static int[] bubbleSort(int[] args){ 
               for(int i=0;i<args.length-1;i++){
                       for(int j=i+1;j<args.length;j++){
                               if (args[i]>args[j]){
                                       int temp=args[i];
                                       args[i]=args[j];
                                       args[j]=temp;
                               }
                       }
              }
              return args;
      }


 

//选择排序算法

public static int[] selectSort(int[] args){
               for (int i=0;i<args.length-1 ;i++ ){
                       int min=i;
                       for (int j=i+1;j<args.length ;j++ ){
                               if (args[min]>args[j]){
                                       min=j;
                               }
                       }
                       if (min!=i){
                      int temp=args[i];
                      args[i]=args[min];
                      args[min]=temp;        
                      }
              }
              return args;
     }


 

//插入排序算法

public static int[] insertSort(int[] args){
               for(int i=1;i<args.length;i++){
                       for(int j=i;j>0;j--){
                               if (args[j]<args[j-1]){
                                       int temp=args[j-1];
                                      args[j-1]=args[j];
                                      args[j]=temp;        
                               }else break;
                       }
              }
              return args;
      }


 


                                

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值