Java 基础部面试
2016-06-30 17:29
260 查看
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以有多个类,但是只能有一个Public类,并且public类名必须与文件名一致。
2、Java 有没有 goto?
java 中的保留字,现在没有在 java 中使用。
3、说说&和&&的区别。
&和&&都可以表示逻辑与,但是&还可以用做按位与操作,&&还具有短路功能,如果第一个表达式为false并不计算第二个表达式
4、switch 语句能否作用在 byte 上,能否作用在 long 上,能否作用在 String上?
不能,switch作用在int short char byte.
5、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1;有错,s1 = s1 + 1;需要强制类型转换。short s1 = 1; s1 += 1;没错
6、char 型变量中能不能存贮一个中文汉字?为什么?
可以,char 型变量是用来存储 Unicode 编码的字符的,unicode 编码字符集中包含了汉字
7、用最有效率的方法算出 2 乘以 8 等于几?
2<<3
8、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
引用不能改变但引用的对象可以改变
9、"=="和 equals 方法究竟有什么区别?
“==”用来查看两个变量的值是否相等,equals方法主要是检查两个变量的指向对象是否是同一个对象
10、静态变量和实例变量的区别?
静态变量加了static,不需要创建实例就可以直接使用。而实例变量需要创建实例后才会分配存储空间,并且需要创建实例后才可以被使用
11、是否可以从一个 static 方法内部发出对非 static 方法的调用?
不可以,非static方法必须使用实例调用
12、Integer 与 int 的区别?
Integer是引用类型,int是基本类型(或者说是java的封装类)java有8种基本类型:int char byte long short boolean float double,对应的封装类:Integer Character Byte Long Short Boolean Float Double
13、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)等于12,Math.round(-11.5)等于-11
14、下面的代码有什么不妥之处?
if(username.equals(“zxx”){}
username可能为null会出现空指针异常,应该改为:"zxx".equals(username)
15、Overload 和 Override 的区别。Overloaded 的方法是否可以改变返回值的类型?
Overload 是重载的意思,Override 是覆盖的意思,也就是重写。重载 Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相
同(即参数个数或类型不同)。
重写 Override 表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。
可以有多个类,但是只能有一个Public类,并且public类名必须与文件名一致。
2、Java 有没有 goto?
java 中的保留字,现在没有在 java 中使用。
3、说说&和&&的区别。
&和&&都可以表示逻辑与,但是&还可以用做按位与操作,&&还具有短路功能,如果第一个表达式为false并不计算第二个表达式
4、switch 语句能否作用在 byte 上,能否作用在 long 上,能否作用在 String上?
不能,switch作用在int short char byte.
5、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1;有错,s1 = s1 + 1;需要强制类型转换。short s1 = 1; s1 += 1;没错
6、char 型变量中能不能存贮一个中文汉字?为什么?
可以,char 型变量是用来存储 Unicode 编码的字符的,unicode 编码字符集中包含了汉字
7、用最有效率的方法算出 2 乘以 8 等于几?
2<<3
8、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
引用不能改变但引用的对象可以改变
9、"=="和 equals 方法究竟有什么区别?
“==”用来查看两个变量的值是否相等,equals方法主要是检查两个变量的指向对象是否是同一个对象
10、静态变量和实例变量的区别?
静态变量加了static,不需要创建实例就可以直接使用。而实例变量需要创建实例后才会分配存储空间,并且需要创建实例后才可以被使用
11、是否可以从一个 static 方法内部发出对非 static 方法的调用?
不可以,非static方法必须使用实例调用
12、Integer 与 int 的区别?
Integer是引用类型,int是基本类型(或者说是java的封装类)java有8种基本类型:int char byte long short boolean float double,对应的封装类:Integer Character Byte Long Short Boolean Float Double
13、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)等于12,Math.round(-11.5)等于-11
14、下面的代码有什么不妥之处?
if(username.equals(“zxx”){}
username可能为null会出现空指针异常,应该改为:"zxx".equals(username)
15、Overload 和 Override 的区别。Overloaded 的方法是否可以改变返回值的类型?
Overload 是重载的意思,Override 是覆盖的意思,也就是重写。重载 Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相
同(即参数个数或类型不同)。
重写 Override 表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。
相关文章推荐
- 【那些年遇到过的面试题】traceroute和tracert有什么区别
- 程序员每天该做的事
- 程序员的修养 -- 如何写日志(logging)
- JAVA面试题一
- 十大编程算法助程序员走上高手之路
- 软件工程师面试题(一)
- 我不要做骡子程序员
- BAT 面试指南
- 面试官怎样面试出合格的技术人员
- 面试的心情
- Android 面试题总结之Android 进阶(二)
- java面向对象面试题(2)
- 软件开发人员和程序员语录
- 程序员编程的 7 + 1 条小贴士
- 分治算法-面试题
- 人生虽然很艰难,但所有的付出都有回报
- iOS面试题
- mysql小记: 面试可用,公司开发可用
- (转)每个程序员都应该收藏的算法复杂度速查表
- 列表删除操作-list.remove()