教材学习内容总结

在教材中,有一句话叫做

伪代码是最好的注释。

一开始我不理解什么是伪代码,但在参考了百度和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. [Codeup 25482] Beauty

    25482: Beauty 时间限制: 1 Sec  内存限制: 128 MB献花: 7  解决: 3[献花][花圈][TK题库] 题目描述 一年一度的星哥选美又拉开了帷幕 N个人报名参加选拔,每个人 ...

  2. [T-ARA][20090729]

    歌词来源:http://music.163.com/#/song?id=484058959 在基本发音规则之上,考虑到了音变的某些情况,最后结合听力搞定的一版歌词发音(只要学完养乐多老师的教程应该读起 ...

  3. web自动化_浏览器驱动chromedriver安装方法(适用RF框架/Selenium/Appium)

    在进行UI自动化时,打开浏览器是第一步,这就必须要安装浏览器的驱动,chrome浏览器需要安装chromedriver,下载地址:http://chromedriver.storage.googlea ...

  4. JavaScript中的值和引用

    JavaScript5中有6种基本数据类型:undefined.null.布尔值(Boolean).字符串(String).数值(Number).对象(Object) ES6中新引入一种原始数据类型: ...

  5. BZOJ 1061 志愿者招募 最小费用流&&线性规划建模

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1061 题目大意: 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主 ...

  6. shell基础之脚本执行,命令别名以及快捷键等

    脚本执行方式 比如我们在/root/下编写了一个脚本,名字为hello.sh.那么怎么调用执行它呢?有两种办法: (1)直接通过bash,如下: bash  hello.sh 注:采用bash执行脚本 ...

  7. 泛型和 Any 类型

    泛型和 Any 类型 这两个类型看起来很相似,但是一定要小心两者的区别.他们区别在于 Any 类型会避开类型的检查,所以尽量少用最好不用.泛型一方面很灵活一方面也很安全,下面举个例子感受下两者的区别: ...

  8. C、CSL 的密码 【set暴力 || 后缀数组】 (“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛 )

    题目传送门:https://ac.nowcoder.com/acm/contest/551/C 题目描述 众所周知,CSL 最喜欢的密码是 ******.于是有一天……     为了改变这一点,他决定 ...

  9. LayIM.AspNetCore Middleware 开发日记(四)主角登场(LayIM介绍)

    前言 在前几篇中已经初步介绍了开发AspNetCore中间件的一些基础知识,不过都没有很深入的去研究,后续还是需要去看看源码.本篇呢,终于有点开头的味道了,就是要介绍LayIM了,其实标题写的是主角, ...

  10. ethereumjs/ethereumjs-block-1-简介

    https://github.com/ethereumjs/ethereumjs-block Encoding, decoding and validation of Ethereum's Block ...