第二周作业--20155308郝文菲

20155308 2006-2007-2 《Java程序设计》第2周学习总结

教材学习内容总结

3.1类型、变量与运算符

  1. 基本类型:
    整数(short、int、long),字节(byte),浮点数(float/double),字符(char)。
    注意布尔常量(表示true与false)。
  2. 注意输出:system.out.printf()--将输出文字做格式化后显示在文本模式中;system.out.println()--标准输入中显示文字后换行;system.out.print()--输入文字后不用换行。这三者的有很大不同,要注意区别!
  3. 变量命名时注意两点:不可以声明局部变量后未指定任何值给它之前就使用变量;不想改变变量值可以在声明变量时加上final(例:final double PI=3.1415926;)
  4. 可以用下划线更清楚地表示某些数字(例:int number = 1234_5678;)
  5. 注意逻辑运算与位运算的区别:逻辑运算与(&&),
    或(||),非(!);与(&),或(|),非(~)。
    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

  1. 如果有m与n两个int变量,分别存储1000与495两个值,请用程序算出最大公因子。


    或者

  2. 在三位的整数中,例如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
  • 代码量截图:

上周考试错题总结

  1. (git init )命令可在在工作目录中创建新的 Git 仓库。
  2. (git push)将本地分支的更新,推送到远程主机。
  3. 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小时

  • 改进情况:学习时间有所保障,但是退步了,需要继续坚持。

posted @ 2017-03-05 20:57  郝文菲20155308  阅读(274)  评论(5编辑  收藏  举报