2019-2020-26 《数据结构与面向对象程序设计》第2、3周学习总结
2019-2020-26 《数据结构与面向对象程序设计》第2、3周学习总结
目录
教材学习内容总结
- 第二章:
- 学了字符串(String类)
- 学习了各种变量和运算符。
- 第三章:
- 学习了类和对象。
- 详细了解了Scanner类,String类,Random类,Math类的使用。
- 学习了格式化输出。
教材学习中的问题和解决过程
- 问题1:编写程序时为何可以不用new运算符?
- 问题1解决方案:String经常使用,可以使用
String str = "string";
代码调试中的问题和解决过程
- 问题1:
- 问题1解决方案:输入
git push -u origin master
强制上传
- 问题2:
https://note.youdao.com/yws/res/420/WEBRESOURCEddeadd925c99ecf39bba4d9b288bcd22 - 问题2解决方案:
https://note.youdao.com/yws/res/427/WEBRESOURCEc79e9746c637f881e344038acbefc798
[代码托管]
上周考试错题总结
- 错题1:
If you want to output the text "hi there", including the quote marks, which of the following could do that? (如果你想输出文本"hi there",包括引号在内,下面哪个语句可以做到?)
A .System.out.println("hi there");
B .System.out.println(""hi there"");
C .System.out.println(""hi there");
D .System.out.println(""hi there"");
E .none, it is not possible to output a quote mark because it is used to mark the beginning and ending of the String to be output (无,不可能输出引号,因为它被用来标记字符串的开始和结束)
解析:\”是一个转义序列,用于在字符串中放置引号,因此这里使用它来输出引号和字符串的其余部分。 - 错题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 (以上所有类型都可以存储数值型数据)
解析:int和byte用于存储整数(integer),float用于存储实数或浮点值(带小数点的值)。字符存储单个字符,包括字母、标点符号和数字。但是,存储数字“5”与存储数字5不同。 - 错题3:What value will z have if we execute the following assignment statement? float z = 5 / 10; (如果我们执行下面的赋值语句,得到的z将会是什么值?)
A .z will equal 0.0 (z将等于0.0)
B .z will equal 0.5 (z将等于0.5)
C .z will equal 5.0 (z将等于5.0)
D .z will equal 0.05 (z将等于0.05)
E .none of the above, a run-time error arises because z is a float and 5 / 10 is an int (以上都不对,因为z是float类型,5 / 10是int类型,所以会发生运行时错误)
解析:5和10都是int值,所以5/10是整数除法。结果为0。即使z是一个浮点,并且可以存储真正的答案,0.5,它只得到0,因为整数除法。为了得到0.5,我们必须先将5或10作为浮点数。 - 错题4:A cast is required in which of the following situations? (下列哪种情况需要强制转换?)
A .using charAt to take an element of a String and store it in a char (使用charAt来获取字符串元素并将其存储为char类型)
B .storing an int in a float (将一个int类型的数存储为float类型)
C .storing a float in a double (将一个float类型的数存储为double类型)
D .storing a float in an int (将一个float类型的数存储为int类型)
E .all of the above require casts (以上所有情况都需要强制转换)
解析:对于a,charat返回一个char,因此没有问题。在B和C中,情况是采用更窄的类型扩展操作,并将值存储在更宽的类型中。只有在d中,才会出现更宽的类型存储在更窄的类型中的情况,因此需要强制转换。 - 错题5:If x is an int and y is a float, all of the following are legal except which assignment statement? (如果x是一个int类型的数,y是一个float类型的数,下面所有赋值语句中哪个不合法?)
A .y = x;
B .x = y;
C .y = (float) x;
D .x = (int) y;
E .all of the above are legal (以上全部合法)
解析:由于X是int,除非浮点被转换为int,否则它不能除浮点。在B中的赋值语句中没有显式抛出,A是不需要的,因为浮点(y)可以接受int值(x),而在c和d中,显式抛出使它们合法。 - 错题6:Assume that x, y, and z are all integers (int) equal to 50, 20, and 6 respectively. What is the result of x / y / z? (假设x、y和z都是整型数(int),分别等于50、20和6。那么x / y / z的结果是什么?)
A .0
B .12
C .16
D .A syntax error as this is syntactically invalid (由于语法无效产生的语法错误)
E .A run-time error because this is a division by 0 (由于除0产生的运行时错误)
解析:这个分割是从左到右执行的,所以执行前50/20。因为50和20是整数,所以结果是2。接下来,执行2/6,即0。请注意,如果从右到左进行分割,则评估结果将为50/(20/6)=50/3=16。
结对及互评
评分标准
-
正确使用Markdown语法(加1分):
-
模板中的要素齐全(加1分)
-
教材学习中的问题和解决过程, 一个问题加1分
- 加5分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评:
- 博客中值得学习的或问题:
- 对课本,代码进行多方位的思考。
- 认真寻找自己的不足之处。
- 举例说明问题。
- 代码中值得学习的或问题:
- 基于评分标准,我给本博客打分:14分。得分情况如下:
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 结对学习情况真实可信的加1分
- 正确使用Markdown语法
- 模板中的要素齐全(加1分)
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 教材学习中的问题和解决过程, 加5分
- 代码调试中的问题和解决过程,加2分
点评过的同学博客和代码
- 本周结对学习情况
- 结对同学20182301
- 结对照片
- 结对学习内容
- 运行权限
- 字符串无法打印出来
- 上周博客互评情况
其他(感悟)
对Java语言了解更加深刻。学会了几个基本类的应用。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 26/26 | 2/2 | 7/7 | |
第二、三周 | 235/327 | 3/5 | 15/23 |
- 实际学习时间:15小时