Java基础04 运算符

Java 运算符

Java语言支持的运算符如下

  • 算术运算符:+,-,*,/,%,++,–
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符 :?:
  • 扩展赋值运算符:+=,-=,*=,/=

算术运算符

算术运算符名称说明示例
+求a加b的和a+b
-求a减b的差a-b
*求a乘以b的积a*b
/求a除以b的商a/b
%模运算,取余求a除以b的余数a%b

示例

public class Main {
    public static void main(String[] args) {
        int a=10;
        int b=3;
        //二元运算符
        
        System.out.println(a+b);  //相加 得13
        System.out.println(a-b);  //相减 得7
        System.out.println(a/b);  //相除 得3 这里是int类型 所有直接取整
        System.out.println(a%b);  //取余 得1 10除以3等于3余1
    }
}

注意点

​ 整数运算中,如果两个或多个操作数当中,有long类型,结果则为long类型,其余都为int类型

示例

public class Main {
    public static void main(String[] args) {
        long a=1234567893214L;
        int b=3088;
        short c=123;
        byte d=10;
        
        System.out.println(a+b+c+d);  //结果为long类型
        System.out.println(b+c+d);    //结果为int类型
        System.out.println(c+d);      //结果为int类型
    }
}

自增自减运算符

算术运算符名称说明
++自增运算符对操作数自增1
自减运算符对操作数自减1

自增自减运算符在前后的区别

  • 自增自减运算符如果在数值或变量前,则先自增或自减,再赋值
  • 自增自减运算符如果在数值或变量后,则先赋值,再自增或自减
public class Main {
    public static void main(String[] args) {
        int a=3;
        System.out.println(a);
        int b=a++;
        System.out.println(b); //先赋值,在运算
        int c=++a;
        System.out.println(c); //先运算,在赋值
        
    }
}

关系运算符

  • 关系运算符返回值为布尔值
  • 只支持左右两边操作数是数值类型
关系运算符名称说明示例结果
>大于如果a的值大于b的值, 则返回 true2>3false
<小于如果a的值小于b的值,则返回true3<5true
>=大于等于如果a的值大于等于b的值, 则返回 true2>=2ture
<=小于等于如果a的值小于等于b的值, 则返回 true4<=7false
==等于如果a的值等于b的值,则返回true5==1false
!=不等于,取反如果a的值不等于b的值,则返回true4!=4false

实例

public class Main {
    public static void main(String[] args) {
        int a=20;
        int b=10;
        int c=30;
        
        System.out.println(a>c);
        System.out.println(a<c);
        System.out.println(a==c);
        System.out.println(a!=b);
    }
}

逻辑运算符

逻辑运算符名称说明
&&当两个变量都为真时,则结果为真
||当两个变量有一个为真时,则结果为真
当变量为假时,则结果才为真,反之
public class Main {
    public static void main(String[] args) {

       boolean a=true;
       boolean b=false;
       boolean c=true;
        System.out.println("a:"+a);
        System.out.println("b:"+b);
        System.out.println("c:"+c);
        System.out.println("=======================================================");
        //逻辑与运算:两个变量都为真,结果才为真
        System.out.println("a && b:"+(a&&b));
        System.out.println("a && c:"+(a&&c));
        //逻辑或运算:两个变量有一个为真,则结果为真
        System.out.println("a || b:"+(a||b));
        System.out.println("a || c:"+(a||c));
        //如果是真,结果为假,如果是假,结果为真
        System.out.println("!a:"+(!a));
        System.out.println("!b:"+(!b));
    }
}

短路运算

逻辑与运算:如果第一个变量为假,则直接返回假,后面的变量不会在执行

位运算符(了解即可)

  • 对二进制进行计算
  • 效率高
位运算符名称说明示例
&两个位都为1时,结果才为1 A = 0011 1100
B = 0000 1101
A&B=0000 1100
|两个位都为0时,结果才为0A|B=0011 1101
^异或两个位相同为0,相异为1A^B=0011 0001
~取反0变1,1变0A=0001 1100~A=1110 0011
«左移相当于十进制乘以2,各二进位全部左移若干位,高位丢弃,低位补0A=0000 0010A«3=0001 0000
»右移相当于十进制的除以2,各二进位全部右移若干位,对无符号数,高位补0A=0100 0000A»3=0000 1000

三元运算符

X ? Y : Z

如果X为true,则结果为Y,否则结果为Z

public class Main {
    public static void main(String[] args) {
        int score=50;
        
        //如果score 小于 60 返回 不及格 否则返回 及格
        String type=score<60?"不及格":"及格";

        System.out.println(type);
    }
}

幂运算

  • 数值的次方计算
  • 使用工具类Math
  • 语法:double 变量=Math.pow(数值,次方)
public class Main {
    public static void main(String[] args) {
        //幂运算,使用Math工具类
        double a=2;
        //计算2的4次方
        double b=Math.pow(2,4);

        System.out.println(b);
    }
}

运算符的优先级

Java内的运算符存在先后顺序

先级运算符结合性
1()、[]、{}从左向右
2!、+、-、~、++、–从右向左
3*、/、%从左向右
4+、-从左向右
5«、»、>>>从左向右
6<、<=、>、>=、instanceof从左向右
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、付费专栏及课程。

余额充值