教材学习内容总结

在教材中,有一句话叫做

伪代码是最好的注释。

一开始我不理解什么是伪代码,但在参考了百度和C语言的学习过程后,我发现伪代码的作用就相当于是解决问题前期的流程图设计,伪代码设计好了之后就可以用编程语言进行编程了。而为了保证程序的高效,条理清晰、命令明确的伪代码在编译的过程中就能帮助人们更好地理解并使用程序。

在Java编程中,整数可以用二进制(0bdddd),八进制(0ddd)、十进制(dddd)、十六进制(0Xdddd)进行表示,都是有符号的,这就要求在编译的时候要注意整数的数制和题目要求的是否一样,以免结果出错。

教材中提到

关系运算:注意不要对浮点数进行相等性运算,可以试试1.0-0.7==0.3?

我尝试之后发现结果并不等于0.3,这点在之后的实验中要尤其注意。

public class Math{
public static void main(String[] args) {
System.out.println(1.0 - 0.1);
System.out.println(1.0 - 0.2);
System.out.println(1.0 - 0.3);
System.out.println(1.0 - 0.4);
System.out.println(1.0 - 0.5);
System.out.println(1.0 - 0.6);
System.out.println(1.0 - 0.7);
System.out.println(1.0 - 0.8);
System.out.println(1.0 - 0.9);
System.out.println(1.0 - 1.0);
}
}

运行结果如下图

代码调试中的问题和解决过程

在用git提交代码的过程中,时常出现提示

远程库已经更新,但本地分支没有更新

这时候就用

git pull origin master

先将远程库的更新下载到本地,再用

git push origin master

将代码推送到码云的项目中。

要注意的是:Git中从远程的分支获取最新的版本到本地有这样2个命令:

  1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge。
git fetch origin master
git log -p master..origin/master
git merge origin/master

以上命令的含义:

首先从远程的origin的master主分支下载最新的版本到origin/master分支上,然后比较本地的master分支和origin/master分支的差别,最后进行合并。

上述过程其实可以用以下更清晰的方式来进行:

git fetch origin master:tmp
git diff tmp
git merge tmp

从远程获取最新的版本到本地的test分支上,之后再进行比较合并。

  1. git pull:相当于是从远程获取最新版本并merge到本地。
git pull origin master

上述命令其实相当于git fetch 和 git merge。

在实际使用中,git fetch更安全一些。因为在merge前,我们可以查看更新情况,然后再决定是否合并。

代码托管

首先在src文件夹中新建两个文件夹week1和week2

mkdir week1
mkdir week2

用tree命令查看子文件



用statistics脚本查看代码行数



将本周做的修改上传到码云的项目中



在码云中查看上传的代码

上周考试错题总结

