-
取模运算符
取模运算符公式:a % b = a - a / b *b
例如:10 % -3 = 10 - 10 / (-3) * (-3) = 10 - (-3) * (-3) = 10 - 9 = 1
-
逻辑异或运算符
只有 a 和 b 不同时,运算结果才为 true
a | b | a ^ b |
---|---|---|
true | false | true |
true | true | false |
false | true | true |
false | false | false |
-
赋值运算符
赋值运算符自带强制类型转换,例如:
byte b = 2;
b += 3; // 等价于 b = (byte)(b + 3);
b++; // 等价于 b = (byte)(b + 1);
-
标识符命名规则
1. 由26个英文字母大小写,0-9,_或$组成
2. 不可以由数字开头。
3. 不可以使用关键字和保留字,但能包含关键字和保留字。
4. 严格区分大小写,长度无限制。
-
标识符命名规范
1. 包名:多个单词组成时,所有字母均小写。如:aaa.bbb.ccc
2. 类名、接口名:所有单词首字母大写。如:AaaBbbCcc
3. 变量名、方法名:第一个字母小写,其余单词首字母大写。如:aaaBbbCcc
4. 常量命:所有字母大写,单词之间用下划线隔开。如:AAA_BBB_CCC
-
接收键盘的输入
import java.util.*;
public class Input {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println("input: " + str);
}
}
-
四种进制表示方式
二进制:满二进一,以 0b 或 0B 开头。
八进制:满八进一,以0开头。
十进制:满十进一,最常用的进制。
十六进制:满十六进一,以 0x 或 0X 开头。
-
二进制转十进制
从最低位开始,每一位上的数乘以2的(位数-1)次方,然后求和
0B1011 = 1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2^3 = 1 + 2 + 0 + 8 = 11
-
八进制转十进制
从最低位开始,每一位上的数乘以8的(位数-1)次方,然后求和
0234 = 4 * 8^0 + 3 * 8^1 + 2 * 8^2 = 4 + 24 + 128 = 156
-
十六进制转十进制
从最低位开始,每一位上的数乘以16的(位数-1)次方,然后求和
0X23A = 10 * 16^0 + 3 * 16^1 + 2 * 16^2 = 10 + 48 + 512 = 570
-
十进制转二进制
将该数不断除以2,除到商为0,然后将余数倒过来
34 / 2 = 17 余 0
17 / 2 = 8 余 1
8 / 2 = 4 余 0
4 / 2 = 2 余 0
2 / 2 = 1 余 0
1 / 2 = 0 余 1 将余数倒过来即可得:34 = 0B100010
-
十进制转八进制
将该数不断除以8,除到商为0,然后将余数倒过来
131 / 8 = 16 余 3
16 / 8 = 2 余 0
2 / 8 = 0 余 2 将余数倒过来即可得:131 = 0203
-
十进制转十六进制
将该数不断除以16,除到商为0,然后将余数倒过来
237 / 16 = 14 余 13 ---> D
14 / 16 = 0 余 14 ---> E 将余数倒过来即可得:237 = 0XED
-
二进制转八进制
以三位数为一组转成十进制就行了
0b11010101 = 0325
-
二进制转十六进制
以四位数为一组转成十进制就行了
0b11010101 = 0xD5
-
八进制转二进制
把八进制一位数转为二进制三位数即可
0237 = 0B010011111
-
十六进制转二进制
把十六进制一位数转为二进制四位数即可
0X23B = 0B001000111011