0
点赞
收藏
分享

微信扫一扫

java笔试面试题--int数组的默认值

booksmg2014 2022-04-19 阅读 67
java后端

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
举报

相关推荐

0 条评论