Java中的运算符

Java中的运算符

1)算术运算符

运算符运算范例结果
+正号+33
-负号b=4;-b-4
+5+510
-6-42
*3*412
/5/51
%取模(取余)7%52
++i自增(前):先自增1,后运算i=2;j=++ii=3;j=3
i++自增(后):先运算,后自增1i=2;j=i++i=3;j=2
--i自减(前):先自减1,后运算i=2;j=--ii=1;j=1
i--自减(后):先运算,后自减1i=2;j=i--i=1;j=2
+字符串连接“He”+“llo”“Hello”

注意:
1、取余运算结果的符号与被模数的符号相同
2、自增1或自减1不会改变本身变量的数据类型。

2)复制运算符

符号:=(自右向左的原则,右边的类型必须满足左边的类型)
1、当 “=” 两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
2、支持连续复制 int i2,j2; i2 =j2 =10;或int i3 = 10,j3 = 10;
3、拓展赋值运算符:+=、-=、*=、/=、%= (同样也不会改变变量本身的数据类型)

3)比较运算符(关系运算符)

运算符运算范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true
instanceof检查是否是类的对象“Hello” instanceof Stringtrue

注意:
1、比较运算符的结果都是boolean型,也就是要么是true,要么是false。
2、比较运算符“==”不能误写为“=”。

4)逻辑运算符

&–>逻辑与 |–>逻辑或 !–>逻辑非
&&–>短路与 ||–>短路或 ^–>逻辑异或(相异为true)

aba&ba&&ba|ba||b!aa^b
truetruetruetruetruetruefalsefalse
truefalsefalsefalsetruetruefalsetrue
falsetruefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalsetruefalse

说明:

1、逻辑运算符操作的都是boolean类型的变量
2、开发中推荐使用短路与&&、短路或||

    public static void main(String[] args) {
        boolean b1 =false;
        int num1 = 10;
        //区分 & 与 &&
        if(b1 & (num1++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");
        }
        System.out.println("num1 = " + num1);//输出num1 = 11
        int num2 = 10;
        if(b1 && (num2++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");
        }
        System.out.println("num2 = " + num2);//输出num2 = 10
    }

区分 & 与 &&:(| 与 || 类似)
相同点:1、& 与 && 的运算结果相同;2、当符号左边是true时,二者都会执行符号右边的运算;
不同点:当符号左边为false时,&继续执行符号右边的运算,&&不再执行符号右边的运算。

5)位运算符(开发中很少用)

运算符运算范例
<<左移3 << 2 = 12 --> 3*2*2 = 12
>>右移3 >> 1 = 1 --> 3/2 = 1
<<<无符号右移3 <<< 1 = 1 --> 3/2 =1
&与运算6 & 3 = 2 --> (0110) & (0011) = (0010) 即 数字 2
|或运算6 | 3 =7 --> (0110) | (0011) = (0111) 即 数字 7
^异或运算6 ^ 3 =5 --> (0110) ^ (0011) = (0101) 即 数字 5
~取反运算~6 = -7

注意:
1、位运算是直接对整数的二进制进行运算
2、<<:在一定范围内,每向左移一位,相当于乘以2
3、>>:在一定范围内,每向右移一位,相当于除以2

6)三元运算符

格式:
三元运算符
注意:
1、条件表达式的结果为boolean类型
2、表达式1和表达式2要能统一成一个类型(比如表达式1为int,表达式2为double,则可以统一用double接收三元运算返回的值)
3、三元运算符可以嵌套使用
4、凡是可以用三元运算符的地方,都可以改写为if-else。反之,不成立。
5、能用三元就可以用三元运算符。原因:简洁、执行效率高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值