Java运算符

运算符

  • 在计算过程中一定要注意取值范围,并选用合适的数据类型
 	int a = 10;
        int b = 20;
        System.out.println(a/(double)b);//a/b得出的结果为小数,要在得到结果前将数据类型转换为double类
  • 在进行计算时,包含了比int类型进制高的数据类型,得出的结果为当前最高进制的数据类型
  • 在比int类型低时,输出的都是int类型
         System.out.println(a+b+c+d+e);//long
         System.out.println(b+c+d);//int
         System.out.println(c+d);//int
         System.out.println(a+b+c+d);//int

a++和++a的区别

  • a++是先把a的值赋给变量主,之后再自增也就是a=a+1,而++a是先自增,之后再赋值给变量主
	int a = 10;
        int b =a++;//此时先把a=10赋值给b,所以b=10,之后a再自增
        //a=a+1;这个为隐藏操作
        //a=a+1;这个为隐藏操作
        int c = ++a;//a先自增也就是a=a+1,之后再把a的值赋给c
        System.out.println(a);//12
        System.out.println(b);//10
        System.out.println(c);//12

幂运算

//幂运算    很多运算,我们会运用一些工具类来操作
        double pow = Math.pow(2, 3);
        System.out.println(pow);

逻辑运算符

  • &&:与 ||:或 !:非
 // 与(and) 或(or) 非(取反)
        boolean a = true;
        boolean b = false;
        System.out.println("a && b:"+(a&&b));//false 逻辑与运算:两个变量都为真,结果为真
        System.out.println("a || b:"+(a||b));//true  逻辑或运算:两个之中有一个为真,则结果为真
        System.out.println("!(a && b):"+!(a && b));//true 如果是真,则为假,如果为假,则为真

//短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);//false 在运算到c<4时,发现为false,则结果直接返回false,并没有运算c++<4
        System.out.println(c);//5

位运算符

/*
        A = 0011 1100
        B = 0000 1101
        ---------------------
        A&B = 0000 1100 //与运算  A与B对比,当都为1时,输出1,其余都为0
        A|B = 0011 1101 //或运算  只要其中一方为1,则输出结果为1
        A^B = 0011 0001 //只要两者相同,输出结果为0,不相同则输出结果为1
        ~B = 1111 0010  //每一位取反即可

        2*8 = 16    2*2*2*2
        效率高!!!
        <<   // *2 向前进1位
        >>   // /2 向后退1位

        2*8 = 2<<3
        0000 0010     2
        0001 0000     16//1的位置往前移了三位

*/

扩展赋值运算符

	int a = 10;
        int b = 20;

        a+=b;//a = a+b
        a-=b;//a = a-b

        System.out.println(a);
        //字符串连接符
        System.out.println(""+a+b);//1020  在输出语句时,先遇到字符类型如String类,会把+识别成连接符,从而输出
        System.out.println(a+b+"");//30    先遇到运算符+则会先进行和计算,从而输出

三元运算符

 	//三元运算符
        //x ? y : z
        //如果 x==true,则结果为y,否则结果为z
        int score = 50;
        String s = score <  60 ? "不及格" : "及格";
        System.out.println(s);//不及格

优先级

​ 总的来说,一元运算符>二元运算符>三元运算符,在计算结果时,我们总是习惯性的添加(),而()是运算之中优先级最高的!!各位也不用刻意去记,只要计算前正确使用()即可。

posted @   远帆启航  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示