20145221 《Java程序设计》第二周学习总结
20145221 《Java程序设计》第二周学习总结
教材学习内容总结
- 第二周内容已在假期完成,详见博客:
- 《Java程序设计》第三章-基础语法
代码调试中的问题和解决过程
- 第二周内容已在假期完成,详见博客:
- 《Java程序设计》第三章-基础语法
其他(补充上述博客)
print & printf & println的区别
- printf:f就是format的意思,也就是格式化,是对输出文字做格式化后再显示在文本模式中。后面常用%d,%f,%b…这些格式控制符号,一般在输出变量类型比较多的时候使用,也用在需要计算机计算或判断后再输出的情形。
- print:将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
- println:将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。相当于在print中加了一个%n换行符。当输出信息比较单一简单时,一般采用println,但println也可以用于多种变量类型的输出,中间用“+号”连接,例如
System.out.println("3 + 3 = "+a) //这里假设程序中a=6
,可能这个例子不算太恰当,但代码中的+前后连接了不同的类型,也可以用println输出。
2147483647 + 1 = ?
- 书中P69页写到:
court + 1
变为11111111 11111111 11111111 11111111
,感觉应该变为10000000 00000000 00000000 00000000
,毕竟这个才是-2147483648的补码形式,这也就是当2147483647 + 1 = -2147483648
的计算机补码解释。 - 上述提到的其实就是典型的时钟问题:
回拨2小时 = 前拨10小时
回拨4小时 = 前拨8小时
回拨5小时 = 前拨7小时
对于int型(4字节32比特),算上符号位,一共可表示的数有2^32个,当11111111 11111111 11111111 11111111 + 00000000 00000000 00000000 00000001
后,低32位会全被置为0,相当于也就是“轮回”了,回到了所能表示的第一个数-2147483648。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 1/6 | 20/20 | 学会MarkdownPad2 |
第二周 | 150/350 | 1/7 | 15/35 | 理解了补码机制 |