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


你可能感兴趣的:(java笔试面试题--int数组的默认值)