1. 程式人生 > >java筆試面試題--int陣列的預設值

java筆試面試題--int陣列的預設值

1.今天在面試的時候遇到一個程式題,程式碼如下:

public class test2
{

	public static void main(String[] args)
	{
		int[] arr=new int[5];
		//給陣列成員賦值
		arr[0]=2;
		arr[3]=5;
		for (int i = 0; i < arr.length; i++)
		{
			//依次輸出每個陣列成員的值
			System.out.println("show:"+arr[i]);
		}
	}
}
輸出結果如下:
show:2
show:0
show:0
show:5
show:0
你會發現,沒有賦值的成員,輸出的結果預設值是:0;

原因:因為int是java的基本資料型別,它的預設值是0;

擴充套件:

8中基本資料型別的預設值:

①byte short int long 這四種基本資料型別陣列預設值為0

②float double 這兩種陣列預設值是0.0

③char這種型別陣列預設值為空格

④boolean型別陣列預設值為false

2.當定義的陣列型別是Integer時,輸出結果又是什麼?

程式碼如下:

public class test2
{

	public static void main(String[] args)
	{
		//int[] arr=new int[5];
		Integer[] arr=new Integer[5];
		//給陣列成員賦值
		arr[0]=2;
		arr[3]=5;
		for (int i = 0; i < arr.length; i++)
		{
			//依次輸出每個陣列成員的值
			System.out.println("show:"+arr[i]);
		}
	}
}
輸出結果:
show:2
show:null
show:null
show:5
show:null
這裡沒有賦值的輸出是null,這又是位什麼呢?

原因:因為Integer類不是基本的資料型別,預設值不是0,是null;

擴充套件:java基本資料型別的預設值為0,引用資料型別的預設值為null;引用資料型別主要包括三種:類Class,介面Interface,陣列;

類Class引用 
可以是我們建立的,這裡我不多講,主要是講解幾個java庫中的類 

Object :Object是一個很重要的類,Object是類層次結構的根類,每個類都使用Object作為超類,所有物件(包括數 

               組)都實現這個類的方法。用Object可以定義所有的類 



              如: 

              Object object= new Integer(1); 來定義一個Interger類 

               Integer i=(Integer) object;     在來把這個Object強制轉換成Interger類 

String :String類代表字串,Java 程式中的所有字串字面值(如"abc")都作為此類的例項來實現。檢查序列的單 

               個字元、比較字串、搜尋字串、提取子字串、建立字串副本、在該副本中、所有的字元都被轉換為                      大 寫或小寫形式。 

Date :Date表示特定的瞬間,精確到毫秒。Date的類一般現在都被Calendar 和GregorianCalendar所有代替 

Void :Void 類是一個不可例項化的佔位符類,它保持一個對代表 Java 關鍵字 void 的 Class 物件的引用。 

同時也有對應的Class如:Integer  Long  Boolean  Byte  Character  Double  Float   Short這些基本資料型別的封裝類;

.3.String型別的陣列輸出?

程式碼如下:

public class test2
{

	public static void main(String[] args)
	{
		
		String[] arr=new String[5];
		//給陣列成員賦值
		arr[0]="haha";
		arr[3]="java";
		for (int i = 0; i < arr.length; i++)
		{
			//依次輸出每個陣列成員的值
			System.out.println("show:"+arr[i]);
		}
	}
}

輸出結果:
show:haha
show:null
show:null
show:java
show:null