20172325 2017-2018-2 《Java程序设计》第六周学习总结
教材学习内容总结
1.利用[ ]建立一个数组,整列数据可以通过数组名引用,数组中的每个元素则可以通过其在数组中的位置引用;
2.数组的边界检查是通过对数组的大小进行提前的声明,一旦之后输入的值超过范围将自动终止;
3.数组的声明方式有两种,或者说int[ ] grades = int grade[ ];
4.在建立一个数组的时候,对象数组中所保存的每一个字符串是属于他自己的对象,数组中的每一个对象都必须实例化。
5.建立了一个形参以后,将通过命令行调用main方法,javac和java将失去作用。
教材学习中的问题和解决过程
- 问题1:对于例题里的for语句不是很懂“for (int value : list)”在之前的学习过程中并没有提到过这种说法,不明白具体意思,在本章也没有解释
- 问题1解决方案:百度了一下,解释还挺多的
专业说法叫遍历数组,个人理解的意思是在建立了一个数组之后,最后执行输出操作时能够具体的输出数组里的每一个值。
代码调试中的问题和解决过程
问题1:在实际操作命令行实参之前,不知道什么意思,出现了一下情况
问题1解决方案:在看了书和上网查询之后,了解到命令行实参的意义,并且参考了相关资料
问题2:在编辑PP8.1的时候,运行时当我输入51的时候出现了下面的状况,但是其他在界外的数字就没有问题,程序正常终止。
- 问题2解决方案:在我和张旭升小助教认真讨论之后,发现我们PP8.1编辑的BUG,也就是说是“差一错误”,之后对范围的定义进行了更改之后就成功了,当然,反面的0值也是一一个道理。
...
代码托管
上周考试错题总结
1.The idea that program instructions execute in order (linearly) unless otherwise specified through a conditional statement is known as flow of control
解析:“控制流程”描述了指令执行的顺序。它默认为线性(或顺序),但通过使用控制语句(如条件和循环)进行更改。2.Which of the sets of statements below will add 1 to x if x is positive and subtract 1 from x if x is negative but leave x alone if x is 0?
:A .if (x > 0) x++;
else x--;
B .if (x > 0) x++;
else if (x < 0) x--;
C .if (x > 0) x++;
if (x < 0) x--;
else x = 0;
D .if (x == 0) x = 0;
else x++;
x--;
E .x++;
x--;
正确答案:B
解析:课本上有一个例子是,所以我就简单认为C选项是正确地,忘记看看两者内容的差别。正确的表达方式应该是B。3.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
解析:没有理解好条件运算符的表达方式。在这种情况下,Java测试一个条件(x<0)的条件操作符,如果是真的,则返回值之后的值?(在本例中为x),如果为false,则返回after:(本例中为0)的值。原始if语句是将y赋值为x if(x<0)和0。这将通过将y赋值为x或0来完成(x<0),如A.在B中所示,x被赋值为y或0的值,这是向后的。在C语言中,条件运算符在语法上是无效的。在D中,y将被设置为真或假,取决于(x<0),而E中的语句在语法上是无效的。4.If x is an int where x = 1, what will x be after the following loop terminates?
while (x < 100)
x *= 2;
A . 2
B . 64
C . 100
D . 128
E . none of the above, this is an infinite loop
解析:当x=64时,它仍然满足布尔表达式,所以还会执行一次,x=128,,不满足布尔表达式,输出。5.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
解析:char变量也可以使用<, >, ==, !=, <=, >=,但字符串必须用compareTo( ), equals( ) and equalsIgnore6.You might choose to use a switch statement instead of nested if-else statements if
A . the variable being tested might equal one of several hundred int values
B . the variable being tested might equal one of only a few int values
C . there are two or more int variables being tested, each of which could be one of several hundred values
D . there are two or more int variables being tested, each of which could be one of only a few values
E . none of the above, you would never choose to use a switch statement in place of nested if-else statements under any circumstance
解析:switch语句只能在被测试的单个变量使用时使用,并且它是一个整型(int或Java中的char)。 此外,因为您必须枚举每个可能的测试值,所以switch语句只有在被测试值的数量很小时才有意义。
结对及互评
点评模板:
- 博客中值得学习的或问题:
- 在对课本的学习过程中她有很多值得我学习的地方,很多的批注体现了发现问题和解决问题的过程,这样一来对课本的理解就会更加深入。
- 对于学习过程的一丝不苟,在学习第八章的过程中还能去发现个改善第五章的代码问题。
- 在遇到问题时她的钻研精神值得我学习,主动研究,积极实践,善于提问。
- 代码中值得学习的或问题:
- 在本博客中,她对滴五章的代码进行了进一步研究,首先这个精神值得我学习,其次在她的改正过程中,也加深了我对这个知识点的理解和记忆。
- 在她对索引过程的记录中,我也对索引有了更深的理解,明白了更加具体的应用。
- 下次的问题,我也要在她前!!!
- 基于评分标准,我给本博客打分:9分。
点评过的同学博客和代码
- 本周结对学习情况
- 20172306
- 结对照片
- 结对学习内容
- 一起学习了第八章内容,对代码的调试进行了交流学习;
- 一起向学长请教了PP8.1的设计过程。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 129/129 | 1/1 | 20/20 | |
第二周 | 359/488 | 1/2 | 18/38 | |
第三周 | 521/1009 | 2/4 | 22/60 | |
第四周 | 1057/2066 | 1/5 | 30/90 | |
第五周 | 636/2702 | 1/6 | 30/120 | |
第六周 | 489/3191 | 1/7 | 28/158 |