Java基础-运算符

运算符

  • Java 语言支持如下运算符:

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

      • package operator;
        
        public class Demo01 {
            public static void main(String[] args) {
                //二元运算符
                int a = 10;
                int b = 20;
                int c = 10;
                int d = 10;
        
                System.out.println(a+b);
                System.out.println(a-b);
                System.out.println(a*b);
                System.out.println(a/(double)b);
            }
        }
        
      • package operator;
        
        public class Demo04 {
            public static void main(String[] args) {
                //++ --  自增,自检  一元运算符
                int a = 3;
                int b = a++;//先执行后运算
                int c = ++a;//先运算后执行
        
                System.out.println(a);//5
                System.out.println(b);//3
                System.out.println(c);//5
        
                //幂运算 2^3  2*2*2 =8    很多运算会使用工具类来操做
                double pow = Math.pow(2,3);
                System.out.println(pow);
            }
        }
        
        
    • 赋值运算符:=

      • package operator;
        
        public class Demo02 {
            public static void main(String[] args) {
                long a = 123123132132123L;
                int b = 123;
                short c = 10;
                byte d = 8;
                /*
                 如果其中有Long类型更进行操做,结果过就为Long类型
                如果其中有Double,结果则为Double类型
                 */
                System.out.println(a + b + c + d);//Long
                System.out.println(b + c + d);//Int
                System.out.println(c + d);//Int
        
            }
        }
        
        
    • 关系运算符:>,<,>=,<=,==,!=,instanceof

      • package operator;
        
        public class Demo03 {
            public static void main(String[] args) {
                //关系运算符返回的结果: 正确,错误    布尔值
        
                int a = 10;
                int b = 20;
                int c = 21;
        
                //取余,模运算
                System.out.println(c%a);
        
                System.out.println(a>b);
                System.out.println(a<b);
                System.out.println(a==b);
            }
        }
        
        
    • 逻辑运算符:&&,||,!

      • package operator;
        
        //逻辑运算符
        public class Demo05 {
            public static void main(String[] args) {
                //  与(and)   或(or)   非(取反)
                boolean a = true;
                boolean b = false;
        
                System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为真
                System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,结果才为真
                System.out.println("!(a && b):"+!(a&&b));//逻辑非运算:两个变量都为假,结果才为真
        
                //短路运算
                int c = 5;
                boolean d = (c<4)&&(c++<4);
                System.out.println(d);
                System.out.println(c);
            }
        
        }
        
        
    • 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

      • package operator;
        
        public class Demo06 {
            public static void main(String[] args) {
                /*
                A = 0011 1100
                B = 0000 1101
        -------------------------------------------------
                A&B = 0000 1100  与:两个都为1才为1
                A|B = 0011 1101 或:两个都是0才为0
                A^B = 0011 0001 异或:两个相同则为0,否则为1
                ~B = 1111 0010  取反
        
                2*8怎么运算最快?  2*2*2*2
                效率极高!!!  直接跟底层打交道
                左移:<<   *2
                右移:>>   /2
        
                0000 0000   0
                0000 0001   1
                0000 0010   2
                0000 0011   3
                0000 0100   4
                0000 1000   8
                0001 0000   16
                 */
                System.out.println(2<<3);
            }
        }
        
        
    • 条件运算符?:

      • package operator;
        
        //三元运算符
        public class Demo08 {
            public static void main(String[] args) {
                // x ? y : z
                //如果x==true,则结果为y,否则结果为z
        
                int score = 80;
                String type = score < 60 ? "不及格" : "及格";
                System.out.println(type);
            }
        }
        
        
    • 扩展赋值运算符:+=,-=,*=,/=

      • package operator;
        
        public class Demo07 {
            public static void main(String[] args) {
                int a = 10;
                int b = 20;
        
                a+=b; //a = a+b
                a-=b; //a = a-b
                System.out.println(a);
        
                //字符连接符 + ,     有一方出现了String类型就会把另一个操作数转化为String再进行连接
                System.out.println(""+a+b);
                System.out.println(a+b+"");
            }
        }
        
        
  • 运算符的优先级

    1.[] ()

    2.++ – ~ ! (数据类型)

    3.* / %

    4.+ -

    5.<< >> >>>

    6.< > <= >=

    7.== !=

    8.&

    9.^

    10.|

    11.&&

    12.||

    13.?:

    14.= *= /= %= += -= <<= >>= >>>= &= ^= |=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值