20162327WJH第五周作业
学号 20162327 《程序设计与数据结构》第5周学习总结
教材学习内容总结
- 1.java是一种面向对象的语言。面向对象是一种编程方法。更是一种思维方式。
- 2.面向对象编程的终极目标是消除重复代码。
- 3.创建类的方法:class + 类名{属性(成员变量);方法(成员方法)}
- 4.两种内存
栈内存:存放着对象的名字,称为“引用”。
堆内存:存放着对象的本体。 - 5.使用对象调用变量和函数
对象.成员变量
对象.成员函数
生成一个对象必须用“new” - 6.构造函数
- 7.访问方法:getX
设置方法:setX - 8.方法声明头部包含返回值类型、方法名和方法列表的参数列表
方法头部指定的返回值类型可以是一个基本类型、类名或者是保留字void - 9.this的用法
1.使用this调用成员变量和成员函数,this是代表调用那个函数的对象。
2.使用this调用构造函数。 - 10.形式参数和实际参数的区别和联系。
- 11.static 关键字
1.定义静态成员变量(可以直接用类名来调用,也可以用对象名来调用)
2.定义静态函数(也可以直接用类名来调用,不能使用this)
3.注意:一个静态变量属于一个类,静态函数中不能引用非静态的成变量。 - 12.程序的测试和程序的调试的相关内容。其中调试尤为重要。
教材学习中的问题和解决过程
- 问题1:程序5.11有关求最大公约数的问题。
- 问题1解决方案:
private void reduce()
{
if(numerator != 0)
{
int common = gcd(Math.abs(numerator),denominator);
numerator = numerator / common;
denominator = denominator / common;
}
}
private int gcd(int num1,int num2)
{
while(num1 != num2)
if (num1 > num2)
num1 = num1 - num2;
else
num2 = num2 - num1;
return num1;
}
其中gcd是用来求最大公约数的一个函数,其原理是使用了数学中的辗转相减法。
代码调试中的问题和解决过程
- 问题1:调用不同类或同类中方法的格式。
- 问题1解决方案:一般是1、对象.成员变量2、对象.成员函数
| 访问包的位置 | private | protected | public |
|---|---|---|---|
| 本类 | 可见 | 可见 | 可见 |
| 同包其他类或子类 | 不可见 | 可见 | 可见 |
| 其他包的类或子类 | 不可见 | 不可见 | 可见 |
代码托管
代码量截图

代码提交过程

