20172311《程序设计与数据结构》第三周学习总结

教材学习内容总结

通过对本章的学习,更加深入的理解了类和对象,学会了一些新方法的使用和一些使用规则,收获很大。

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

  • 问题1:对书中列举的大量方法不会使用。

  • 问题1解决方案:通过做书中的例题类比总结学会。

  • 问题2:对书中一些概念理解模糊。

  • 问题2解决方案:通过上网查阅资料以及观看蓝墨云中老师上传的视频进一步深入理解,取得了较好的效果。

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

  • 问题1:将Math型数据赋给int型变量,导致编译时提示会“导致数据精度丢失”。

  • 问题1解决方案:通过询问同学了解到Math类型的数据自动转换成了double类型,然后我在Math型数据前加了个(int)即可。

  • 问题2:pp3_3实验项目中不知道如何输出“001”这种类型的数据。

  • 问题2解决方案:首先我想到的是使用格式化输出,但是课本上的例题是对小数格式化,于是我就没再多想这种方法(对概念理解趋于表面,对知识不能活学活用,学习太死板!),后来通过助教发的方法学会了对整数的格式化。

代码托管

上周考试错题总结

  • 错题1:
    Consider the following statement:
    System.out.println("1 big bad wolf\t8 the 3 little pigs\n4 dinner\r2night");
    This statement will output ________ lines of text (思考下面的语句,该语句将输出___行文本)
    A . 1
    B . 2
    C . 3
    D . 4
    E . 5
    答案:2 我的选择:C
    错题原因:对转义序列的使用理解不到位
    解决:通过上网查阅以及编程实践学习到\n的作用是换行,而\r的作用则是将光标置于当前行的行首,然后覆盖该行内容,输出\r后的内容。如果\r之后没有内容,则该行内容保持不变。
    本题输出应该为:
    1 big bad wolf 8 the 3 little pigs
    2night (4dinner被2night覆盖)

  • 错题2:
    Of the following types, which one cannot store a numeric value? (在下列数据类型中,哪一个不能存储一个数值型数据?)
    A . int
    B . byte
    C . float
    D . char
    E . all of these can store numeric values (以上所有类型都可以存储数值型数据)
    答案:D 我的选择:E
    错题原因:对概念理解不到位

  • 错题3:
    What is output with the statement System.out.println(x+y); if x and y are int values where x=10 and y=5? (如果x和y是int类型的数值,x=10,y=5,那么语句System.out.println(x+y);的输出是什么?)
    A . 15
    B . 105
    C . 10 5
    D . x+y
    E . An error since neither x nor y is a String (因x和y都不是字符串而引起的一个错误)
    答案:A 我的选择:B
    错题原因:基本功不扎实,导致粗心。

  • 错题4:
    If you want to store into the String name the value "George Bush", you would do which statement? (如果你想把"George Bush"这个值存储为字符串类型的名字,你会执行那条语句?)
    A . String name = "George Bush";
    B . String name = new String("George Bush");
    C . String name = "George" + " " + "Bush";
    D . String name = new String("George" + " " + "Bush");
    E . Any of the above would work (上述都可以完成)
    答案:E 我的选择:B
    错题原因:学习知识不够全面,不够深入,浅尝辄止。

  • 错题5
    What value will z have if we execute the following assignment statement?
    int z = 50 / 10.00; (如果我们执行下面的赋值语句,z将得到什么值?)
    A . 5
    B . 5.0
    C . 50
    D . 10
    E . none of the above, a run-time error arises because z is an int and 50 / 10.00 is not (以上皆错,因z是一个整型数而50 / 10.00不是,会产生运行时错误)
    答案:E 我的选择:A
    错题原因:对数据类型转换的知识学习有漏洞。
    解决:可以在50前加一个(int)。

  • 错题6:
    You cannot cast a String to be a char and you cannot cast a String which stores a number to be an int, float or double. (你不能将字符串强制转换为char类型,也不能将一个字符串强制转换为int、float或double类型。)
    A . true
    B . false
    答案:A 我的选择:B
    错题原因:基础知识掌握不牢。

感想

通过本周的学习学到了更多的JAVA知识,对JAVA的学习开始步入正轨,更加意识到了学会使用百度解决问题以及通过实践去总结经验的重要性。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 28/28 1/1 16/16
第二周 710/738 1/2 20/36
第三周 426/1164 1/3 16/52
  • 计划学习时间:20小时

  • 实际学习时间:16小时

  • 改进情况:
    注重通过百度解决一些基本问题,注重通过实践总结经验,注重对概念的深入理解,禁忌浅尝辄止,注重对知识的活学活用。

参考资料

posted on 2018-03-24 11:09  socialsea  阅读(174)  评论(4编辑  收藏  举报