ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

小芳同学的错题总结(七)

2021-10-02 22:32:46  阅读:179  来源: 互联网

标签:同学 java String str3 str2 str1 错题 小芳 欢迎


1.题目:给定JAVA代码如下。编译运行,结果( )。
public static void main(String[] args){
     int i;
     System.out.println("i="+i);
}

A 编译错误   B  可以通过编译但运行时出现错误   C  正常运行,输入i=-1    D  正常运行,输入i=0

答案:A

通不过编译,在JAVA中变量先要经过初始化才能被使用,本题中i没有进行初始化,无法执行输出语句,这段代码在Eclipse会提示这样的错误。结合下面图所示The local variable i may not have been initialized(会提醒你还没初始化)

2.JAVA中一些常见的转义字符

题目:在Java中,表示换行符的转义字符是

A  /f  B  /n  C  /dd   D  /t

答案:B

\n  换行    \t  相当于键盘的Tab键   \\ 为\     \' 为'      \" 为"      \0为null(空字符)/f为换页

这些常见的记住就行了

3.对String中"=="的补充

在前面已经介绍了”==“时比较值和比较地址的,那我们加大一点难度,看看下面这道题

public class Test1 {
public static void main(String[] args) {
        //编译时优化
        String str1="欢迎来到java的世界";
        String str2="欢迎来到"+"java的世界";
        System.out.println(str1==str2);
        System.out.println(str1.equals(str2));
        
        String str4="欢迎来到";
        String str3=str4+"java的世界";
        System.out.println(str3==str1);
        System.out.println(str3.equals(str1));
        
}
}

请问结果会输出什么?

输出结果请看下图

   String str1="欢迎来到java的世界";String str2="欢迎来到"+"java的世界";理解一下这两句代码,首先在常量池中开辟一个空间存放“欢迎来到java的世界”这个字符串,在进行str2的初始化的时候,通过编译时知道赋给str2的值也是“欢迎来到java的世界”,所以就将常量池中原来已经存在的“欢迎来到java的世界”的地址给了str2,这就意味这str1和str2的值和地址都一样,所以str1==str2就为true,但是这两句就不同了String str4="欢迎来到";String str3=str4+"java的世界";程序编译时无法知道str3的值为“欢迎来到java的世界”,所以需要运行,经过程序的运行,又在常量池中重新开辟了一个空间来存放"欢迎来到",通过String str3=str4+"java的世界";进行字符串拼接再赋值给str3,所以str3的地址和str1的地址不一样,所以str3==str1为false

宝剑锋从磨砺出,梅花香自苦寒来。--冯梦龙

加油!小芳同学

标签:同学,java,String,str3,str2,str1,错题,小芳,欢迎
来源: https://blog.csdn.net/qq_50074343/article/details/120589415

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有