20145221 《Java程序设计》第二周学习总结

时间:2021-07-29 13:25:30

20145221 《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 理解了补码机制

参考资料