只有面试官想不到,没有我归纳不出 超详细的Java面试题总结

来源:互联网 发布:淘宝店怎么推广宣传 编辑:程序博客网 时间:2024/05/08 22:21

一、Java 基础部分

1.JAVA 的基本数据类型有哪些 ? String 是不是基本数据类型 ?

Java 有 8 种基本数据类型: byte int short long double float Boolean char

byte int short long 都属于整数类型.

Double float 属于浮点类型.

Boolean 为布尔类型

Char 为字符型

String 不是基本数据类型.它定义的为对象

2.一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?

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

3.Java 有没有 goto?

java 中的保留字,现在没有在 java 中使用。

4.说说&和&&的区别.

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都

为 true 时,整个运算结果才为 true,否则,只要有一方为 false,则结果为 false。

&&还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式,例如,对

于if(str != null && !str.equals(“”))表达式,当 str 为 null 时,后面的表达式不会执行,所以不会出现 NullPointerException 如果将&&改为&,则会抛出 NullPointerException 异常。If(x==33 & ++y>0) y 会增长,If(x==33 && ++y>0)不会增长

&还可以用作位运算符,当&操作符两边的表达式不是 boolean 类型时,&表示按位与操作,

我们通常使用 0x0f 来与一个整数进行&运算,来获取该整数的最低 4 个 bit 位,例如,0x31 & 0x0f 的结果为 0x01。

备注:这道题先说两者的共同点,再说出&&和&的特殊之处,并列举一些经典的例子来表明自己理解透彻深入、实际经验丰富。

5.在 JAVA 中如何跳出当前的多重嵌套循环?

在Java 中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环

体的代码中使用带有标号的 break 语句,即可跳出外层循环。例如, ok:

for(int i=0;i<10;i++){

System.out.println(“i=” + i + “,j=” + j);

if(j == 5) break ok;

}

}

另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。

int arr[][] = {{1,2,3},{4,5,6,7},{9}};

boolean found = false;

for(int i=0;i

原创粉丝点击