教材学习内容总结

在教材中,有一句话叫做

伪代码是最好的注释。

一开始我不理解什么是伪代码,但在参考了百度和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. nginx+lvs+keepalived安装

    安装nginx 配置文件和之前的一样 user nobody nobody;    #定义Nginx运行的用户和用户组 worker_processes 4;    #nginx进程数,建议设置为等于 ...

  2. Python中readline()函数 去除换行符

    从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...

  3. Angular2 *ngFor把数据显示在多个input中出错解决方法

    点击添加按钮会自动添加一个空的input组 html <div class="form-inline"> <label class="form-cont ...

  4. CF712D Memory and Scores

    题目分析 实际上两个人轮流取十分鸡肋,可以看作一个人取2t次. 考虑生成函数. 为了方便,我们对取的数向右偏移k位. 取2t次的生成函数为: \[ F(x)=(\sum_{i=0}^{2k}x_i)^ ...

  5. [CTSC2018]假面

    题目 先来考虑一下第一问,血量有\(P\)的概率减\(1\) 由于我们最后需要求每一个人的期望血量,于是考虑维护出每个人处于不同血量时候的概率 一个简单\(dp\)即可 \[dp_{i,j}=dp_{ ...

  6. 【[APIO2010]巡逻】

    \(APIO\)的题就是非常难啊 首先看到\(k=1\)的情况,显然我们只需要找到一条直径把这条直径的两端连起来就好了 因为我们连这一条新边的实质是使得这一条链上的边不需要重复经过了,我们想让走的边尽 ...

  7. Django实战(一)之简单Demo

    菜鸟教程上Django安装可供参考: 参考链接: http://www.runoob.com/django/django-install.html 菜鸟教程上如果不行的话,下面博客网址可以供参考 Li ...

  8. Centos7 KDE 桌面Konsole 光标错位解决方法

    在使用linux 系统,桌面为KDE 时,在使用Konsole 时,光标的位置是错位的. 如下图效果  解决办法 用命令进入/home/cfox/.kde/share/apps/konsole 修改S ...

  9. wireMock快速伪造restful服务

    官网地址:http://wiremock.org/ Jar下载:http://repo1.maven.org/maven2/com/github/tomakehurst/wiremock/1.57/w ...

  10. SQL-还原数据库,数据库提示正在还原中的处理办法

    还原数据库时,提示还原成功,可是数据库列表中该数据库显示正在还原中: 执行此命令即可: RESTORE DATABASE EnterPriseBuilding WITH RECOVERY 1. 至少有 ...