java中的运算符

只有变量还不够,肯定得数学运算才有用。
平时使用中需要注意运算符的优先级问题,使用部好判断的建议使用()小括号括起来。
java中主要有以下八大类的运算符:

一、算术运算符

二元运算符

因为这个运算符需要左右各有一个操作数,所以叫二。
以下的,小学毕业了的都懂。

  • + 加
  • - 减
  • * 乘
  • / 除
  • % 求余,常用2求余做判断
public class Main {
    public static void main(String[] args) {
		System.out.println(1+1); //2 
        System.out.println(1-1); //0
        System.out.println(2*2); //4
        System.out.println(1/2.0); //0.5
        System.out.println(3%2); //1
    }
}

JAVA在调试-点击马上尝试

两个不同类型的操作数运算后返回类型为范围大的类型.
如:int + long = long

一元运算符

  • ++ 加加
  • – 减减
public class Main {
    public static void main(String[] args) {
		int v=5; //操作数在左或右时,会影响操作结果
        System.out.println(v++); //5 先赋值,再加1
        System.out.println(++v); //7 先加1,在赋值
    }
}

二、赋值运算符

  • = 等于,这个不用废话了吧,给某个变量赋值。

扩展运算符

  • += 加等于
  • -= 减等于
  • *= 乘等于
  • /= 除等于
public class HelloWorld {
    public static void main(String []args) {
        int i=3;
		int k=5;
		int u=i+5;
		i+=5;// 等同于 i = i + k;
		System.out.println(u); //8
		System.out.println(i); //8
    }
}

三、关系运算符

用于比较运算,只返回布尔值:true/flase。

  • > 是否大于
  • < 是否小于
  • >= 是否大于等于
  • <= 是否小于等于
  • == 是否等于
  • != 是否不等于

四、逻辑运算符

逻辑运算的操作数和运算结果都是boolean值。

  • & 与
  • | 或
  • && 短路与
  • || 短路或
  • ! 非
  • ^ 异或

一般使用中,常使用短路与/或;前面的操作数为false时后面的就不做运算了,可以提高效率。

public class HelloWorld {
    public static void main(String []args) {
		System.out.println(true^false);  //true
		System.out.println(true^true); //false
		System.out.println(false^false); //false
		
		int i = 0;
		System.out.println(false && (i++)==0);
		System.out.println(i);
		System.out.println(false & (i++)==0);
		System.out.println(i);
    }
}

五、位运算符

位运算指的是进行二进制位的运算。

  • &
  • |
  • ^
  • ~
  • >> 右移,移1位相当于/2
  • << 左移,移1位相当于*2
  • >>>
public class HelloWorld {
    public static void main(String []args) {
       System.out.println(3<<2); //12 相当于3*4
       System.out.println(12>>1); //6 相当于12/2
    }
}

六、条件运算符

  • ? : 三元运算符(三目运算符),如果问号前面的条件成立,返回冒号左侧值,不成立返回右侧值。一般用来替代简单的if else操作。
public class HelloWorld {
    public static void main(String []args) {
        System.out.println(true?1:0); //1
		System.out.println(false?1:0); //0
    }
}

七、字符串连接符

  • + 只有左右有一个值是字符串则返回字符串。
public class HelloWorld {
    public static void main(String []args) {
        System.out.println(4+5); //9
		System.out.println(4+"5"); //"45"
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章