20172330 2017-2018-1 《Java程序设计》第四周学习总结

教材学习内容总结

这一周的内容还是比较多的,而且很复杂,包含第四和第七章。

  • 第四章向我们介绍了类结构的定义与概念,同时举出了好多个例题向我们展示自定义类的方法与应用,对于方法定义的结构与用途进行了讨论:包括return语句,参数,局部数据等方面。
  • 第七章的主要内容则是面向对象设计。通过书本的介绍了,我们探讨了面向对象软件设计的主要问题,了解了确定程序所需要的类和对象的技术,对类之间的关系进行了探讨,详细的学习了static修饰符作用在方法和数据上的效果和枚举符类,最后对建立形式化对象接口的方法进行了学习。

    教材学习中的问题和解决过程

  • 问题1:编写类是由哪些东西构成的,各个部分起到什么作用?
  • 问题1解决方案:我也没有太理解,大概觉得编写类中大致起关键作用的包括两个内容:构造函数和方法。它们可以使这个类变得有效,可以在程序中利用。

  • 问题2:静态变量和实例变量的区别
  • 问题2解决方案:在查阅资料后发现
    实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。就跟静态方法可以直接通过类名调用类似。
    静态变量是所有对象共有的,某一个对象将它的值改变了,其他对象再去获取它的值,得到的是改变后的值;
    实例变量则是每一个对象私有的,某一个对象将它的值改变了,不影响其他对象取值的结果,其他对象仍会得到实例变量一开始就被赋予的值。

代码调试中的问题和解决过程

  • 问题1:在编写课堂作业暨pp47的时候,我编写的book类其他都没有什么问题,运行也是成功的,但是在Java编译的时候显示的就是null,我换了好几种方式不管是toString还是set。

  • 问题1解决方案:然后在学长的指导下发现我编写的类和定义的方法名字是一样的导致错误最终输出null,于是改为This.顺便看到了课本上7.4.4对于this的引用,this引用是可以允许对象引用自己的,这也就解决了我的问题,而且this引用还可以引用于当前正在运行的对象。

  • 问题2:当你把你编好的类javac到你的bin文件之后你再去测试你的text文件会显示找不到类,而且在javac -d 的时候也会出现问题
  • 问题2解决方案:然后只有把他放在一个文件夹中你的类才会起到效果。

代码托管


上周考试错题总结

  • 1In Java a variable may contain
    A a value or a reference
    B a package
    C a method
    D a class
    E any of the above
    在JAVA中变量只能包含一个值或一个引用。所以应该选a的。

  • If two variables contain aliases of the same object then
    A the object may be modified using either alias
    B the object cannot be modified unless there's but a single reference to it
    C a third alias is created if/when the object is modified
    D the object will become an "orphan" if both variables are set to null
    E answers A and D are correct
    对象可以使用别名进行修改,如果两个变量都设置为null,那么对象将变成一个“孤儿”。

  • Which properties are true of String objects?
    A Their lengths never change
    B The shortest string has zero length
    C Individual characters within a String may be changed using the replace method
    D The index of the first character in a string is one
    E Only A and B are true
    他们的长度永远不会改变,最短的字符串长度为零。字符串是不可变的。这意味着, 一旦创建了字符串对象, 就不能更改它。因此, 字符串的长度在创建后不会更改。最短长度字符串为 "", 引号之间没有字符, 因此长度为零。

  • What happens if you attempt to use a variable before it has been initialized?
    A A syntax error may be generated by the compiler
    B A runtime error may occur during execution
    C A "garbage" or "uninitialized" value will be used in the computation
    D A value of zero is used if a variable has not been initialized
    E Answers A and B are correct
    编译器多次能够检测到未初始化变量的尝试使用, 在这种情况下会产生语法错误。如果编译器使用转义检测, 则在使用时会发生运行时错误。

  • What is the function of the dot operator?
    A It serves to separate the integer portion from the fractional portion of a floating point number
    B It allows one to access the data within an object when given a reference to the object
    C It allows one to invoke a method within an object when given a reference to the object
    D It is used to terminate commands (much as a period terminates a sentence in English)
    E Both B and C are correct
    点算符的功能为:它允许在给定对象的引用时访问对象中的数据,当给定对象的引用时,它允许在对象中调用方法。所以这道题应该选e的。

  • Unlike the String class where you must pass a message to an object (instance) of the class, as in x.length( ), in order to use the Math class, you pass messages directly to the class name, as in Math.abs( ) or Math.sqrt( ).
    A .true
    B .false
    数学类使用被称为静态方法 (或类方法) 的方法, 通过将消息直接传递到类名本身而不是类的对象来调用。

  • Which of the following will yield a pseudorandom number in the range [ -5, +5 ) given the following:
    Random gen = new Random( );
    A gen.nextFloat( ) * 5
    B gen.nextFloat( ) * 10 - 5
    C gen.nextFloat( ) * 5 - 10
    D gen.nextInt( ) * 10 - 5
    E gen.nextInt(10) - 5
    这道题是Float,我没有注意到。

  • Consider the following two lines of code. What can you say about s1 and s2?
    String s1 = "testing" + "123";
    String s2 = new String("testing 123");
    A s1 and s2 are both references to the same String object
    B the line declaring s2 is legal Java; the line declaring s1 will produce a syntax error
    C s1 and s2 are both references to different String objects
    D s1 and s2 will compare "equal"
    E none of the above
    s1和s2是对不同对象的引用,无论s1和s2对应的变量是否相等。所以这道题应该是选c的。

  • The String class' compareTo method
    A compares two string in a case-independent manner
    B yields true or false
    C yields 0 if the two strings are identical
    D returns 1 if the first string comes lexically before the second string
    E none of the above
    string类的compareTo方法中如果两个字符串是相同的,则得到0。而不是对与错。

  • The advantages of the DecimalFormat class compared with the NumberFormat class include
    A precise control over the number of digits to be displayed
    B control over the presence of a leading zero
    C the ability to truncate values rather than to round them
    D the ability to display a % automatically at the beginning of the display
    E only A and B
    伪随机数生成器相对于Math.random的优势在于:可以创建几个随机数生成器,可以在一个范围内生成随机的int,floats和ints。所以应该包括A与B。

  • If you need to import not only the top-level of a package, but all its secondary levels as well, you should write: import package..;
    A true
    B false
    如果您不仅需要导入包的顶层, 而且还要输入所有的辅助级别, 则应编写: 导入包. ;(false);导入包.

    其他(感悟、思考等,可选)

