20155229 2016-2017-2 《Java程序设计》第二周学习总结

时间:2023-03-09 15:28:10
20155229 2016-2017-2 《Java程序设计》第二周学习总结

20155229 2016-2017-2 《Java程序设计》第二周学习总结

教材学习内容总结

  • 布尔:boolean类型可表示true和false
  • %符号被用来作为控制符号前置,所以规定用%%在字符串中表示%
  • “'”在语法上用来表示字符,使用忽略符号“”,编译程序看到“”就会忽略下一个字符。

eg.

忽略符号 说明
\ 反斜杠
'
" 双引号"
\b 倒退一个字符
\f 换页
\n 换行
\r 光标移至行首
  • 二进制方式表示某个值,用0b作为开头

  • "<<"左移符号:将所有位往左移指定位置,舍弃左边被挤出去的位,右边补上0

  • ">>"右移符号:将所有位往右移指定位置,舍弃右边被挤出去的位,左边补上原来的位。

  • ">>>"运算符:右移后,最左边补0;

教材学习中的问题和解决过程

  • 问题一:P55中Basic Range.java中的MIN_VALUE,MAX_VALUE,MIN_EXPONENT,MAX_EXPONENT,这些代表什么?
  • 问题一解决方案:
问题 含义
MIN_VALUE 保存 某 类型的最大正有限值的常量
MAX_VALUE 有限 某 变量可能具有的最大指数
MIN_EXPONENT 标准化 某 变量可能具有的最小指数
MAX_EXPONENT 保存 某 类型的最小正标准值的常量

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

因为重新在项目小组里重建项目,所以在上传代码时出现了问题

如图20155229 2016-2017-2 《Java程序设计》第二周学习总结

我在上网查了资料后输入

git remote add origin https://git.oschina.net/你的用户名/项目名.git

git fetch origin

git merge origin /master

便可继续上传代码


在学习第三章的过程中主要是照着书上的代码写

  • p57 TestJavaBasic.java
    20155229 2016-2017-2 《Java程序设计》第二周学习总结

20155229 2016-2017-2 《Java程序设计》第二周学习总结

  • P69 Comparison.java: 关系运算
    20155229 2016-2017-2 《Java程序设计》第二周学习总结

20155229 2016-2017-2 《Java程序设计》第二周学习总结

  • P62 Bitwise.java: 位运算

尝试增加代码,测试多个位的运算,比如:0xABCD & 0xF0F0

我的程序:
20155229 2016-2017-2 《Java程序设计》第二周学习总结

得到的结果是
20155229 2016-2017-2 《Java程序设计》第二周学习总结

但是得到的结果应该是大写的,我查阅p56的常用格式控制符号后,得到%x表示输出以小写表示,%X表示输出以大写表示

所以将代码改为
20155229 2016-2017-2 《Java程序设计》第二周学习总结

得到的结果是
20155229 2016-2017-2 《Java程序设计》第二周学习总结

  • p64 Shift.java: 移位
    结果是:
    20155229 2016-2017-2 《Java程序设计》第二周学习总结

这个的运行结果跟教材中不一样

我将代码改为
20155229 2016-2017-2 《Java程序设计》第二周学习总结

得到的结果是
20155229 2016-2017-2 《Java程序设计》第二周学习总结
这个结果就和书上的一样了

  • p71 Level.java

结果是
20155229 2016-2017-2 《Java程序设计》第二周学习总结

将score = 100或者score = 120

得到的结果都是
20155229 2016-2017-2 《Java程序设计》第二周学习总结

  • p73 Level2.java: switch
    20155229 2016-2017-2 《Java程序设计》第二周学习总结

结果是
20155229 2016-2017-2 《Java程序设计》第二周学习总结

  • p74 OneToTen.java: for

20155229 2016-2017-2 《Java程序设计》第二周学习总结

结果是:
20155229 2016-2017-2 《Java程序设计》第二周学习总结

  • p74-p75 NineNiteTable.java NineNiteTable2.java

20155229 2016-2017-2 《Java程序设计》第二周学习总结

结果是
20155229 2016-2017-2 《Java程序设计》第二周学习总结


学习完第三章后,除了照着书上的代码写代码,我还编写了书上课后练习题的两道题目,出现的问题较小,在此我将我出现的问题贴出。

  • 题目一:最大公约数

