![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java问题与思考
「已注销」
这个作者很懒,什么都没留下…
展开
-
Java面试题_001
面试题:已知:byte b1 = 3,b2 = 4,b;//问b = b1 + b2;//(1)b = 3 + 4;//(2)问:(1),(2)哪一句是编译失败的呢?为什么?答:(1) b = b1 + b2;是有问题的。因为变量相加会首先看数据类型问题,最终把结果赋值也会考虑类型问题,而题中是类型提升问题,首先 b1 和 b2 先默认转化为 int 型,再进行运算,而两个...原创 2019-07-20 14:27:11 · 177 阅读 · 0 评论 -
关于Java中Integer i = 1;i +=1;所做的事【自动拆装箱问题】
思考题易错观察打码,说明在Java程序中到底做了些什么?public class Test { public static void main(String[] args) { Integer i = 1; i += i; System.out.println("i:" + i); }}代码解析说明代码分析拆装箱过程public class Test { public...原创 2019-09-25 14:53:00 · 1761 阅读 · 1 评论 -
==和equals的区别
==和equals的区别1)====比较的类型作用作用于基本数据类型变量比较的是存储的值是否相等作用于引用数据类型变量比较的是指向的对象的地址是否相等class Test { public static void main(String[] args) { Integer i1 = new Integer(12); Integer i2 = new...原创 2019-09-23 20:53:41 · 146 阅读 · 0 评论 -
Java思考---String和StringBuffer类型的参数传递问题
形式参数问题A:String作为参数传递B:StringBuffer作为参数传递形式参数:基本参数:形式参数的改变不影响实际参数引用参数:形式参数的改变直接影响实际参数注意:String作为参数传递,效果和基本参数传递是一样的代码举例:public class Test { public static void main(String[] args) { String s ...原创 2019-09-15 20:57:04 · 208 阅读 · 0 评论 -
Java面试题---StringBuffer和数组的区别?
StringBuffer和数组的区别?A:StringBuffer的数据最终是一个字符串数据B:而数组可以放任意类型的数据,但是看,一个数组中只能放同一种类型的数据。原创 2019-09-15 20:42:48 · 332 阅读 · 0 评论 -
Java面试题---String,StringBuffer,StringBuilder的区别?
String,StringBuffer,StringBuilder的区别?A:String是内容不可变,而StringBuffer,StringBuilder是内容可变B:StringBuffer是同步的,数据安全,但是效率低,StringBuilder是不同步,数据不安全,效率高...原创 2019-09-15 20:41:33 · 186 阅读 · 0 评论 -
看程序写结果---String的使用
public class StringDenmo { public static void main(String[] args) { //1 String s1 = new String("HelloWorld"); String s2 = new String("HelloWorld"); System.out.println(s1 == s2);//false Sys...原创 2019-09-08 20:57:13 · 171 阅读 · 0 评论 -
Java面试题---String s = new String("HelloWorld")和String s2 = "HelloWorld"有区别么?
String s = new String(“HelloWorld”)和String s2 = "HelloWorld"由区别么?答:有。前者在使用的时候创建了两个对象,一个在堆内存中,一个在方法区中的字符串常量池中而后者在使用的时候创建了两个对象,对象指向的地址和前者一样代码比较说明public class Interview { public static void main(S...原创 2019-09-08 20:08:04 · 1574 阅读 · 1 评论 -
Java面试题---关于匿名内部类(补全代码)
匿名内部类面试题按照要求,补全代码要求在控制台输出“HelloWorld”interface Inter { void show();}calss Outer { //补全代码}class OuterDemo { public static void main(String[] args ) { Outer.method().show(); }}代码呈现解答inte...原创 2019-09-02 15:17:34 · 1254 阅读 · 0 评论 -
思考题---局部内部类访问局部变量时,被访问的局部变量为什么必须用final修饰才可以访问?
思考题局部内部类访问局部变量时,被访问的局部变量为什么必须用final修饰才可以访问?答:因为局部变量会随着方法的调用而调用,随着调用完毕而消失这个时候局部对象并没有立马从堆内存中消失,还要使用这个变量为了让数据还能继续被使用,就用 final 修饰这样在堆内存里面存储的其实使一个常量值Java文件class Outer { public void show() { int n...原创 2019-09-01 17:17:28 · 356 阅读 · 0 评论 -
Java面试题---成员内部类访问成员内部类中的局部变量,成员内部类中的成员变量,对应外类的成员变量
题目:在下列程序中填空分别输出30,20,10class Outer { public int num = 10; class Innter { public int num = 20; public void show() { int num = 30; //在下列括号中填写,使得依次输出30,20,10 System.out.println(); Syste...原创 2019-09-01 16:36:12 · 259 阅读 · 0 评论 -
面试题---API的总称
API的总称API (Application Programming Interface)应用程序编程接口(帮助文档)原创 2019-08-15 15:10:34 · 105 阅读 · 0 评论 -
Java面试题---this关键字和super关键
this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用?this:代表类的对象引用super:代表父类存储空间的标识(可以理解为父类的引用,通过这个关键字可以访问父类的成员)场景*成员变量:this . 成员变量super . 成员变量构造方法:this(…)super(…)成员方法:this . 成员方法super . 成员方法...原创 2019-08-14 18:43:00 · 542 阅读 · 0 评论 -
Java面试题--方法重载和方法重写
方法重写和方法重载的区别?方法重载能改变返回值类型吗?方法重写:在子类中出现与父类中相同的方法声明的现象方法重载:同一类中,出现的方法名相同,参数列表不同的现象方法重载能改变返回值类型,因为它与返回值类型无关Override:方法重写Overload:方法重载...原创 2019-08-14 18:29:54 · 646 阅读 · 0 评论 -
交换两个变量值的四种方法
面试题:交换两个变量的值int a = 10;int b = 20;方案A:使用第三方变量(开发中使用)int c = a;a = b;b = c;方案B:用异或的特点实现(面试使用)a = a ^ b;b = a ^ b;//a ^ b ^ b = aa = a ^ b;//a ^ b ^ a = b方案C:用变量相加的方法a = a + b;b = a - b;...原创 2019-07-31 21:08:25 · 7043 阅读 · 4 评论 -
Java思考题,关于 += 的隐含意义
思考题A:short a = 1;a = a + 1;B:short a = 1;a += 1;问:以上两端代码有没有问题?如果有,那么问题在哪里?答:A中有问题,会出现损失数据精度的可能,同样会报错。因为这之间存在一个 int 型到 short 型之间的转换,会损失精度。B中所运用到的运算符【+=】,其实隐含了一个强制转换,由此可知:s += 1 并不等价于 s = s...原创 2019-07-22 22:54:51 · 132 阅读 · 0 评论 -
Java面试题_002
面试题问: Java语言中的字符char可以存储一个中文汉字吗?为什么?答:可以。因为Java语言中的字符占用两个字节。Java语言采用的是Unicode编码。原创 2019-07-21 23:40:24 · 97 阅读 · 0 评论 -
Java易错题---Integer的缓冲池问题
观察下面的代码,答案在各个输出语句的后面注释着public class Test { public static void main(String[] args) { Integer i1 = new Integer(127); Integer i2 = new Integer(127); System.out.println(i1); System.out.pri...原创 2019-09-25 15:08:44 · 273 阅读 · 0 评论