20172327 2017-2018-2 《程序设计与数据结构》第六周学习总结
Posted mrf1209
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20172327 2017-2018-2 《程序设计与数据结构》第六周学习总结相关的知识,希望对你有一定的参考价值。
学号 2017-2018-2 《程序设计与数据结构》第X周学习总结
教材学习内容总结
- 数组元素: |
1.具有N个值的数组索引为0~(N-1).
- 声明和使用数组: |
1.可以用new运算符实例化数组,为数组分配保存值的内存空间。在Java中,数组是必须实例化的对象。
- 边界检查: |
1.所应值可以自动执行边界检查,可保证引用数组有效范围内的索引值。
2.Java有两种数组声明方式:第一种是将方括号和数组元素类型相关联,第二种是将方括号和数组名相关联。
3.初始值表可以用于实例化一个数组对象,这时不需要用new运算符创建数组对象。
4.整个数组可以作为一个参数传递给方法,使方法的形成为原始数组的别名。
- 对象数组: |
1.实例化对象数组只是为了保存对象而预留空间,对每个元素所代表的对象必须分别实例化。
- 命令行实参: |
1.命令行实参储存在String对象的数组中,并将传递给main方法。
- 可变长度参数表: |
1.通过使用某种特殊语法的形参表,使所定义的方法能接受任意个数的参数,并将参数自动存入数组以便在方法中进行处理。
- 二维数组和多维数组: |
1.在二维数组中的值,必须使用两个索引值来引用,一个索引值指行,另一个索引值指列。
2.与一维数组类似,二维数组也可以用初始值表实例化,初始值表中的每一个元素本身就是一个一维的初始值表。
教材学习中的问题和解决过程
- 问题1:定义数组有哪几种方法:
- 问题1解决方案:有下面这几类:
- 方式1(推荐,更能表明数组类型)
type[] 变量名 = new type[数组中元素的个数];
比如:
int[] a = new int[10];
数组名,也即引用a,指向数组元素的首地址。 - 方式2(同C语言)
type变量名[] = new type[数组中元素的个数];
如:
int a[] = new int[10]; - 方式3 定义时直接初始化
type[] 变量名 = new type[]{逗号分隔的初始化值};
其中红色部分可省略,所以又有两种:
int[] a = {1,2,3,4};
int[] a = new int[]{1,2,3,4};
其中int[] a = new
int[]{1,2,3,4};的第二个方括号中不能加上数组长度,因为元素个数是由后面花括号的内容决定的。 - 问题2:一维数组与二维数组的区别:
- 问题2解决方案:
int arr[10]
arr int* 指向一维数组首元素的地址
arr[0] int 第一个格子的值
arr+1 int* 指向一维数组第二个元素的地址,但是不会覆盖指向首元素的指针
arr[0]+1 int 第一个格子的值加1
int brr[3][4]
brr int(p)[4] 指向二维数组第一行的数组指针
brr[0] int brr[0]=arr 指第一行的地址
brr+1 int(p)[4] 指向二维数组第二行的数组指针,但是不会覆盖第一行的指针
brr[0]+1 int brr[0]=arr 指第一行的第二个元素
brr[0][0] int 第一行第一列的值
brr[0][0]+1 int 第一行第一列的值+1
代码调试中的问题和解决过程
问题1:在做pp8.1时,遇到到了一大堆问题
问题1解决方案:首先是符号粗心,位置打错,后来是就是for循环没打括号,人家提示非法的类型开始
- 问题2:在做pp08.5时,我想的是将
for (int x1=0;x1<n;x1++)
循环一遍就可以将三个要求的值都求出来,结果就错了。还有就是我想一次性用Math.sqrt(+=Math.pow(list[12]-mean,2))
将标准方差算出来,但是语法错误啊,很纠结 - 问题2解决方案:前面一个问题改一下顺序就可以,后面一个问题我又设了一个变量b,把计算过程分开才可以。
问题3:能力有限,pp8.6实在没想通,不过我还在研究,争取周一晚之前把这道题交上。
代码托管
结对及互评
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
其他(感悟、思考等,可选)
xxx
xxx
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 95/95 | 1/1 | 18/18 | |
第二周 | 515/620 | 1/2 | 22/40 | |
第三周 | 290/910 | 1/3 | 20/60 | |
第四周 | 1741/2651 | 1/4 | 30/84 | |
第五周 | 579/3230 | 1/5 | 20/104 | |
第六周 | 599/3829 | 1/6 | 18/122 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:20小时
实际学习时间:18小时
改进情况:无
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
以上是关于20172327 2017-2018-2 《程序设计与数据结构》第六周学习总结的主要内容,如果未能解决你的问题,请参考以下文章
20172327 2017-2018-2 《程序设计与数据结构》实验3报告
20172327 2017-2018-2 《程序设计与数据结构》实验2报告
20172327 2017-2018-2 《程序设计与数据结构》实验1报告
20172327 2017-2018-2 《程序设计与数据结构》第八周学习总结