# 学号 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语句的情况。

## 参考资料

posted @ 2018-04-15 21:54  做作业  阅读(130)  评论(3编辑  收藏  举报