java面试题总结之JavaSE基础
来源:互联网 发布:软件领cf点 编辑:程序博客网 时间:2024/06/05 02:53
== 与 equils的区别
对于基本数据类型来说
- ==比较的是两个变量的值是否相同。
- 基本数据类型无法使用equils方法,必须使用其包装类才能使用equils方法。对于基本数据类型的包装类来说,equils比较的也是值是否相等。
int i = 10;int j = 10;Integer integer1 = 10;Integer integer2 = 10;System.out.println(i == j);System.out.println(integer1.equals(integer2));
输出结果:
true
true
对于普通对象变量来说
- == 比较的是地址
- 对于equils来说,系统类一般已经覆盖了equals(),比较的是内容。
- 用户自定义类如果没有覆盖equals(),将调用父类的equals(比如是Object),而Object的equals的比较是地址(return (this == obj);)
示例:
String s1 = "hello";String s2 = "hello";String s3 = s1 + s2;String s4 = "hellohello";System.out.println(s1 == s2);System.out.println(s3 == s4);System.out.println(s3.equals(s4));
结果:
true
false
true
注: Object的==和equals比较的都是地址,作用相同。
字符串比较是否相等推荐使用equils。
throws 和 throw的区别
从作用,使用位置,抛出内容三个方面进行分析。
1. 作用不同:throw用于程序员自行产生并抛出异常;throws用于声明在该方法内抛出了异常
2. 使用的位置不同:throw位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表的后面,不能单独使用。
3. 内容不同:throw抛出一个异常对象,且只能是一个;throws后面跟异常类,而且可以有多个。
使用递归算法计算 n!
程序代码:
public static int evaluate(int i){ if (i == 1 || i == 0) { return i; }else { return i * evaluate(i-1); } }
关于递归:
(1) 递归就是在过程或函数里调用自身。
(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
(3) 递归算法解题通常显得很简洁,但运行效率较低。所以一般不提倡用递归算法设计程序。
(4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。
0 0
- java面试题总结之JavaSE基础
- JAVASE -JAVA基础面试题
- java面试题-javaSe基础
- javase基础面试题
- javase面试题总结
- JavaSE面试题总结
- 【面试题】JavaSE基础常见面试题
- 面试题总结-Java基础
- java基础面试题总结
- java基础面试题之static和final总结
- 面试题之java基础
- 博为峰Java面试题-JavaSE之抽象类
- Android 面试题总结之Android 基础
- Java程序员基础面试题总结(一)
- Java基础面试题总结(二)
- java基础面试题总结之一
- JAVA---基础面试题总结(1)
- Java面试题之java基础--干货
- Python目录树
- python步进切片
- 在ObjectARX的类定义中使用__declspec(dllimport)的危险
- <meta http-equiv=“X-UA-Compatible” content=“IE=edge”>不添加元素,有什么不同
- 设置下拉列表框的javascript方式进行实现
- java面试题总结之JavaSE基础
- (转)软件测试 (二) 六年软件测试感悟
- Topcoder 639 Div2
- 最简单的window程序——API版本
- 关于android:windowAnimationStyle
- JPEG压缩原理与DCT离散余弦变换
- Drupal常用链接
- CSS-----CSS 样式代码插入的形式
- 本地如何搭建IPv6环境测试你的APP