fantasticDream

运算符----( A )

运算符

Java语言支持如下运算符:

--算数运算符:  +, -, *, /, %, ++, - -

--赋值运算符 =

--关系运算符: >, <, >+,<=, ==,!=  instanceof

--逻辑运算符: &&,  || , !

--位运算符: &, |, ^, ~, >>, << , >>> (了解!!!)

--条件运算符: ? :

--扩展赋值运算符: +=,-=, *=, /=

 

算数运算符

二元运算符类型提升

--整数运算:

如果两个操作数有一个为long,则结果也为long

没有long,结果为int,即使操作数全为shot,byte,结果也是int

--浮点运算:

如果两个操作数有一个为double\,则结果为double

只有两个操作数都是float,则结果才为float

一元运算符(  ++ , - -  )

Int a=3;

Int b=a++;//执行完后,b=3,先给b赋值,再自增

Int c=++a;//执行完后,c=5,先自增,再给b赋值

 

布尔逻辑表达符(只能操作别变量)

逻辑与: &&

逻辑或: ||

逻辑非: !

逻辑与和逻辑或采用短路的方式,从左到右计算,如果确定值则不会在计算下去.

--boolean c=1>2&&2>(3/0);&&不会抛异常;说明没有执行3/0;

 

位运算符(了解)

~ -- 取反   & -- 按位与

| -- 按位或 ^ -- 按位异或

<< :左移运算符

>>:右移运算符

笔试可能会考:

--右移一位相当于除2取商

--左移一位相当于乘2

Int a=3*2*2;

Int b=3<<2;//相当于:3*2*2;

Int a=12/2/2;

Int b=12>>2;相当于:12/2/2;

 

扩展运算符:

运算符

用法举例

等效表达式

+=

A+=b

A=a+b

-=

A-=b

A=a-b

*=

A*=n

A=a*b

/=

A/=b

A=a/b

%=

A%=b

A=a%b

 

public class TestOperator {

    public static void main(String[] ages) {

        // 没有long时,结果为int,即使操作数全为shot,byte,结果也是int

        int w = 10 % 2;

        System.out.println(w); 

        // 如果两个操作数有一个为double\,则结果为double

        // 每个变量本身是独立的一个存储单元(分开思考)

        double d = 10.2 % 2;

        System.out.println(d);

        int a = 3;

        System.out.println(a);

        // 直接输出结果a=3;

        int b = a++;// 执行完后,b=3,先给b赋值,再自增

        // 先把a赋值给b后a在自增为4所以结果b仍然是3

        // 结果3

        System.out.println(b);

        int c = ++a;// 执行完后,c=5,先自增,再给b赋值

        // a=4先自增为5,在赋值给c,所以此处c等于5

        System.out.println(a);// 此处等于5

        System.out.println(b);// 此处b等于3

        System.out.println(c);// 此处c等于5 

        // 逻辑与的问题: &&

        // true-false false

        // true-true true

        // false-true false

        // false-false false

        // 只要有一个为false那整个结果都为false 

        // 逻辑或也是一样的:||

        // 短路问题可以提高我们的效率

        // true-false true

        // true-true true

        // false-true true

        // false-false false

        // 只要有一个为false那整个结果都为false 

        // 在java里面0不能做除数,否则回报异常

        // int s = 3 / 0;

        // Exception in thread "main" java.lang.ArithmeticException: / by zero at

        // TestOperator.main(TestOperator.java:39) 

        /*

         * 在java里面0不能做除数,否则会报异常

         * Exception in thread "main"

         * 错误异常  

         * main 线程里面有一个异常

         * ArithmeticException

         * 算数异常

         * by zero

         * 除以零

         * TestOperator.main(TestOperator.java:39

         * 39行

         */ 

        // boolean wp = 1 < 2 && 2 > (3 / 0);

        // System.out.println(wp); 

        // 测试位运算

        /*

         * 与操作 只要一个为0所有结果都为0  0就相当

         * 或操作 只要一个为1所有结果都为1  1就相当

         *

         * 8:1000

         *

         * 4:0100

         * ----------------------

         * 与结果: 0000 结果0

         * 或结果: 1100

         * 从右向左 0 0 5 7 等于12

         * 非操作 取反

         * 8:1000

         * ----------

         * 非结果:负0111

         * 从右向左 1 3 5

         * 异或操作 不一样返回1,一样得0

         * 8:1000

         *

         * 4:0100

         * ----------

         * 异或结果:1|1|0|0

         * 从右向左 0 0 5 7

         *

         * 0|0|1|1

         * 0|1|0|1

         * -----------

         * 异或结果:0|1|1|0

         *

         */ 

        int m = 8;

        int n = 4;

        System.out.println(m & n);

        System.out.println(m | n);

        System.out.println(~m);

        System.out.println(m ^ n); 

        int a0 = 3 * 2 * 2;

        // 等于左移两位,等于3*2*2,左移三位等于3*2*2*2;

        // 只能乘以2的倍数

        int b0 = 3 << 3;// 相当于:3*2*2;

        int a9 = 12 / 2 / 2;

        // 等于右移两位,等于12/2/2 右移三位等与12/2/2/2

        // 只能乘以2的倍数

        int b9 = 12 >> 2;// 相当于:12/2/2;

        System.out.println(a0);

        System.out.println(b0);

        System.out.println(a9);

        System.out.println(b9); 

        // 扩展运算符

        int ww = 3;

        // 等于ww=a+5;

        a += 5; 

    }

posted on   神奇的梦  阅读(399)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示