20155204 2016-2017-2 《Java程序设计》第3周学习总结

20155204 2016-2017-2 《Java程序设计》第3周学习总结

教材学习内容总结

  • 一个原始码中可以有多个类定义,但只能有一个公开类。
  • 留心Scanner对于每一种类型的nextxxxx()方法
  • 以Java开头的都是API提供的类
  • 使用Integer.valueOf()也是为基本类型建立打包器的方式之一
  • Integer打包基本类型时,如果是-128~127之间的数,会直接读取,而超出范围的数就会新建一个实例。如课后1、2题所反映的。
  • 索引类似于C语言的指针
  • 在类中定义方法,不用返回值可以在方法名前声明void
  • 理解了public的含义,是把类公开。

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

  • 问题1:教材121页第10题
  • 解答:发现自己没有理解这种蜜糖式的循环方法,询问同学理解了row,strs,str的意义。
  • 问题2:反编译是一种什么方法?
  • 解答:参考了如何将java中的.class文件反编译
  • 问题3:在自己编写程序时分不清println和printf的区别。
  • 解答:printf:f就是format的意思,也就是格式化,是对输出文字做格式化后再显示在文本模式中。后面常用%d,%f,%b…这些格式控制符号,一般在输出变量类型比较多的时候使用,也用在需要计算机计算或判断后再输出的情形。
    print:将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
    println:将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。相当于在print中加了一个%n换行符。当输出信息比较单一简单时,一般采用println,但println也可以用于多种变量类型的输出,中间用“+号”连接,例如System.out.println("3 + 3 = "+a) //这里假设程序中a=6,可能这个例子不算太恰当,但代码中的+前后连接了不同的类型,也可以用println输出。
  • 为什么this()调用要出现在构造函数的第一行?
  • 解答:参考为什么java的构造方法中this()或者super()要放在第一行

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

  • 问题1:猜数字代码中输入字母程序报错

  • 解决:应当在输入时进行判断增强程序健壮性。

  • 问题2:为什么在linux bash里运行完程序后没有换行?增加换行符也不行。

  • 未解决。。。

  • 问题3:平均数代码运行结果为NaN

  • 解决:需要在java运行时加入指令

  • 问题4:运行一个包中的代码,找不到主类

  • 解决:运行时需要写完全吻合名称

  • 问题5:运行这个代码时错误

  • 解决:因为用到了前面定义的store方法,而前面的方法我忘记了编译,所以导致了错误。

代码托管

  • 代码提交过程截图:

  • 代码量截图:

上周考试错题总结

  • 错题1:CH03填空:0b1011的十进制值是(-12)原因:忘记了是求反
  • 错题2:H03 填空 :0x10%9 的结果是( 7 )和CH03 填空 :0x10&9 的结果是(0)原因:忘记了0x
  • 错题3:CH03 判断:P64 Shift.java中第三个printf的输出结果是”2的2次方:4”。(X) 原因:应该是有空格的吧。。

其他

这周的学习任务突然加大了,最后的学习有一点紧张,下次应该吸取经验,任务分到每天,不想再度过一个library weekend了。学习方面也逐渐适应了学习方式,看书,代码实践,效果还是不错的。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 33/33 1/1 18/18
第二周 124/157 2/2 16/34
第三周 531/689 3/3 20/54

参考资料

posted @ 2017-03-12 22:16  20155204王昊  阅读(169)  评论(0编辑  收藏  举报