一、数据类型
1.定义:在java中,一共有8种基本数据类型,4种整型,2种浮点型,一种布尔型,一种表示字符单元的字符型
(1)整型: byte(1字节)、 short(2字节) 、int(4字节) 、long(8字节)
(2)浮点类型: float(4字节) double(8字节)
(3)char类型: (2字节)用于表示单个字符,通常用来表示字符常量
(4)boolean型:有两个值:true和false,用来判断逻辑条件
注:
整型与浮点型的取值范围: -2^(字节数*8-1) ~ -2^(字节数*8-1) - 1
Boolean是4个字节,而boolean数组1个字节
因为虚拟机用int来代替boolean,对于一次处理数据是32位CPU(这里不是指的是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。
二、运算符
1.定义:在Java中,算术运算符有 + - * / %
注:整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大结果。
X += 4 ⇔ X = X + 4
2.自增与自减运算符
int m = 7;
int n = 7;
int a = 2 * ++m ; //now a is 16, m is 8
int b = 2 * n++ ; //now b is 14, n is 8
3.关系运算符与布尔运算符
(1)常用运算符 == != > < >= <=
(2)逻辑运算符 && 与 || 或 !非
(3)“短路”现象:
例:
x != 0 && x > x + y++
//当x为0时,不会计算第二部分
(4)三元操作符
x < y ? x : y
当条件为真时,执行x,当条件为假时,执行y
3.位运算符
(1) 类型: & 与 | 或 ^异或 ~非
(2)移位操作符
左移位操作符 << (符号位不变,低位补0)
右移位操作符 >> (符号位不变,用符号位填充高位)
无符号右移 >>> (用0填充高位)
例:
int a = 4;
int b = a << 2; // b = 16
int c = a >> 2; // c = 1
int d = a >>> 2; // d = 1
int A = -4;
int b = a << 2; // b = -16
int c = a >> 2; // c = -1
int d = a >>> 2; // d = 1073741823
4.运算符优先级
序号 | 描述 | 运算符 | 结合性 |
---|---|---|---|
1 | 括号和引用 | () [ ] | 左 -> 右 |
2 | 单目运算符 | ++ - - ! ~ | 右 ->左 |
3 | 算术运算符 | ’ * / % + - | 左 ->右 |
4 | 关系运算符 | ’ > >= < <= == != | 左 ->右 |
5 | 逻辑运算符 | && | |
6 | 位运算符 | << >> >>> & | ^ |
7 | 条件运算符 | ?: | / |
8 | 赋值运算符 | = += -= *= /= %= >>= >>>= <<= &= ^= | 右 ->左 |
本人才疏学浅,如有错误,请指出~
谢谢!