第一周错题

  • 1.填空:Linux Bash中,可以使用help,man和(info)命令查找命令的帮助信息。理解情况:不常使用帮助信息,多打开帮助能少走弯路。
  • 2.填空:在 Linux 系统里, (root) 账户拥有整个系统至高无上的权利。理解情况:通常要修改管理者权限要用sudo,这里指的就是root账户。
  • 7.填空:Linux Bash中,使用(groups)命令来查看用户属于哪些用户组。理解情况:之前建新用户的时候没有用命令行,现在可以用groups打开用户组。
  • 15.填空:Linux Bash中,使用echo查看环境变量PATH值的命令是(echo $PATH理解情况:没在Linux中查看过环境变量,现在知道可以用echo $PATH查看环境变量PATH。

第二周错题

  • 3.填空:德雷福斯技能学习模型把技能获取分为五个阶段:新手、高级新手、胜任者、精通者、专家,其中( 新手 )不能离开详细的指令。理解情况:新手刚刚接触一项事物,这时候最需要他人的指导才不至于走弯路。
  • 4.编程中要写三种代码:(伪代码 ),产品代码,测试代码。理解情况:伪代码介于计算机语言和自然语言之间。
  • 10.只有通过(TCK)兼容性测试的实现,才可以使用Java这个商标。理解情况:TCK : Test Compatibility Kit 是测试兼容组件。
  • 30.填空:IDEA教程中有关调试有四种断点:行断点,方法(函数)断点,(条件断点)和临时断点。理解情况:函数断点指调试到函数结束就停止;条件断点指让调试在指定的地方停止。

思考与感悟

因为我的电脑不支持虚拟化,我一开始只能在Windows上完成老师要求的操作。后来为了练习在Linux的代码托管及对文件的修改,我在舍友的虚拟机中新建了一个用户,并在这个用户中用命令行完成了包括添加文件夹、添加文件、删除或移动文件、复制文件、编写代码等等一系列操作。之前在实验楼上的实验就让我体会到Linux与Windows系统之间的不同,但直到我自己用虚拟机完成这些操作的时候,才发现与我们传统的模式完全不一样。在寒假的学习中,我认识到键盘是Linux中最重要的零件。有了键盘,即使没有鼠标,也可以用命令行完成所需要的一切操作,这也许就是这么多人在接触Linux之后不愿在回到windos操作模式的原因了吧。就我自己而言,本身是挺习惯界面操作的,但熟悉了命令行之后,结合打字速度,感觉Linux比Windows顺畅多了。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 20/20 1/1 10/10 安装了JDK、IDEA和Git,写了第一个Java程序
第二周 97/117 2/3 20/30 用Linux上传代码,熟悉修改文件的命令行
  • 计划学习时间:30小时
  • 实际学习时间:25小时

参考资料

20155315 2016-2017-2 《Java程序设计》第二周学习总结的更多相关文章

  1. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  2. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  3. 2017面向对象程序设计(Java)第二周学习总结

    2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结

    丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 201871010121 王方 《面向对象程序设计(java)》 第二周学习总结

    这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...

  9. 杨其菊201771010134《面向对象程序设计Java》第二周学习总结

    第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...

  10. 201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

随机推荐

  1. LINUX下OA搭建

  2. Java.lang 包 (包装类、String类、Math类、Class类、Object类)

    Java 的核心 API(Application Programming Interface)是非常庞大的,这给开发者带来了很大的方便. java.lang 包是 Java 的核心类库,它包含了运行 ...

  3. Java 运算符(引用和对象)

    1. 算数运算符 就是+.-.*./.%.++.--这些,没什么好说的,稍微强调下自加,自减: 前缀自增自减法(++i,--i): 先进行自增或者自减运算,再进行表达式运算. 后缀自增自减法(i++, ...

  4. MS10-070 ASP.NET Padding Oracle信息泄露漏洞项目测试

    MS10-070 ASP.NET Padding Oracle信息泄露漏洞1         漏洞描述:ASP.NET由于加密填充验证过程中处理错误不当,导致存在一个信息披露漏洞.成功利用此漏洞的攻击 ...

  5. Python类的继承(进阶5)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6411918.html 本文出自:[Edwin博客园] Python类的继承(进阶5) 1. python中什 ...

  6. 使用highmaps制作中国地图

    Highmaps 所需文件 http://code.highcharts.com/maps/highmaps.js(地图渲染的核心文件 必须引用)http://code.highcharts.com/ ...

  7. BZOJ3174:[TJOI2013]拯救小矮人(DP)

    Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口.对于每一个小矮人, ...

  8. 1968. [AHOI2005]约数研究【数论】

    Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...

  9. datetable dt.select使用詳情

    当你从数据库里取出一些数据,然后要对数据进行整合,你很容易就会想到: 1DataTable dt = new DataTable();//假设dt是由"SELECT C1,C2,C3 FRO ...

  10. fiddler常用功能一

    fiddler备忘,好久不用,有些步骤忘记了 1.本机pc,目前ie和chrome都可以直接抓取,但是搜狗浏览器暂时抓不到 2.手机端抓包 (1)设置下代理:fiddler客户端查看下端口,然后在手机 ...