Java常见面试题-1

问:

1 面向对象的特征有哪些方面?

2 访问修饰符public,private,protected,以及不写(默认)时的区别?

3  String 是最基本的数据类型吗? 对象类型 基本类型

4  float f=3.4;是否正确?

5  short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

6  Java有没有goto?

7  int和Integer有什么区别?

8  &和&&的区别? if( a>6 && a<100 )

9  switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

10 用最有效率的方法计算2乘以8?

11 数组有没有length()方法?String有没有length()方法?

12 在Java中,如何跳出当前的多重嵌套循环?

13、构造器(constructor)是否可被重写(override)?

14、是否可以继承String类?

15、String和StringBuilder、StringBuffer的区别?

16、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

17、char 型变量中能不能存贮一个中文汉字,为什么?

18、抽象类(abstract class)和接口(interface)有什么异同?

19、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰? 是否能使final修饰的?

20、阐述静态变量和实例变量的区别。

21、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?

22、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?

23、一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制?

24、Java 中的final关键字有哪些用法?

25、Error和Exception有什么区别?

26、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?

27、Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?

28、运行时异常和受检异常有什么区别?

29、列举一些常见的运行时异常?

30、final 和 finally finalize的区别?

答:

1:面向对象的特征有:继承、多态、封装;Java中面向对象的特征有:继承、多态、封装、抽象、接口等。

2:访问修饰符public、private、protected、以及不写时默认default的区别:作用域的不同(参考下表)

  当前类 当前包 当前子类 其他包
public
protected  
default    
private      

3:Java中String不是基本数据累i系那个,属于对象类型,是object的子类。

4:Float f = 3.4; 不正确,编译器会报强制类型转换的错误,3.4默认的是Double类型而不是单精度浮点型float,float声明的时候需要在后面加F。

5:Short s1 = 1; s1 = s1 + 1;编译器会报强制类型转换的错误:int类型不能转换为short;s1 = s1 + 1;等式右边会发生类型的自动提升,转换才int,int不能隐式类型转换为short,故报错;short s1 = 1; s1 += 1;编译器正常运行,+=是Java中的运算符,s1 += 1在运行的时候会默认进行隐式类型转换,等于s1 = (short)(s1 + 1);故不报错。

6:Java中goto是保留字,但是没有使用。

7:int是Java提供的8中基本数据类型之一。Java为每个基本数据类型提供了封装类,integer是Java为int提供的封装类。int的默认是是0;而integer的默认值是null,即integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。

8:&和&&都可用于逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式结果都为True时,整个运算结果才为True,如果有一方为False,则运算结果为False;&&还有短路的功能,如果第一个表达式结果为False,则第二个表达式不再运算,运算结果为False;&主要用于位运算;例如:If(a>6&&y++),a>6为False时,运算结果为False,y不会++;If(a>5&y++),a>6为False时还需判断y++是否为False,此时会报错,布尔值无法和int类型比较。

9:switch能作用在byte上,不能作用在long 和String 上。

10:2<<3

11:

猜你喜欢

转载自www.cnblogs.com/blackboc-java/p/11481892.html
今日推荐