• 201521123052《Java程序设计》第2周学习总结


    1. 本周学习总结

    • String类一些用法
    • 学习Array类
    • 使用枚举
    • 使用eclipse关联JDK源代码
    • 使用码云管理云代码

    2.书面作业

    1.使用Eclipse关联jdk源代码,并查看String对象的源代码(截图)?分析String使用什么来存储字符串的?分析其构造函数public String(char value[])的实现原理?分析public String replace(char oldChar, char newChar)的实现原理,回答String的不可变性在该函数中如何体现?(重点)

     

    2.为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?

    使用String对字符串进行修改操作时都会创建一个新对象,且还需进行转换操作,浪费空间,降低运算效率。而StringBuilder是在原字符串基础上进行修改的,因此频繁对字符串进行修改操作时使用StringBuilder较好。

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

    ==比较的是两个字符串的地址,若要比较两个字符串的值应用equals()。

    4.尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:

    String str1 =“hi“, str2=“hi“;
    String str3 = new String(str1)
    System.out.println(str1==str2);

    这段代码创建了两个字符串对象,其中str1和str2为同一个对象,都代表字符串池中的"hi",而str3为在堆区中新创建的对象。

    5.Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i

    基本类型存的是数据本身,而引用类型是引用地址,是从地址间接地去获取数据。

    6.尝试分析下面代码输出结果

    Integer i1 = 127;Integer i2 = 127;
    i1 == i2;//true of false?
    Integer i1 = 128;Integer i2 = 128;
    i1 == i2;//true of false

    输出结果为true和false. JVM会自动维护八种基本类型的常量池,int常量池中初始化-128~127的范围,所以当Integer i1 = 127时,在自动装箱过程中是取自常量池中的数值。当Integer i = 128时,128不在常量池范围内,所以在自动装箱过程中需new 128,此时i1与i2地址不一样。

    7.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 尝试用命令行进行编译并运行,截图


    7.2 将生成的StringUtil.class放到d:lib下正确的目录结构下,将Main.class放到d: est下正确的目录结构,尝试在命令行下运行,并截图。


    7.3 Eclipse中源代码放在哪个目录、class文件放在哪个目录?在Eclipse项目中按一下Ctrl+F11就可以直接运行Main,当按下Ctrl+F11时,到底在哪个目录下执行了什么样的java命令?

    8.自己在这门课的目标与计划

    • 请描述一下你的技术基础(会什么语言,都写了多少行代码)
    • 一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?
    • 关于这门课的smart目标参考链接

    大一学习了C语言,大二上学期学了点C++,写了多少行代码记不清了;一周花至少一半以上的时间在这门课上,毕竟比较感兴趣。一周准备写的代码就老师所布置的作业加上自己学习过程中练手的。用理论加实践的方法来学习,遇到困难就认真思考、查资料、百度或者问老师同学。

    9.选做:公交卡里应该还有多少钱?请分析原因

    应该是欠费了。

     

  • 相关阅读:
    洛谷 P1226 【模板】快速幂||取余运算 题解
    洛谷 P2678 跳石头 题解
    洛谷 P2615 神奇的幻方 题解
    洛谷 P1083 借教室 题解
    洛谷 P1076 寻宝 题解
    洛谷 UVA10298 Power Strings 题解
    洛谷 P3375 【模板】KMP字符串匹配 题解
    Kafka Shell基本命令
    Mybatis与Hibernate的详细对比
    MyBatis简介
  • 原文地址:https://www.cnblogs.com/JML1225/p/6501716.html
Copyright © 2020-2023  润新知