• 周老师:13647472554

新闻动态

领航者Java开发培训分享三道经典的Java面试题
作者:领航者教育 / 2019-06-27 / 浏览次数:

   领航者教育的每一届Java培训班的学员,在毕业之前,都会在领航者老师精心准备的题库中,大量的刷题。而在这些题目中,有三道题是比较经典的,这次,Java开发培训班的老师就给大家公布出来,作为福利:

千锋<a  data-cke-saved-href=http://www.mobiletrain.org/ href=http://www.mobiletrain.org/ target=_blank class=infotextkey>Java培训</a>.jpg

  一、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

  在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。

  二、静态变量和实例变量的区别?

  在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以经由这个对象来使用,静态变量则可以直接使用类名来引用。例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。

  三、Integer与int的区别

  int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm映射文件中设置其unsaved-value属性为0。

  另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的极大值和极小值的常量。

  当然,完整的Java面试题库,只有领航者教育才有,如果您想刷一波题,就快来领航者教育吧!

全部课程
热门资讯
快速导航

全部课程: Java全栈开发 | 大数据开发 | 云计算 | RHCE认证 | Linux运维工程师 | Python全栈开发

Copyright @ 2011-2019 衡阳市领航者教育培训学校有限公司.版权所有 | 备案号:湘ICP备19012681号

公司地址:湖南省衡阳市石鼓区船山大道5号百花大厦8-9层 | 网站地图

咨询QQ:547110589 | 手机:13647472554 | 电话:0734-8381101

官方微信公众号: