Java容易搞错的知识点-觉得基础扎实的来看

Java容易搞错的知识点-觉得基础扎实的来看

ID:37710721

大小:33.79 KB

页数:7页

时间:2019-05-29

Java容易搞错的知识点-觉得基础扎实的来看_第1页
Java容易搞错的知识点-觉得基础扎实的来看_第2页
Java容易搞错的知识点-觉得基础扎实的来看_第3页
Java容易搞错的知识点-觉得基础扎实的来看_第4页
Java容易搞错的知识点-觉得基础扎实的来看_第5页
资源描述:

《Java容易搞错的知识点-觉得基础扎实的来看》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、关于Switch代码:Java代码 1.public class TestSwitch {  2.    public static void main(String[] args) {  3.        int i = 2;  4.        switch (i) {  5.        case 1:  6.            System.out.println(1);  7.        case 2:  8.            System.out.println(2);

2、  9.        case 3:  10.            System.out.println(3);  11.        default:  12.            System.out.println(4);  13.        }  14.    }  15.}  publicclassTestSwitch{publicstaticvoidmain(String[]args){inti=2;switch(i){case1:System.out.println(1);cas

3、e2:System.out.println(2);case3:System.out.println(3);default:System.out.println(4);}}}结果:234分析:少了break;所以2以下的case和default都执行了一遍。二、Equals和==运算符代码:Java代码 1.public static void test() {  2.    String x = "hello";  3.    String y = "world";  4.    String z = n

4、ew String("helloworld");  5.    String a = "helloworld";  6.    System.out.println("x+y equals z:" + (x + y).equals(z));  7.    System.out.println("a == z:" + (a == z));  1.    System.out.println("x == hello:" + (x == "hello"));  2.    System.out.println(

5、"a == helloworld:" + (a == "hello" + "world"));  3.    System.out.println("a == x+y:" + (a == (x + y)));  4.}  publicstaticvoidtest(){Stringx="hello";Stringy="world";Stringz=newString("helloworld");Stringa="helloworld";System.out.println("x+yequalsz:"+(x+

6、y).equals(z));System.out.println("a==z:"+(a==z));System.out.println("x==hello:"+(x=="hello"));System.out.println("a==helloworld:"+(a=="hello"+"world"));System.out.println("a==x+y:"+(a==(x+y)));}结果:x+yequalsz:truea==z:falsex==hello:truea==helloworld:truea=

7、=x+y:false分析:1.String.equals()方法比较的是字符串的内容,所以(x+y).equals(z)为true.2.“==”比较的是String实例的引用,很明显a和z并不是同一个String实例,所以(a==z)为false.3.根据常量池的知识,容易得知(x=="hello")和(a=="hello"+"world")都为true.(常量池指的是在编译期被确定并被保存在已编译的.class文件中的一些数据。它包含了关于方法、类、接口等,当然还有字符串常量的信息。也就是所谓的持久代。

8、)4.那么(a==(x+y))为什么是false呢?这点暂点有点不大清楚。初步认为是x+y是引用相加,不能放入常量池。三、Override覆盖代码:Java代码 1.public class Parent {  2.  3.    public static String say() {  4.        return "parent static say";  5.    }  6.  7.    public Stri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。