Java中的数据通过操作符进行一系列运行、赋值。
操作符的使用对象:基本类型 &&( " = " 、“ == ”、“ != ” 这些操作符能操作所有的对象) && (String类支持“ + ” 和 " += ")
操作符的使用顺序:即优先级。符合数学运算规则,先乘除后加减;为避免错误,最好使用括号,来明确运算顺序;
操作符分类
一、赋值
“ = ” 例:a=b 即b值赋到a身上,b可以是任何常数、变量或者表达式,a只能是明确的、已经初始化过的变量; 4=x; 错误
二、算数运算符
“ + ”
“ - ”
" * "
" / " 直接去掉结果的小数位
" % " 取模
三、自动递增和递减
“++” “--”
使用方式分为 "前缀式” 和 “后缀式” 举例:
a++ b-- 后缀递增和后缀递减 ,先 生成值,后 执行运行;
++a --b 前缀递增和前缀递减 ,先 执行运算,后 生成值;
public static void main(String[] args) throws Exception { int i=1; System.out.println(i++); System.out.println(i--); System.out.println(++i); System.out.println(--i);}
1
2
2
1
四、关系操作符
关系操作符包括 " < " 、" > " 、" <= "、 " >= "、 " == " 、" != "
关系操作符计算的是值与值的关系 反馈的结果是布尔值(ture、false) 由于比较的是值的关系,所以只有 “ == ”、" != " 操作符适用于所有的数据类型
五、逻辑操作符
“ && ” 与
“ || ” 或
" ! " 非
逻辑运算符只可应用于布尔值
六、短路
String [] a={};String [] b={null};String [] c={"3"};if(ArrayUtils.isEmpty(a) && ArrayUtils.isEmpty(b) && ArrayUtils.isEmpty(c)){ }if条件判断语句中的条件 ArrayUtils.isEmpty(a) && ArrayUtils.isEmpty(b) && ArrayUtils.isEmpty(c) 即为一个短路test1 && test2 && test3 test1结果为ture 表达式继续运算来进行判断 test2结果为false 即不用为test3做判断 七、直接常量八、按位操作符
按位操作符是用来操作整数的二进制位的,按位操作符会对两个参数中对应的二进制位执行布尔代数运算,并最终生成一个结果。
1.按位与(&) 按位与(&)操作符是双目操作符,可以与等号(=)联合使用。按位与的操作规则是参与运算的两数(若不是二进制则先转换为二进制)对应二进位相与,若对应的二进制位都为1,则结果的相应二进位为1,否则为0。
2.按位或(|) 按位或(|)操作符也是双目操作符,可以与等号(=)联合使用。按位或的操作规则是参与运算的两数(若不是二进制则先转换为二进制)对应二进位相或,只要对应的二进制位一个为1,其结果的相应二进位就为1,否则为0。
3.按位异或(^) 按位异或(|)操作符也是双目操作符,可以与等号(=)联合使用。按位异或的操作规则是参与运算的两数(若不是二进制则先转换为二进制)对应二进位相异或,若对应的二进制位一个为1,但另一个不为1则结果的对应二进位为1,否则为0。
九、移位运算符
移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数。
运算符 | 含义 | 例子 |
<< | 左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0) | x<<4 |
>> | "有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1. | x>>4 |
>>> | "无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0. | x>>>4 |
十、三元操作符哈哈哈哈 这个超级简单 if(3>5)? 3:5 如果3大于5成立,返回结果3,反之,返回结果5十一、字符串操作符" + " 和 " += " 实现字符串连接十二、类型转换操作符可对数值进行类型转换 也可对变量进行类型转换类数据类型不允许类型转换显示类型转换 隐式类型转换显式转换指:高类型像低类型转换。隐式转换指:低类型自动转成高类型。