我编写的代码如下
20155229 2016-2017-2 《Java程序设计》第二周学习总结

class后面的应与标题相符,而我加了空格;
20155229 2016-2017-2 《Java程序设计》第二周学习总结

将空格删除后得到的结果为10、5,而正确的结果应该只有5

于是我考虑是不是倒数第三个“}”的位置让‘System.out.println(n)’参与进循环

20155229 2016-2017-2 《Java程序设计》第二周学习总结

随后,我将倒数第三个‘}’移动到‘System.out.println(n)’后面

得出的结果就是正确的了。
20155229 2016-2017-2 《Java程序设计》第二周学习总结

-小结:“}”的位置会影响结果的输出.

  • 题目二:阿姆特斯特朗数

我编写的代码如下
20155229 2016-2017-2 《Java程序设计》第二周学习总结

编译后出现如图,少写了个‘;’
20155229 2016-2017-2 《Java程序设计》第二周学习总结

接着的错误是少一个‘=’
20155229 2016-2017-2 《Java程序设计》第二周学习总结

改正后结果如图
20155229 2016-2017-2 《Java程序设计》第二周学习总结

  • 小结:“=”和“==”的区别在于“=”是赋值 “ == ”是判断

小技巧:在java中是可以将Math.pow(a,3)代替a * a * a;

代码托管

  • 代码提交过程截图:
    20155229 2016-2017-2 《Java程序设计》第二周学习总结

    我写代码的时候总是忘记git add . 所以后来的代码是写一个提交一个,有时候都会忘记提交,所以我这周只能给出码云上的最终的图,下周我会改正的

  • 代码量截图:
    20155229 2016-2017-2 《Java程序设计》第二周学习总结

这里面的数据是这周新建文件夹后的数据,

上周考试错题总结

第一周测试:

  • 错题1:16.填空:查找home目录中昨天创建的文件的命令是(find ~ -ctime 1)

find是查找 -ctime是创建时间 n表示n天之前的“一天之内”的文件

  • 错题2:18. 填空:Linux Bash中,zip命令使用(-e)参数可以创建加密压缩包。

    zip使用-e参数可以创建加密压缩包

使用unzip命令解压缩zip文件

  • 错题3:20. 填空:Linux Bash中,ls . | sort 命令的功能是( 显示当前目录内容并排序 )

第二周测试:

  • 错题1:3. 填空:德雷福斯技能学习模型把技能获取分为五个阶段:新手、高级新手、胜任者、精通者、专家,其中( 新手 )不能离开详细的指令。
  • 错题2:10. 只有通过(TCK)兼容性测试的实现,才可以使用Java这个商标。
  • 错题3:19. CH02 填空:在src目录中编译图2.23中Main.java代码的命令是(javac –d . Main.java)
  • 错题4:24. 填空:(git init )命令可在在工作目录中创建新的 Git 仓库。

  • 错题5:26. 填空:(git push)将本地分支的更新,推送到远程主机。
  • 错题6:28. 填空:git log 命令来查看(提交历史)
  • 错题7:30. 填空:IDEA教程中有关调试有四种断点:行断点,方法(函数)断点,(条件断点)和临时断点。

通过看这次的错题,发现自己很多答案是知道,但是因为对命令的理解还不太深,例如第二周的第19、24、26题是在写代码和上传代码常用的,但是只记住了写代码的时候该用这个命令,缺少真正的理解对命令的理解。之后看书和学习过程中,自己需要加强对知识的理解,不能只记住它是什么,而是要知道它的作用是什么。

时间过了好几天,所以自己也忘了哪些错了,哪些没做,只有大概的印象。

其他

上周我的项目目录不规范,这周我将它重新贴上来
20155229 2016-2017-2 《Java程序设计》第二周学习总结

感悟

通过这周的学习,能够发现java基础语法与c语言大多相同,在有c语言的基础上,学习java基础语言时比较快。因为现在刚接触java,所以编写的代码时有c语言的基础,也比较容易上手,就是还有些不该犯错的细节,还需注意。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 9/9 1/1 20/20
第二周 162/171 1/2 25/45 学习java的基础语法
  • 计划学习时间:20小时

  • 实际学习时间:25小时

参考资料