java运算符

运算符

Java 语言支持如下运算符:

算术运算符: +,-,*,/(整除),%,++--

public static void main(String[] args) {
        int[] arr = new int[5];//创建数组

        int number1 = 1;
        int number2 = 2;
        // +
        System.out.println(number1 + number2);//3
        // -
        System.out.println(number2 - number1);//1
        // *
        System.out.println(number2 * number1);//2
        // /
        System.out.println(number2 / number1);//2
        // % 取模
        System.out.println(number2 % 2); //2/2 余数 0
        //++ :先自增1,后运算
        int a = 0;
        arr[++a] = 10;
        System.out.println("前++:" + a + "数组角标:" + arr[1]);

        //++ :先运算,后自增1
        int b = 0;
        arr[b++] = 11;
        System.out.println("后++:" + b + "数组角标:" + arr[0]);

        //-- :先自减1,后运算
        a = 2;
        arr[--a] = 12;
        System.out.println("前++:" + a + "数组角标:" + arr[1]);

        //-- :先运算,后自减1
        b = 0;
        arr[b--] = 13;
        System.out.println("后++:" + b + "数组角标:" + arr[0]);

        //连接符:+:只能使用在String与其他数据类型变量之间使用。
        String name = "Tom";
        int age = 18;
        String sum  = name + ":" + age;
        System.out.println(sum);
    }

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

public static void main(String[] args) {

      // ==
      System.out.println(1 == 1);//true
      System.out.println(1 == 2);//false

      // !=
      System.out.println(1 != 1);//false
      System.out.println(1 != 2);//true

      // >
      System.out.println(1 > 2);//false
      System.out.println(2 > 1);//true

      // <
      System.out.println(2 < 1);//false
      System.out.println(1 < 2);//true

      // >=
      System.out.println(1 >= 1);//true
      System.out.println(1 >= 2);//false

      // <=
      System.out.println(1 <= 1);//true
      System.out.println(2 <= 1);//false

      // instanceof
      //判断对象是否属于要判断的类
      Object o = new Object();
      System.out.println(o instanceof Object);//true

      String s = new String();
      System.out.println(s instanceof Object);//true String 继承 Object

      System.out.println(o instanceof String);//false
 }

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

public static void main(String[] args) {

    // & 和 && 与
    int a = 0;
    int b = 1;
    if (a>100 & a--<0){

    }
    System.out.println(a);// &左边为false 右边正常执行  a = -1

    System.out.println("--------------------");
    if (a>100 && a--<0){

    }
    System.out.println(a);// &&左边为false 右边不会执行 a = -1
    /*
     & 与  && 的运算结果相同,当符号左边是true时,二者都会执行符号右边的运算
     当符号左边是false时-,&继续执行符号右边的运算。&&不再执行符号右边的运算。
     推荐使用&&
    */


    // | 和 || 或
    if (b<100 | b--<0){

    }
    System.out.println(b);// |左边为true 右边还会执行  b = 0

    System.out.println("--------------------");
    if (b<100 || b--<0){

    }
    System.out.println(b);// |左边为true 右边不会执行  b = 0
    /*
     | 与  || 的运算结果相同,当符号左边是false时,二者都会执行符号右边的运算
     当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算
     推荐使用||
    */

    // !非
    int c = 0;
    if (!(1 == 1)){
        c++;
    }
    System.out.println(c);//0 !作用让true变false,反转布尔值

    // ^ 异或
    System.out.println(true ^ false);// true
    System.out.println(true ^ true);//false
    System.out.println(false ^ true);//true
 }

位运算符: &,|,^(异或)~(取反)>>,<<,>>>(无符号右移,用 0填充)

 public static void main(String[] args) {
        // << 左移
        int a = 2;
        a = a << 1;
        System.out.println(a);//每向左移1位,相当于 * 2  =4
        a = -2;
        a = a << 1;
        System.out.println(a);//每向左移1位,相当于 * 2  =-4

        // >> 右移
        int b = 4;
        b = b >> 1;
        System.out.println(b);//每向右移1位,相当于 / 2 =2
        b = -4;
        b = b >> 1;
        System.out.println(b);//每向右移1位,相当于 / 2 =-2

        // >>> 无符号右移
        int c = 4;
        c = c >>> 1;
        System.out.println(c);//每向右移1位,相当于 / 2,但是二进制最高位不是正负符号位了 =2
        c = -4;
        c = c >>> 1;
        System.out.println(c);//涉及二进制补码
 }

赋值运算符: =     

这个就不多说了上面全是案例

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

public static void main(String[] args) {

        // =
        int a = 1;
        System.out.println(a);//1
        String a1 = "abc";
        System.out.println(a1);//abc
        String a2 = a1;
        System.out.println(a2);//abc

        // += :sum=sum+i的意思
        int b = 1;
        b += 2;//b = b + 2  =3
        System.out.println(b);

        // -= :sum=sum-i的意思
        int c = 2;
        c -= 1;//c = c - 1 =1
        System.out.println(c);

        // *= :sum=sum*i的意思
        int d = 2;
        d *= 2; //d = d * 2 =4
        System.out.println(d);

        // /= :sum=(int)(sum/i)   存在一个隐形的强制类型转换
        int e = 4;
        e /= 2; // e = e / 2 =2
        System.out.println(e);

        // %= :取余
        int f = 4;
        f %= 2; //f = f % 2 =0
        System.out.println(f);
 }

字符串连接运算符:+

1、+运算符在java语言当中有两个作用:
            *加法运算,求和
            *字符串的连接运算
            
2、当“+”运算符两边的数据都是数字的话,一定是运行加法运算。
        
3、当“+”运算符两边的数据只要有一个数据是字符串,一定是运行字符串连接运算。
     并且,连接运算之后的结果还是一个字符串类型。
        
            数字 + 数字 --->数字【求和】
            
            数字 + ”字符串“ -->”字符串“【字符串连接】
            
4、在一个表达式当中可以出现多个”+“,在没有添加小括号的前提下,遵循从左至右的顺序依次运算。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值