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

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小时

参考资料

原文地址:https://www.cnblogs.com/linanlalala/p/8711789.html

时间: 2024-10-09 21:26:25

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

201671010129 2016—2017—2 《Java程序设计》学习Java的想法

时光如梭,仿佛转眼间一个月的光阴就这样过去了,对于学习java,感觉一天都处于忙乱中,然而学到的只是在脑子里特别混乱,知识没有连接到一起,有些知识还是感觉很抽象,在程序中不知道怎么去调用. 在写作业的过程中,感觉自己能力太有限,知识掌握的不够深,例如this这个关键字的引用还是不很会.主要可能还是不会语法,希望老师多讲讲示例程序.

201671010129 2016—2017—2 《Java程序设计》学习Java的集合的小结

集合中只能容纳对象,且容纳的对象都是Object类的实例. java集合框架:类库的集合包含很多超类,包含多个元素并提供对所包含元素的操作方法的类,包含的元素可以由同一类型对象组成,也可以由不同的类型对象组成. 包括Vector向量,Stack堆栈,Hashtable哈希表等. Vector类类似于长度可变的数组,vector中只能存放对象,Vector的元素只能通过下标进行访问. Stack类是Vector类是的子类,它描述堆栈的数据结构 ArrayList:能够自动增长容量的数组.

201671010129 2016—2017—2 《Java程序设计》学习Java的图形程序设计的小结

AWT构造图形界面用户的基本元素,用来设计GUI的组件类和容器类,大部分AWT组件都有其Swing的等价组件,Swing组件的名字一般是在AWT组件名前面添加一个字母"J"如JButton等. java把由Component类的子类或间接子类创建的对象称为一个组件,容器是Java中能容纳和排列组件的组件.常用的容器是框架,Container类提其他组件供了一个方法add(),用来容器类组件对象中添加其他组件,容器本身也是一个组件,可以把一个容器添加到另一个容器里,实现容器嵌套. 在Ja

201671010129 2016—2017—2 《Java程序设计》学习Java总结

这学期就这样过去了,感谢java老师和助教,辛苦了,在这里提前祝元旦快乐. 在我心里我喜欢老师的上课方式,所有的没学好都是自己不够努力罢了,老师刚开始就让我们注册博客,一路还是过来了,现在满满的都是回忆. 多年后再翻开还会想起老师和同学,还会记得这是二年级的事. 最后还是希望期末考试顺利通过.

201671010129 2016—2017—2 《Java程序设计》Java总结

这学期就这样过去了,感谢java老师和助教,辛苦了,在这里提前祝元旦快乐. 在我心里我喜欢老师的上课方式,所有的没学好都是自己不够努力罢了,老师刚开始就让我们注册博客,一路还是过来了,现在满满的都是回忆. 多年后再翻开还会想起老师和同学,还会记得这是二年级的事. 最后还是希望期末考试顺利通过.

201671010129 2016—2017—2 《Java程序设计》学习Java的事件处理的小结

事件源:能够产生事件的对象都可以成为事件源,如文本框,按钮等一个事件源是能够注册监听器并向监听器发送事件对象的对象. 事件监听器:事件监听器对象接收事件源发送的通告,并对发生的事件作出响应. 以前读不懂程序,这次老师讲的程序确实收获不少,真的挺开心的,希望老师以后也这样多讲点程序.

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

20165318 2017-2018-2 <Java程序设计>第四周学习总结 IDEA安装 按照娄老师Intellj IDEA 简易教程,我下载了IDEA但是由于没有注册学校邮箱,我没办法申请免费使用,我在网上找到了IntelliJ Idea 2017 注册码 免费激活方法顺利安装并运行了IDEA. 教材学习总结 第五章 子类与继承 每个子类只能有一个父类,而一个父类可以有多个子类.可以使用关键字extends来定义一个类的子类: class 子类名 extends 类在不加extends关键

20172319 2018.03.27-04.05 《Java程序设计》第4周学习总结

20172319 2018.03.27-04.05 <Java程序设计>第4周学习总结 教材学习内容总结 第四章 编写类 类与对象的回顾:对象是有状态的,状态由对象的属性值确定.属性由类中的声明的变量所定义.对象的操作可能改变该对象的状态.对象的操作由 类中声明的方法定义. 类的分析:类的成员(类的数据和方法):构造方法(给类赋初值):实例数据(变量声明的位置定义其作用域):UML类图(类及其对象关系可视化描述). 封装:(1) 可见性修饰符:public(公有):private(私有,只能从

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

20172330 2017-2018-1 <Java程序设计>第五周学习总结 教材学习内容总结 第五章 首先是对各种各种运算符的了解:刚开始以为相等就是=,还有其他一些符号都挺简单的,然后在进一步学习知道了"=="与"!="都是相等型运算符,而"!","&&","||"则分别代表非,与,或. 教材学习中的问题和解决过程 其次是if语句: 1.if语句由保留字if.紧随其后的布尔表