学习java 微服务第三天 运算符

第3单元 运算符

*运算符:*

赋值运算符 =

算术运算符 + - * / %

组合运算符 += -= *= /= %= ++ -- (a++是先运算后++,++a是先++后运算 )

逻辑运算符 & | ! &&(短路与) ||(短路或)

关系运算符 > < == >= <= !=

位运算符 << >>

1.1 赋值运算符

=

赋值运算符有一个有趣的特性:它允许创建赋值链。例如,分析下面的代码段:

int x, y, z;

x = y = z = 100; // set x, y, and z to 100

//赋值给z为100,把z赋给y,又把y赋给x

 /*int a = 10;//赋值运算符 
int b = a;
System.out.println(b);*/

1.2 算术运算符

+ - * / %

\1. 整型数字之间运算时,没有long类型参与时,结果是整型数字(int)

\2. 在有long类型参与的整数运算式中,结果是long类型

\3. 在有浮点型数字参与运算时,结果是浮点型数字(默认double类型)

\4. 在有字符串参与运算时,执行的是字符串拼接操作

/*2.算术运算符
        int a = 4+6*3/5-4+8%3;//
        System.out.println(a);*/
        //int a = 10;
         /*a+=3;//a=a+3;
        System.out.println(a);*/
        /*a-=4;//a=a-4
        System.out.println(a);*/
        /*int a*=5;//a=a*5
        System.out.println(a);
        a/=6;//a=a/6
        System.out.println(a);
        a%=7;//a=a%7
        System.out.println(a);*/
    
System.out.println(10+"1562"+26+2132);//遇到字符串后之后所有的+就变成了连接符

1.3 组合运算符

+= -= *= /= %= ++ --

1.符号在前 先自增1 再运算

2.符号在后 先运算 再自增1

    /*
        int a = 10;
        a--;
        int b = (int)(a++ + 5 - --a*2 + 6 + ++a%3 + 0.3);
        System.out.println(b);*/

1.4 逻辑运算符

&(与) |(或) ^(异或) !(非) &&(短路与) ||(短路或)

布尔逻辑运算符,只能操作boolean型操作数。

运算符结 果
&&逻辑与(短路形式)
||逻辑或(短路形式)
^逻辑异或
!逻辑一元非
&逻辑与
|逻辑或

布尔逻辑运算规则:

操作数逻辑运算及结果
ABA || BA && B!AA ^ B
falsefalsefalsefalsetruefalse
truefalsetruefalsefalsetrue
falsetruetruefalsetruetrue
truetruetruetruefalsefalse

&(与) 两边都为真 则真 否则为假 结果是布尔类型

|(或) 两边都为假 则假 否则为真

^(异或) 两边不一样为真 两边一样为假

!(非) 真为假 假为真 只能操作布尔类型

&&(短路与) 左边为假 右边不再判断(执行)

||(短路或) 左边为真 右边不再判断(执行)

int a = 5;
        int b =15;
        System.out.println(a>10 & b>20);//& 全真为真 否则为假
        System.out.println(a<5  & b<16);
        System.out.println(a>10 | b<20);//| 全假为假 否则为真
        System.out.println(a<4 |  b<10);
        System.out.println(a<4  && ++b<10);//&&左边为真 则运行&&右边
        System.out.println(a<6  && ++b<10);//&&左边为假 则不运行&&右边
        System.out.println(a<6  || ++b<10);//||左边为真 则不运行||右边
        System.out.println(a<4  || ++b<10);//||左边为假 则运行||右边

1.5 关系运算符

> >= < <= == !=

(1)关系运算的结果为boolean型数值。

(2)关系运算符最常用于if语句和各种循环语句中的控制表达式。

/*
        int a = 20;
        int b = 15;
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a<=b);
        System.out.println(a>=b);
        System.out.println(a==b);
        System.out.println(a!=b);*/

1.6 位运算符(适用于二进制,了解)

1.6.1 左移和右移

<<(左移) 左移之后右边空出来的位数补0(左移一位结果乘以2)

>>(右移) 右移之后右边多出来的位数直接砍掉(右移一位结果除以2)

>>>(无符号右移)

1.6.2 位逻辑运算符

运算符结 果
~按位一元取反
&按位与
|按位或
^按位异或

运算规则:

操作数位运算及结果
ABA | BA & BA ^ B~A
000001
101010
011011
111100

注意:

&和|,如果操作数为boolean类型,则为逻辑运算符,如果操作数为整数则为位运算符。通常将&和|作为位运算符。

1.7 三目运算符

语法:表达式1?表达式2:表达式3

运算规则:表达式1成立 执行表达式2 否则执行表达式3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值