java基础之操作符
Posted zhengfy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础之操作符相关的知识,希望对你有一定的参考价值。
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
十一、字符串操作符
" + " 和 " += " 实现字符串连接
十二、类型转换操作符
可对数值进行类型转换 也可对变量进行类型转换
类数据类型不允许类型转换
显示类型转换 隐式类型转换
显式转换指:高类型像低类型转换。
隐式转换指:低类型自动转成高类型。
以上是关于java基础之操作符的主要内容,如果未能解决你的问题,请参考以下文章
Java基础之方法的调用重载以及简单的递归
Java基础入门五)之方法以及递归算法
《Python学习之路 -- Python基础之切片》
java基础之I/O操作
[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础
java核心技术-多线程之线程基础