第二周作业--20155308郝文菲
20155308 2006-2007-2 《Java程序设计》第2周学习总结
教材学习内容总结
3.1类型、变量与运算符
- 基本类型:
整数(short、int、long),字节(byte),浮点数(float/double),字符(char)。
注意布尔常量(表示true与false)。 - 注意输出:system.out.printf()--将输出文字做格式化后显示在文本模式中;system.out.println()--标准输入中显示文字后换行;system.out.print()--输入文字后不用换行。这三者的有很大不同,要注意区别!
- 变量命名时注意两点:不可以声明局部变量后未指定任何值给它之前就使用变量;不想改变变量值可以在声明变量时加上final(例:final double PI=3.1415926;)
- 可以用下划线更清楚地表示某些数字(例:int number = 1234_5678;)
- 注意逻辑运算与位运算的区别:逻辑运算与(&&),
或(||),非(!);与(&),或(|),非(~)。
3.2流程控制
- 分支
if,if...else,if...else if,switch...case,switch - 循环
for,while,do...while
教材学习中的问题和解决过程
-
问题:Byte与byte什么关系?
答:byte是JAVA的基本类型;而Byte是一个类。
http://blog.sina.com.cn/s/blog_50d43ad50100bz03.html -
尝试增加代码,测试多个位的运算,比如:0xABCD & 0xF0F0 答:用以下程序可以实现测试多个位的运算其中注意%x和%X的输出区别!(%x表示字母输出以小写形式,%X表示字母输出以大写形式)。
-
设计几个掩码,比如:把一个整数的某个位清零。
在初遇这个问题时,我有一点懵,不知道怎么进行,然后我上网查了一下,找到了解决方法。
http://blog.csdn.net/yuliu0552/article/details/6820472
但是我仍然没有学会如何将一个变量的某个位清零。 -
问:p64 Shift.java: 移位这个程序的运行结果跟教材中一样吗?不一样,如果按照教材的程序,出来的结果是这样的:
但是如果将程序这样修改,结果就和书上结果一样了!
-
p73 Level2.java: switch
代码有问题吗?答:我认为有问题,因为没有限制输入数的范围,如果输入大于100的数,则显示E,结果错误。 -
NineNiteTable.java NineNiteTable2.java
如何去除重复的内容?
-
p76 RandomStop.java RandomStop2.java
random()的值的范围?你怎么获得的?
答:Math.random()会随机产生0.0-1.0之间的值,乘上10再裁掉小数部分,产生了0-9的数。
课后操作题P81
- 如果有m与n两个int变量,分别存储1000与495两个值,请用程序算出最大公因子。
或者
- 在三位的整数中,例如153可以满足1³+5³+3³=153.这样的数成为阿姆斯特朗数,试用程序找出所有三位数的阿姆斯特朗数。
代码调试中的问题和解决过程
Range中如何取不同类型的数值范围?
- 利用例如Byte.MIN_VALUE,Byte.MAX_VALUE等静态成员,其含义以后再学。
[代码托管]https://git.oschina.net/bestiisjava2017/java-besti-is-hwf
- Range.java
- Comparison.java
- Bitwise.java
- Shift.java
- Level.java
- Level2.java: switch
- OneToTen.java:
- NineNiteTable.java
- RandomStop.java
- RandomStop2.java
- 代码量截图:
上周考试错题总结
- (git init )命令可在在工作目录中创建新的 Git 仓库。
- (git push)将本地分支的更新,推送到远程主机。
- git log命令来查看(提交历史)
- 我发现自己错题大致是关于git的问题,说明我对git的把握还没有到位,不慎熟练。所以我找到了关于git的操作。
根据这个过程我对git熟练了一些
其他(感悟、思考等,可选)
这一周我学习到了java语言的基础知识,感觉有很多都与C语言中有很多相似之处,例如常量类型int、short等,还有流程控制中的条件式,都让我有一种熟悉的
感觉,但是在学习之中,还是有新的知识,例如boolean,这都是我不熟悉的事物,应该多加注意。这星期的学习还是比较简单的,掌握起来也比较快,但是我认为还是需要注意不同之处,多加练习,才能更好地掌握java!
思考Java和C有什么异同?
http://www.docin.com/p-58560415.html
学习进度条
代码行数(新增积) | 博客量(新增积) | 学习时间(新增积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第二周 | 300/500 | 2/4 | 18/38 | 接触java的基础知识 |
-
计划学习时间:18小时
-
实际学习时间:20小时
-
改进情况:学习时间有所保障,但是退步了,需要继续坚持。