20182327 2019-2020-1 《数据结构与面向对象程序设计》第二第三周学习总结
2019-09-22 13:43 BBIowa 阅读(253) 评论(1) 编辑 收藏 举报20182327 2019-2020-1 《数据结构与面向对象程序设计》第二第三周学习总结
教材学习内容总结
- 在第二章的学习中,首先学习了Java编程的基本格式,然后学会了定义、赋值、使用各种数据类型的变量,可以独立打印数据到屏幕上,最后掌握了如何使用Scanner类的一般使用方法。
- 从第三章中,我学到了由String、Math、Random等类创建对象(即实例化对象),如果要使用Java.long包以外的类,要使用import声明,最后枚举类型,包装类没有看懂。
教材学习中的问题和解决过程
- 问题1:“new运算符返回新创建对象的引用”不了解
- 问题1解决方案:new运算符用来实例化一个对象,操作返回了新对象的地址,之后我们就可以用点运算符直接访问它的方法。
- 问题2:书上Math类中,static double ceil (double num)和static double floor (double num)的含义没有理解,不明白num的上下界是什么
- 问题2解决方案:参看同学所编辑的程序运行情况,现这两个方法把输入的浮点数取整,ceil是上取整,floor是下取整。
- 以下是编程截图:
代码调试中的问题和解决过程
-
问题1:编写一个生成(-10~10)范围的一个随机数,使用nextFloat(-10)造成编译错误
-
问题1解决方案:nextFloat()只能返回0.0到1.0(不含)之间的一个数,只有nextInt(int num)括号里包含数字,仅仅使nextFloat()在输出时进行简单代数运算即可完成。
-
问题2:当install时,给出下面提示:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is an other process using it? -
问题2解决方案:、
-
kill当前进程,在某一次输入apt-get后没等进程结束就关了终端和虚拟机,导致apt一直在被占用。调出运行目录,kill带有apt的进程,再次install即可。
代码托管https://gitee.com/besti1823/2012_327_zhao_tianhao
上周考试错题总结
- Java byte codes are directly executable whereas Java source code is not. (Java字节码是可以直接执行的,而Java源代码则不是。)
A true
B false
理解:其实两者都不可直接执行 - Java byte codes are directly executable whereas Java source code is not. (Java字节码是可以直接执行的,而Java源代码则不是。)
A true
B false
理解:其实两者都不可直接执行 - "println" as "printn" will result in (将“println”打印为“printn”将会导致)
A a syntax error (语法错误)
B a run-time error (运行时错误)
C a logical error (逻辑错误)
D no error at all (根本没有错误)
E converting the statement into a comment (该语句转换成注释)
理解:单纯没有记住英语含义。 - When executing a program, the processor reads each program instruction from (当执行一个程序时,处理器从___读取每个程序指令)
C .registers stored in the processor (储存在处理器中的寄存器)
D .main memory (主存储器)
理解:处理器直接从主存储器(内存),读取程序指令。寄存器用来暂存指令、数据和地址,因为容量太小,不可能放下太多的程序指令。 - As in the other members of the C family of languages (C, C++, C#), Java interprets a zero value as false and a non-zero value as true.
B false
理解:Java有true,false,并不完全是0为假非0为真的逻辑判断. - 判断: Linux Bash中使用tar命令把home目录打包成home.tar的命令是( tar -cf home.tar ~)
填空:Linux Bash中zip命令使(-e)参数可以创建加密压缩包。
填空: Linux Bash中(touch test)命令可以创建一个空白文件test.
填空: Linux Bash中,ls.| sort命令的功能是(显示当前目录内容并排序)
填空Linux Bash中,使grep查找当前目录下.c中main函数在那个文件中的命令是( grep main .c)
填空: linux Bash中,使用wc统计hello.c和main.c有几行代码的命令是( wc -l hello.c main.c)
判断: Linux Bash中,set/env/exprot三个命令功的等价。(X)
填空: linux bash中,把ls命令显示当前目录的结果存入ls.txt的命令输出重定向命令是(ls>ls.txt)
填空: Linux Bash中(cheat find)命令可以查find命令的使用事宜。
结对及互评
评分标准
-
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
-
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
-
博客中值得学习的或问题:
- 同学们已经有意识的遇见错误就截图,给后面写博客的各种方便很多,我一直忘记只能重新敲一遍。
-
代码中值得学习的或问题:
- 条条大路通罗马,好多同学可以曲线思维弄出代码,听他们讲解后真的很佩服。
-
基于评分标准,我给本博客打分:15分。得分情况如下:
正确使用Markdown语法(加1分):
模板中的要素齐全(加1分)
教材学习中的问题和解决过程, 一个问题加1分(3)
代码调试中的问题和解决过程, 一个问题加1分(3)
本周有效代码超过300分行的(加2分)
其他加分:
感想,体会不假大空的加1分
排版精美的加一分
进度条中记录学习时间与改进情况的加1分
有动手写新代码的加1分
课后选择题有验证的加1分
错题学习深入的加1分
点评认真,能指出博客和代码中的问题的加1分
结对学习情况真实可信的加1分
点评过的同学博客和代码
其他(感悟、思考等,可选)
- 每节课的考试让我十分吃不消,不只是英语单方面的问题,Java也有许多问题亟待解决,因为课本版本不同,找起知识点来比较麻烦。
- 第三周过去,已经可以独立编写一些程序,但是仍然复杂的不会,命令字符类还很生疏,还得多看多练。
- 在完成课后练习时甚至一度忘记vim中java的格式,只有动手敲代码才能充分暴露自己的问题。往往自己敲一小段代码,就会发现一大把编译错误。通过不断解决BUG,我们对Java的理解与掌握才能不断提高。只有不断练习,才不会出现这样的问题。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 350/500 | 2/4 | 24/38 | |
第三周 | 512/1000 | 3/7 | 22/60 |