这周的任务量挺大,而且很多东西都需要自己去编写类并且进行调试,感觉到还有很多不足存在觉得还是要把书上的例题认认真真的敲一遍才会懂得,然后再去做课后习题。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 180/180 2/2 20/25
第二周 312/414 2/4 20/45
第三周 557/971 2/6 25/70
第四周 1217/2242 2/8 44/114
  • 计划学习时间:44小时

  • 实际学习时间:25小时

参考资料

20172330 2017-2018-1 《Java程序设计》第四周学习总结的更多相关文章

  1. Java程序设计第四周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...

  2. 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...

  3. 201871010106-丁宣元 《面向对象程序设计(java)》第四周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第四周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-da ...

  4. 杨其菊201771010134《面向对象程序设计(java)》第四周学习总结

    <面向对象程序设计(java)> 第四周学习总结 第一部分:理论知识 1.类与对象 a.类(class)是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例: java中类声明的格式 ...

  5. 20155318 2016-2017-2 《Java程序设计》第九学习总结

    20155318 2016-2017-2 <Java程序设计>第九学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型 ...

  6. 《Java程序设计》第二学习总结

    <Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...

  7. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  8. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  9. 20145120黄玄曦 《java程序设计》 寒假学习总结

    1和2.我对未来规划不多,我认为好好学习积累知识能帮助我应对未来的挑战,这是我的学习动力之一,此外,了解新知识满足好奇心也是我的主要的学习动力. 3.我认为专业课学习比公务员考试重要,我认为专业知识是 ...

  10. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

随机推荐

  1. 单文件版本的netframework的net core 2.1

    如果你还在用net4.5,如果你还在用netframework,又想使用netcore2.1的库或者功能,又觉得nuget动不动就好大,可以试试下面的这个. https://pan.baidu.com ...

  2. VMWARE虚拟机中CentOs7网络连接

    1.选择网络连接模式 这里选择NAT模式 2.查看虚拟机逻辑地址段 编辑---->虚拟网络编辑器 这里显示的是192.168.40.0 我们本机占用了192.168.40.1,网关是192.16 ...

  3. HDL代码风格建议(2)乘法器和DSP推断

    Inferring Multipliers and DSP Functions Inferring Multipliers module unsigned_mult (out, a, b); :] o ...

  4. extjs+MVC4+PetaPoco+AutoFac+AutoMapper后台管理系统(附源码)

    前言 本项目使用的开发环境及技术列举如下:1.开发环境IDE:VS2010+MVC4数据库:SQLServer20082.技术前端:Extjs后端:(1).数据持久层:轻量级ORM框架PetaPoco ...

  5. EL/JSTL-jsp页面更简单的输出方式

    1.EL(Expression Language):表达式语言,用于页面输出 格式:${表达式} EL支持四则运算,关系运算[常用eq来比较字符串或判断相等],逻辑运算 EL访问空间内对象,[类.对象 ...

  6. 北京Uber优步司机奖励政策(4月9日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. 北京Uber优步司机奖励政策(11月30日~12月4日)

    用户组:人民优步(适用于12月1日)奖励政策: 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:htt ...

  8. 成都Uber优步司机奖励政策(3月16日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  9. day 6 老王开枪打人

    1.图示 2 程序 1)版本1:框架的搭建 def main(): '''用来控制这个程序的流程''' pass #1.创建alex对象 #2.创建1个枪对象 #3.创建1个弹夹对象 #4.创建子弹对 ...

  10. MyBatis-自定义结果映射规则

    1.自定义结果集映射规则 ①查询 <!-- public Employee getEmpById(Integer id); --> <select id="getEmpBy ...