【Java概念学习】--数组的初始化

时间:2022-05-04
本文章向大家介绍【Java概念学习】--数组的初始化,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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

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

实例: ArrayTest.java:

程序代码:

public class ArrayTest  
{  
 public static void main(String args[]) {  
 int[] s ;  
 int i ;  
         s = new int[5] ;  
 for(i = 0 ; i < 5 ; i++) {  
             s[i] = i ;  
         }  
 for(i = 4 ; i >= 0 ; i--) {  
             System.out.println("" + s[i]) ;  
         }  
     }   
} 

初始化:

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

ArrayTestD.java(动态):

程序代码:

public class ArrayTestD  

{  

     public static void main(String args[]) {  

         int a[] ;  

         a = new int[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  

{  

     int year,month,day ;  

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

         this.year = year ;  

         this.month = month ;  

         this.day = day ;  

     }  

}  

 

ArrayTestS.java(静态):

程序代码:

public class ArrayTestS     

{     

     public static void 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 ;     

     }     

}    

ArrayTestDefault.java(默认):

程序代码:

public class ArrayTestDefault     

{     

     public static void main(String args[]) {     

         int a [] = new int [5] ;     

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

     }     

}