20172307 2017-2018-2 《程序设计与数据结构》第6周学习总结
学号 2017-2018-2 《程序设计与数据结构》第6周学习总结
教材学习内容总结
本章学习了第八章的内容
1.讲了创建声明数组的方法(示例: int[] height = new int[11];)和创建基本数据一样要声明数据的类型。
2.边界检查中的差一错误属于逻辑错误,主要是因为索引值是从0开始的。
3.数组本身就是对象
4.可变长度参数表声明创建方式(示例:public double average(int .. list))省略号表示该方法接收的参数个数是可变的。
5.二维数组的声明创建方式(示例:int[][] table = new int[5][10])前一个表示数组的长度也是行数,后一个表示前一个表示的行里的列数。
教材学习中的问题和解决过程
- 问题1:对什么是数组并不太清楚。
- 问题1解决方案:通过网上的一些解释和对书本定义的重新理解得到了以下定义:数组是保存一列数据的对象。整列数据可以通过数组名引用,数组中的每个元素则可以通过其在数组中的位置进行引用。
- 问题2:对书上的“差一错误”理解不进去
- 问题2解决方案:通过查阅网上的解释明白了差一错误属于逻辑错误,由于索引值从0开始导致。
代码调试中的问题和解决过程
- 在进行 x +=y[];时发生错误
数组也是对象,把x变成同一类型的对象就能进行相加。
代码托管
(
)
上周考试错题总结
- The idea that program instructions execute in order (linearly) unless otherwise specified through a conditional statement is known as
A . boolean execution
B . conditional statements
C . try and catch
D . sequentiality
E . flow of control
正确:E
程序按照条件语句顺序执行叫做控制流。 - Assume that count is 0, total is 20 and max is 1. The following statement will do which of the following? if (count != 0 && total / count > max) max = total / count;
A . The condition short circuits and the assignment statement is not executed
B . The condition short circuits and the assignment statement is executed without problem
C . The condition does not short circuit causing a division by zero error
D . The condition short circuits so that there is no division by zero error when evaluating the condition, but the assignment statement causes a division by zero error
E . The condition will not compile because it uses improper syntax
正确:A
由于count=0不符合if的循环条件,所以语句不会执行。 - If a break occurs within the innermost loop of a nested loop that is three levels deep
A . when the break is encountered just the innermost loop is "broken"
B . when the break is encountered, all loops are "broken" and execution continues from after the while statement (in our example)
C . when the break is encountered, all but the outermost loops are broken, and execution continues from the next iteration of the while loop (in our example)
D . this is a syntax error unless there are break or continue statements at each loop level
E . none of the above
正确:A
break只会跳出当前的循环。也就是最里面的循环。 - In order to compare int, float and double variables, you can use <, >, , !=, <=, >=, but to compare char and String variables, you must use compareTo( ), equals( ) and equalsIgnoreCase( ).
A . true
B . false
正确:B
字符和字符串也可以用其他来比较,如来比较,这时比较的是他们的地址是否一致。 - The statement if (x < 0) y = x; else y = 0; can be rewritten using a conditional operator as
A . y = (x < 0) ? x : 0;
B . x = (x < 0) ? y : 0;
C . (x < 0) ? y = x : y = 0;
D . y = (x < 0);
E . y = if (x < 0) x : 0;
正确:A
对条件运算符的应用。 - Each case in a switch statement must terminate with a break statement.
A . true
B . false
正确:B
偶尔也有需要依次执行所有case语句的情况。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 1/3 | 18/38 | |
第三周 | 500/1000 | 1/4 | 22/60 | |
第四周 | 300/1300 | 1/5 | 30/90 | |
第五周 | 700/ 2000 | 1/6 | 30/120 | |
第六周 | 792/2792 | 1/7 | 30/150 |
参考资料
-
[《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)