上周考试错题总结
1.(下面哪条语句访问了一个整型二维数组numbers的第二个元素,并把值存入num变量中)答案:B
A .num = numbers[1][2];B .num = numbers[0][1];
C .num = numbers.getElement(1, 2);
D .num = numbers.getElement(0, 1);
E .none of the above are correct.
解析:[0][0]是第一个元素,[1][2]访问的是第三个元素。2.(对于下面的代码段,说法正确的是?)答案:E
int[] array = new int[25];
array[25] = 2;
A .The integer value 2 will be assigned to the last index in the array.(整数2会赋给数组中最后一个元素)
B .The integer value 25 will be assigned to the second index in the array.(整数25会赋给数组中的第2个索引)
C .The integer value 25 will be assigned to the third value in the array. (整数25会赋给数组中的第3个元素)
D .This code will result in a compile-time error.(代码会产生编译时错误)
E .This code will result in a run-time error. (代码会产生运行时错误)3.(无限循环不会产生编译时错误)答案:A
A .true
B .false4.(在Java中,布尔表达式中最多有两个逻辑运算符)答案:B
A .false
B .true5.已知某用户stud1,其用户目录为/home/stud1。如果当前目录为/home,使用一下哪个命令后可以进入/home/stud1/test? 答案:B
A .cd home
B .cd stud1/test
C .cd /stud1/test
D .cd test
注意:cd 和 第一个文件名之间没有“/”
结对及互评
点评过的同学博客和代码
本周结对学习情况
- 结对同学学号20162327
- 结对学习内容
本周我和我的小伙伴继续研究了分数的计算问题,原来我们考虑的是用switch语句对加减乘除运算进行分块,不过,学了第五章后,我们学会了使用调用方法。就是当一个问题比较复杂时,我们可以可以分解为几个私有的支撑方法,来去调用它。参考书上的程序5.11,我们掌握了求分子分母最大公约数的方法--辗转相减法,还有两个分数相除就等于乘以它的倒数这些小技巧,虽然现在看起来这些都很容易想到,但是要与编程结合起来还是有难度的。总之,我们俩配合默契,在学习中做到了互帮互助,共同提高,感觉很棒!
上周博客互评情况
其他(感悟、思考等,可选)
这周学习的第五章的内容,具有非常强的逻辑性,非常考验我们的思维能力,有时候一段内容要看好长时间甚至看其他的参考书才能理解,并且这种逻辑很容易遗忘,必须每天都看一看,增强理解,看的次数多了,时间长了,逻辑也就会慢慢地变清楚了。虽然我现在还不熟很清楚,但是已经比刚开始看好多了。还有,自己动手编写一些程序也是帮助很大的,这样你就有了自己的思维方式,有了自己独特的理解,为以后的学习锻炼一个好的思维方式。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 100/100 | 1/1 | 16/16 | |
| 第二周 | 257/257 | 1/1 | 22/22 | |
| 第三周 | 465/465 | 1/1 | 26/26 | |
| 第四周 | 875/875 | 2/2 | 40/40 | |
| 第五周 | 600/600 | 1/1 | 40/40 |
参考资料
20162327WJH第五周作业的更多相关文章
- 2018-2019-1 20189221《Linux内核原理与分析》第五周作业
2018-2019-1 20189221<Linux内核原理与分析>第五周作业 实验四 实验过程 当用户态进程调用一个系统调用时,cpu切换到内核态并开始执行一个内核函数. 在Linux中 ...
- 2017-2018-1 JaWorld 第四、五周作业
2017-2018-1 JaWorld 第四.五周作业 两周工作内容 小组讨论并确定最终的app雏形 合作完成需求说明书 工作分工 成员 分工 比例 陈是奇 1.引言 8% 马平川 2.1-2.5 产 ...
- 2017-2018-1 JAVA实验站 第四、五周作业
2017-2018-1 JAVA实验站 第四.五周作业 JAVA实验站小组成员 学号 名字 职务 20162318 张泰毓 组长 20162303 石亚鑫 组员 20162304 张浩林 组员 201 ...
- 2017-2018-1 20179205《Linux内核原理与设计》第五周作业
<Linux内核原理与设计>第五周作业 视频学习及操作分析 一.用户态.内核态和中断 内核态在CPU执行中对应高执行级别,执行级别为0级,具有特权指令,可以访问任意物理地址:用户态执行级别 ...
- 第五周作业:markdown语法小总结
第五周作业 markdown语法总结 早就想写这么一个文章了,关于markdown的语法,因为最近使用的比较多,所以特地总结一下 一,标题 首先要介绍的就是标题, 标题一共有六级 # h1 ## h2 ...
- 2019-2020-1 20199329《Linux内核原理与分析》第五周作业
<Linux内核原理与分析>第五周作业 一.上周问题总结: 虚拟机将c文件汇编成汇编文件时忘记添加include<stdio.h> gdb跟踪汇编过程不熟练 二.本周学习内容: ...
- 2019春第五周作业Compile Summarize
这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能够精通关于数组内部运作原理 这个作业在哪个具体方面帮助我实现目标 如何输出一行的连续字符 参考文献与网址 ...
- 第四周预习作业and第五周作业
第四周预习作业 统计一行文本的单词个数 本题目要求编写程序统计一行字符中单词的个数.所谓"单词"是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个. 输入格式: 输入 ...
- 第五周作业总结(内含用Junit测试ArrayStack和LinkedStack课堂练习报告)
---恢复内容开始--- 学号 20162310<程序设计与数据结构>第五周学习总结 教材学习内容总结 集合分为线性集合(集合中的元素排成一行)和非线性集合(按不同于一行的方式来组织元素, ...
随机推荐
- C# 程序员最常犯的 10 个错误(转)
关于C#关于本文常见错误 #1:把引用当做值来用,或者反过来常见错误 #2:误会未初始化变量的默认值常见错误 #3:使用不恰当或未指定的方法比较字符串常见错误 #4:使用迭代式 (而不是声明式)的语句 ...
- TP5 数组分页
需要 use think\Page; 我这个是 Page是从tp3.2的移到5.0来用的,如果你的里面没有这个也可以移动过来 PHP代码: $page= $this->request->p ...
- 将nodejs代码部署到阿里云服务器
概述 最近在做一个小项目,其中用nodejs做了个数据转发的接口,之后需要将这部分代码部署到服务器上面,并使用Nginx做反向代理.期间使用搜索引擎大量查阅了其他同鞋的经验,不过写的大多很笼统,因此踩 ...
- Luogu2973:[USACO10HOL]赶小猪
题面 Luogu Sol 设\(f[i]\)表示炸弹到\(i\)不爆炸的期望 高斯消元即可 另外,题目中的概率\(p/q\)实际上为\(1-p/q\) 还有,谁能告诉我不加\(EPS\),为什么会输出 ...
- Windows下GO的开发环境配置
本文主要内容如下几点: 下载安装GO 配置多个工作区,第一个默认放第三方包,其他的放项目代码 包管理器godep的安装使用 安装过程中的一些坑(墙) vscode中使用go 1. 下载并安装go 官网 ...
- Linux shell 脚本(三)
转载请标明出处: http://blog.csdn.net/zwto1/article/details/45111547: 本文出自:[zhang_way的博客专栏] 九.使用case 分支 语法 ...
- [转]Thunderbird 使用 Exchange 邮箱
[转]Thunderbird 使用 Exchange 邮箱 http://my.oschina.net/MaTech/blog/295238#OSC_h3_1 公司最近邮箱只支持Exchange模式, ...
- 题目1031:xxx定律
题目描述: 对于一个数n,如果是偶数,就把n砍掉一半:如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止. 请计算需要经过几步才能将n变到1,具体可见样例. 输入: 测试包含多个用例,每 ...
- postgresql和oracle数据库对比
SQL执行计划干预 从使用postgresql来看,想要改变执行计划只能通过対表进行分析,不能通过添加hint的方式来改变执行计划: oracle不仅可以通过对表进行收集统计来改变执行计划,而且很重要 ...
- java中的字符串分割函数
java中的split函数和js中的split函数不一样. Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项: ...