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 | 保存 某 类型的最小正标准值的常量 |
代码调试中的问题和解决过程
因为重新在项目小组里重建项目,所以在上传代码时出现了问题
如图
我在上网查了资料后输入
git remote add origin https://git.oschina.net/你的用户名/项目名.git
git fetch origin
git merge origin /master
便可继续上传代码
在学习第三章的过程中主要是照着书上的代码写
- p57 TestJavaBasic.java
- P69 Comparison.java: 关系运算
- P62 Bitwise.java: 位运算
尝试增加代码,测试多个位的运算,比如:0xABCD & 0xF0F0
我的程序:
得到的结果是
但是得到的结果应该是大写的,我查阅p56的常用格式控制符号后,得到%x表示输出以小写表示,%X表示输出以大写表示
所以将代码改为
得到的结果是
- p64 Shift.java: 移位
结果是:
这个的运行结果跟教材中不一样
我将代码改为
得到的结果是
这个结果就和书上的一样了
- p71 Level.java
结果是
将score = 100或者score = 120
得到的结果都是
- p73 Level2.java: switch
结果是
- p74 OneToTen.java: for
结果是:
- p74-p75 NineNiteTable.java NineNiteTable2.java
结果是
学习完第三章后,除了照着书上的代码写代码,我还编写了书上课后练习题的两道题目,出现的问题较小,在此我将我出现的问题贴出。
- 题目一:最大公约数
我编写的代码如下
class后面的应与标题相符,而我加了空格;
将空格删除后得到的结果为10、5,而正确的结果应该只有5
于是我考虑是不是倒数第三个“}”的位置让‘System.out.println(n)’参与进循环
随后,我将倒数第三个‘}’移动到‘System.out.println(n)’后面
得出的结果就是正确的了。
-小结:“}”的位置会影响结果的输出.
- 题目二:阿姆特斯特朗数
我编写的代码如下
编译后出现如图,少写了个‘;’
接着的错误是少一个‘=’
改正后结果如图
- 小结:“=”和“==”的区别在于“=”是赋值 “ == ”是判断
小技巧:在java中是可以将Math.pow(a,3)代替a * a * a;
代码托管
代码提交过程截图:
我写代码的时候总是忘记git add . 所以后来的代码是写一个提交一个,有时候都会忘记提交,所以我这周只能给出码云上的最终的图,下周我会改正的
代码量截图:
这里面的数据是这周新建文件夹后的数据,
上周考试错题总结
第一周测试:
- 错题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题是在写代码和上传代码常用的,但是只记住了写代码的时候该用这个命令,缺少真正的理解对命令的理解。之后看书和学习过程中,自己需要加强对知识的理解,不能只记住它是什么,而是要知道它的作用是什么。
时间过了好几天,所以自己也忘了哪些错了,哪些没做,只有大概的印象。
其他
上周我的项目目录不规范,这周我将它重新贴上来
感悟
通过这周的学习,能够发现java基础语法与c语言大多相同,在有c语言的基础上,学习java基础语言时比较快。因为现在刚接触java,所以编写的代码时有c语言的基础,也比较容易上手,就是还有些不该犯错的细节,还需注意。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 9/9 | 1/1 | 20/20 | |
第二周 | 162/171 | 1/2 | 25/45 | 学习java的基础语法 |
计划学习时间:20小时
实际学习时间:25小时