20165316 第二周学习总结
教材学习内容总结
【重点】
- Scanner 类,使用之前必须在程序开头"import java.util.Scanner;",新建 Scanner 变量:"Scanner xxx = new Scanner(System.in);",注意:可以使用 .next或.nextLine 输入字符串。
- 类型转换运算:(类型名)要转换的值。
- Java不允许在声明数组中的方括号内指定数组元素的个数。
- boolean 只有 true 和 false 两种值。
- byte型变量,在首位为1时,其值等于后面七位补码的相反数,所以它的值从-128到127,10000000表示128。(该规律可以用来搞清楚其他变量经过精度损失后得到的 byte 变量的值。)
- 多个/* */无法嵌套。
- 逻辑运算符只能操作 Boolean 型数据。
- 按位运算符的计算方法在 HDL 中有过讲授
- for 的简便使用:for(类型 int型变量:数组变量)
- switch 的值可以是 byte、short、int、char 型。
问题和解决过程
- (未解决)首先是一个虚拟机的问题(没错,虚拟机又出问题了):"dpkg:错误:软件包'libgphoto2-6':'sam%'不被 四态字段的 foreign/allowed/same/no 允许。我目前还没有找到类似错误的解决办法,其他软件的安装、使用以及更新没有受到影响,我怀疑是 libgphoto 软件自身的问题,但是不知道有没有方法可以把它从软件包中去掉或者通过更改系统文件来彻底解决这个问题。
- (已解决)关于各种变量的溢出问题,感觉都是转化成二进制计算,值得一提的是,所有负数在内存中的二进制表示都是其补码。
- (已解决)如何判断不同类型的输入变量?使用 Scanner.hasNextXXX 逻辑变量(true或者false)。
代码托管
脚本截图如下