小山博客--面试题答案

赢在面试之Java基础篇(1)

1.可以有多个类,但只能有一个public的类,并且public的类名必须与文件名一致。

2.java有goto,但是是保留字,目前还没有被应用

3.相同点:&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时整个结果才为true

 不同点:&&具有短路功能,即第一个表达式为false则不在计算第二个表达式;&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,如3&1结果是1

4.跳出循环使用break关键字,跳出多重循环可以在最外层循环使用标记,或者是用外层的循环可以受到内存循环的控制

5.switch可作用于char byte short int和对应的包装类,不能作用于long double float boolean和他们的包装类

6.对于short s1= 1; s1 = s1 + 1;由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。

 对于short s1= 1; s1 += 1;由于 +=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。 

7.可以,因为 char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字

8.利用位运算2 << 3

9.如果final修饰的是一个基本数据类型的变量,那么这个变量的值就定了,不能变了,而如果修饰的是一个引用变量,那么该变量存的是一个内存地址,该地址就不能变了,但是该内存地址所指向的那个对象还是可以变的,就像你记住了人家的门牌号,但你不能管人家家里人员数量。

10. a.静态变量(类变量)前要加 static 关键字,而实例变量(成员变量)前则不加

  b.静态变量属于类的,使用时直接用类名点,实列变量属于对象的,必须用对象才能点

  c.静态变量存在于方法区中,实例变量存在于堆中

赢在面试之Java基础篇(2)

11.不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以 直接调用。

12.a.int是一个基本数据类型,Integer是int对应的包装类

  b.int的默认值是0,Integer默认值是null

    c、Integer实际是对象的引用,而int则是直接存储数据值 。

13.结果是12 和 -11 Math.round(11.5)的方法可以理解为将括号内的数+0.5之后,向下取值,

  Math.ceil求最小的整数,但不小于本身 ---向上取整

  Math.floor求最大的整数,但不大于本身.  ----向下取整

  Math.round求本身的四舍五入.

  Math.abs求本身的绝对值.   

14.Overload是重载,发生在同一个类中,方法名称相同,参数列表不同,Overload不能改变返回值类型

   Override是重写,发生在父子类中,方法名称相同,参数列表相同,方法体不同

  

猜你喜欢

转载自www.cnblogs.com/zblwyj/p/11903962.html