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即可。
代码托管
上周考试错题总结
- 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分):
- 模板中的要素齐全(加1分)
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
- 其他加分:
- 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
点评过的同学博客和代码
其他(感悟、思考等,可选)
- 每节课的考试让我十分吃不消,不只是英语单方面的问题,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 |
参考资料
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。