• 201521123066 《Java程序设计》 第二周学习总结


    1.本周学习总结,记录本周学习中的重点

    关于String类:String类的对象创建之后不能再进行修改;当大量拼接字符串是,使用StringBuilder而
    不使用String;检测字符串是否相等时,应当使用equals方法;
     ```
    #2.书面作业
    ##Q1.使用Eclipse关联jdk源代码(截图),并查看String对象的源代码?简单分析String对象的设计思路。##
    (1)![](http://images2015.cnblogs.com/blog/1109952/201703/1109952-20170304135941641-612820202.png)
    
    
    (2)![](http://images2015.cnblogs.com/blog/1109952/201703/1109952-20170304140219891-1100801037.png)
    
    
    (3)![](http://images2015.cnblogs.com/blog/1109952/201703/1109952-20170304140443938-1088111501.png)
    
    
    (4)![](http://images2015.cnblogs.com/blog/1109952/201703/1109952-20170304141016704-849947202.png)
    
    
    字符串的值在创建后就不能改变,所以我们在使用它们的时候可以共享
    
    ##Q2.为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?##
    
      如果用String,系统是先两个字符串写入内存,然后删除原来的String对象,并读取内存中的数据赋给
    

    该对象;而StringBuilder则不一样,它能够在已有的对象原地进行字符串的修改,可以节省很多时间

    
    ##Q3.比较两个字符串的值是否相等?为什么不能用==直接进行比较?##
    

    Java中的是用来判断是不是同一个对象,当不是同一个对象时,只是比较内容是否一致,便不能用进行比较

    
    ##Q4.尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:
        String str1 =“hi“, str2=“hi“;
        String str3 = new String(str1)
        System.out.println(str1==str2);##
    
     其输出结果是true
     这段代码创建了两个对象
    
    
    ##Q5.Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i?##
    
    Integer i = 100会自动化成new Integer(100),所以100可以赋值给i。
    
        
    ##Q6.尝试分析下面代码输出结果
      Integer i1 = 127;Integer i2 = 127;
      i1 == i2;//true of false?
      Integer i1 = 128;Integer i2 = 128;
      i1 == i2;//true of false?##
    
    第一个的运行结果是true,第二个是false;第二个超出其范围。
    
    
    ##Q7.package与javac、 java、 -classpath、 -d com.ibm包中编写 StringUtil类,内有一方法
        public static void foo1()
      {
      System.out.println(StringUtil.class+" method:foo1");
      }
      在edu.jmu包中编写Main类,其中掉了com.ibm.StringUtil的foo1方法##
    ##7.1 尝试用命令行进行编译并运行,截图##
    
    ![](http://images2015.cnblogs.com/blog/1109952/201703/1109952-20170304211658829-1376814356.png)
    
    
    ##7.2 将生成的StringUtil.class放到d:lib正确的目录结构下,将Main.class在d:	est正确的目录结构,尝试在命令行下运行,并截图。##
    
    ![](http://images2015.cnblogs.com/blog/1109952/201703/1109952-20170304211756391-275193974.png)
    
    
    ##7.3 Eclipse中源代码放在哪个目录、class文件放在哪个目录。在Eclipse项目中按一下ctrl+f11就可以直接运行Main,尝试分析背后实现的原理。##
    
     Eclipse中源代码放在project目录;class文件放在bin目录下;运行main就是通过编译.java文件,得到class文件。然后找到class文件,运行。
    
    ##Q8.自己在这门课的目标与计划,请描述一下你的技术基础##
    
     一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?
       技术基础是大一学习的C语言和大二上学习的数据结构,写的代码根据代码的行数决定,但自己的水平不高,正在努力改进中;
     至少两天的时间,一周的代码是能把老师在PTA上的作业打完;学习方式就是边看书PPT,然后结合实验;遇到问题先查阅资料,
     比如书本百度,然后问舍友同学,实在解决不了就向老师请教。
    
    
    #3. 使用码云管理Java代码
    在码云的项目中,依次选择“统计-Commits历史-设置时间段”,然后搜索并截图
    ![](http://images2015.cnblogs.com/blog/1109952/201703/1109952-20170304194531126-1859150602.png)
    
    #4. PTA实验
    题目集:jmu-Java-02-Java基本语法 中的判断、选择、编程(8道)
    实验种碰到的问题、思考、收获与解决方案
    (1)问题:在计算浮点数的时候,出现精度不精确的无问题
        解决:使用BigDecimal函数,用String类型而不使用Double类型
    (2)问题:在输出("class name="+Grade.class)时,会输出我的class文件的命名
        解决:改成("class name=Grade.class"),用字符串的形式直接输出
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 校门外的树
    Java实现 蓝桥杯VIP 算法训练 统计单词个数
    Java实现 蓝桥杯VIP 算法训练 统计单词个数
    Java实现 蓝桥杯VIP 算法训练 开心的金明
    Java实现 蓝桥杯VIP 算法训练 开心的金明
    Java实现 蓝桥杯 算法训练 纪念品分组
    Java实现 蓝桥杯 算法训练 纪念品分组
    Java实现 蓝桥杯VIP 算法训练 校门外的树
    Java实现 蓝桥杯VIP 算法训练 统计单词个数
    Java实现 蓝桥杯VIP 算法训练 开心的金明
  • 原文地址:https://www.cnblogs.com/zxl3066/p/6493072.html
Copyright © 2020-2023  润新知