mirror of
https://gitee.com/gaohongy/Java-Book.git
synced 2026-07-16 10:33:49 +00:00
更新
This commit is contained in:
+24
-2
@@ -24,7 +24,21 @@ Java的布尔类型和C保持一致,基本的运算符也和C保持一致。
|
||||
|
||||
### 1.3. 位运算
|
||||
|
||||
略
|
||||
位运算二进制运算,和C中的位运算是一致的,是指把数字按照二进制的每一位进行运算。
|
||||
|
||||
例如:0B 和 0A 代表两个byte,转换成位是:
|
||||
|
||||
| 字节1(0x08) | 字节2(0x07) | 说明 |
|
||||
| ----------- | ----------- | ------------ |
|
||||
| 0000-1000 | 0000-0111 | 对应的二进制 |
|
||||
|
||||
| 位操作 | 结果 | 说明 |
|
||||
| ------------ | --------- | ------------------------------ |
|
||||
| 0x0A & 0x0B | 0000-1000 | 按照每一位对应进行与运算的结果 |
|
||||
| 0x0A \| 0x0B | 0000-1111 | 按照每一位对应进行或运算的结果 |
|
||||
|
||||
**位操作作为了解。**
|
||||
|
||||
|
||||
### 1.4. 选择语句
|
||||
|
||||
@@ -32,7 +46,7 @@ Java的布尔类型和C保持一致,基本的运算符也和C保持一致。
|
||||
|
||||
### 1.5. 运算优先级
|
||||
|
||||
尽量使用括号
|
||||
**尽量使用括号**
|
||||
|
||||
### 1.6. 补充例子
|
||||
|
||||
@@ -67,6 +81,14 @@ public class LoopRead {
|
||||
}
|
||||
```
|
||||
|
||||
试一试运行该代码,你可以一直用空格分割,来输入多个整数,这时程序并没有任何的回应;当你输入一个非整形的字符,例如‘a’,这时程序退出,并打印刚刚输入整数的累加和。
|
||||
|
||||
想一想为什么?重点就在于 `scanner.hasNextInt()` 会一直判断下一个输入是否是整数;如果是整数,就返回真;如果不是整数,就返回假,然后执行break函数。
|
||||
|
||||
**可以在if语句前面设置断点,然后使用调试工具进行单步跟踪。你会发现,你输入的时候并不会中断;当敲入回车的时候,调试器才会中断;这证明了Scanner是按照一个回车来一次性的读取输入字符串的;如果没有回车,就会一直等待(这是一个阻塞操作)。**
|
||||
|
||||
这个例子很有意思,通过调试过程可以让你更清楚知道Java的每个函数是如何运行的,以及它们都有什么特性。
|
||||
|
||||
## 2. 重点
|
||||
|
||||
本章的内容中的大部分技术要点都与C保持一致,因此之需要掌握几个例子就可以了:
|
||||
|
||||
Reference in New Issue
Block a user