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

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

教材学习内容总结

1.第二章的课程预习比起第一章有了明显的难度,有很多内容需要自己动手去写,运行,看看结果是否符合预期。我觉得相比第一章,这周的编程应该更注重编写的过程体会与探索,写的代码行数倒是其次重要的。
2.关于一些具体概念,只要多看多记多用,就可以熟练运用了吧。忘掉了就看书,就不在博客上多写了。

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

  • 问题1:第一个疑问是对于连接符的使用。如果连接符后是数字的话,可以不用引号就可以转化成字符串。这个时候想到的是加了引号会怎样,如果是单词句子又会怎样。
  • 问题1解决方案:通过尝试,数字加不加引号都一样,但单词句子就不行(除非是声明好的变量名)。此外还有一个收获就是:对于一行写不下字符串在最后在写完“+”后,如果这个时候想要用“\n”换行,则一定要用引号引起来 ,变成字符串才能有效果。
  • 问题2:在看到如图的一段代码时:
    输入图片说明
    第一个String一直在使用(虽然不知道是干啥用的,但一直用到现在)。第二个String应该是声明了一个变量(书上好像是没有具体说),它的功能应该是储存文本型数据。奇怪的是它竟然没有变色,而且,出现两个String真的没关系吗(虽然结果上真的没关系)
  • 问题2解决方案:关于String百度了一下,说的很多,一点也看不下去。这里只是记录一下,等学了后面的内容应该就知道了吧。

咳,我觉得这个问题很有必要说一下。本来我呕心呖血在码云上写好的博客,却因为提交的时候网速太慢导致我做的所有修改没有保存下来。。。真的很气(气的我高数都没听好。。。)我觉得码云也应该推出像博客园一样的自动保存功能(气......)

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

  • 问题1:在编课本例2.9时,尝试了一下不按照定义的整型和浮点型数值输入,果然出现了如图错误,也算加深了对这两种数据类型的了解。
    输入图片说明
  • 问题2:在敲代码的时候突发奇想,这么多的语句是否有顺序呢?会影响结果的输出吗?答案是肯定的。我做了如下尝试:
    如图是原原本本的代码:
    输入图片说明
    后来我将画横线的两个语句对调位置,最后的结果截然相反,如图:
    输入图片说明
    输入值完全相同,5是本来的结果,0.2则是调整后输出的结果。
    而我的疑问是:对换位置应该没啥问题的吧,毕竟变量的名字都是定好了的,为什么是这样嘞 😤
  • 问题3:书上的PP2.3,写完了程序,也成功的编译运行了,代码如下:
    输入图片说明
    而问题是,输入数值之后,加减乘运算的结果都一致,但除法的结果总是0.0。结果如下:
    输入图片说明
  • 问题3解决方案:通过本人不懈的思考发现了一个问题 😎 我输入的两个数除过之后是无限循环小数,而定义的变量放不下这个数据。而整除的结果确实正确输出了 💫
    【更新1】有点绝望,又试了几个数据,发现了这个除法是自动保留一位小数的,而且3/2=1.0 。最后我将输入的两个整型数据改成一个整型,一个浮点型,最后的运算都是正确的(为什么会这样?)都改成浮点型也能正确计算。
    【更新2】看书有点不仔细,像这种类型的,要进行强制类型转换符(double)才能正常运算
  • 问题4:书上的例题,代码如图:
    输入图片说明
    这个代码是可以正常编译运行的,但运行的结果与预期不同,运行截图如下:
    输入图片说明
    返回的数据应该一行一行出现的,但不知道为什么最后两句一起出现了。
    -问题4解决方案:代码应该是正确的,为了验证情况,我又加了一行,提示用户输入“hobby”。在如图的位置:
    输入图片说明
    而运行的结果是:原来一起出来的两行还是一起显示,补充的一行倒是自己显示了一行。然后。。。我就不知道该怎么办了。最后在云班课看到学长的回答:在college后面再复制一行同样的语句,结果确实能一行一行输出了(虽然不知道为啥,而且两句一样的话不会报错)

代码托管

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

  • 1.最近发现本地上传码云失败,原因是在码云上做了修改,但是在本地没有更新,即git pull。正是上周上传失败的原因(据说老师上课说了,但是我没印象,应该是忘了)
  • 2.根据上周学长给的建议,将每章的程序分章放(确实很清晰)。
    每章建立src和bin目录,将class文件放在bin目录中,Java放在src目录。
    但是这就有个问题:如果bin目录不是放在src目录当中,那么就不能通过命令Javac -d bin *.java将class文件产生在bin目录中。我尝试了一下,如果硬要将两个目录并列放置,只有通过命令 javac -d 到达bin的绝对路径 *.Java才能成功编译,但是绝对路径很长(直接进入bin目录编译也是不行的),很麻烦。如图:
    输入图片说明
    我又想偷懒一下用命令 javac -d /../bin *.java进行编译,但却被提示权限不够。同样的运行也要进入bin目录才行。Java -cp是不行的。
    如图:
    输入图片说明

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 309/309 1/2 20/20
第二周 269/540 2/4 18/38

(emmm....这个代码统计脚本好像有点问题)

参考资料

  • 百度百科
  • Java程序设计教程
posted @ 2018-03-16 18:19  20172308周亚杰  阅读(193)  评论(3编辑  收藏  举报