Java运算符表达式

运算符:

就是对常量或者变量进行操作的符号。

比如: + - * /

表达式:

用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。

比如:a + b 这个整体就是表达式。

而其中+是算术运算符的一种,所以这个表达式也称之为算术表达式。

2.算术运算符

分类:

+ - * / %

运算特点:

+ - * :跟小学数学中一模一样没有任何区别.
/:
1.整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数。
2.小数直接参与运算,得到的结果有可能是不精确的。
案例:
System.out.println( 10 / 3);//3
System.out.println(10.0 / 3);//3.3333333333333335
%:取模、取余。
   这个也是除法运算,只不过获取的值是余数。
案例:
System.out.println(10 % 2);//0
System.out.println(10 % 3);//1
应用场景:
//可以利用取余来判断一个数是奇数还是偶数
System.out.println(15 % 2);//1  奇数

 

2.1自增自减运算符

分类:

++  自增运算符
--  自减运算符

++:就是把变量里面的值+1

--:就是把变量里面的值-1

使用方式:

  • 放在变量的前面,我们叫做先++。 比如:++a

  • 放在变量的后面,我们叫做后++。 比如:a++

案例:

//++
int a = 10;
a++;//就是让变量a里面的值 + 1
System.out.println(a);//11
++a;//就是让变量a里面的值 + 1
System.out.println(a);//12 

3.赋值运算符

 

int x, y, z;   // 定义3个整型的变量

x = y = z = 5;   // 为变量赋初值为5

x += 10;   // 等价于x = x + 10,结果x = 15

y -= 3;    // 等价于y = y - 3,结果y = 2

z *= 5;    // 等价于z = z * 5,结果z = 25

x /= 4;     // 等价于x = x / 4,结果x = 3

z %= x;   // 等价于z = z % x,结果z = 1

4.关系运算符 

又叫比较运算符,其实就是拿着左边跟右边进行了比较判断而已。  

分类:

符号解释
==判断左边跟右边是否相等,如果成立就是true,如果不成立就是false
!=判断左边跟右边是否不相等,如果成立就是true,如果不成立就是false
>判断左边是否大于右边,如果成立就是true,如果不成立就是false
>=判断左边是否大于等于右边,如果成立就是true,如果不成立就是false
<判断左边是否小于右边,如果成立就是true,如果不成立就是false
<=判断左边是否小于等于右边,如果成立就是true,如果不成立就是false

5.逻辑运算符

运算符用法含义说明实例结果
&&a&&b

短路

a b全为true时,计算结果为true,否则为false2>1&&3<4true
||a||b短路或a b全为false时,计算结果为false,否则为true2<1||3>4false
!a逻辑非a为true时,值为false。a为false时,值为true!(2>4)true
|a|b逻辑或a b全为false时,计算结果为false,否则为true1>2|3>5false
&a&b逻辑与a b全为true时,计算结果为true,否则为false1<2&3<5true
  1.  && 与 & 区别:如果 a 为 false,则不计算 b(因为不论 b 为何值,结果都为 false)
  2. || 与 | 区别:如果 a 为 true,则不计算 b(因为不论 b 为何值,结果都为 true)

逻辑运算符的优先级为:!运算级别最高,&& 运算高于 || 运算。!运算符的优先级高于算术运算符, 而 && 和 || 运算则低于关系运算符。结合方向是:逻辑非(单目运算符)具有右结合性,逻辑与和逻辑或 (双目运算符)具有左结合性。 

6.三元运算符

又叫做:三元表达式。

格式:

关系表达式 ? 表达式1 :表达式2 ;

计算规则:

  • 计算关系表达式的值。

  • 如果关系表达式的值为真,那么执行表达式1。

  • 如果关系表达式的值为假,那么执行表达式2。

注意点:

三元运算符的最终结果一定要被使用,要么赋值给一个变量,要么直接打印出来。

案例 

public class Demo{
    public static void main(String[] args) {
        //需求:求两个数的较大值
        int a = 10;
        int b = 20;

        //格式:关系表达式 ? 表达式1 : 表达式2 ;
        //注意点:
        //三元运算符的最终结果一定要被使用。
        //要么赋值给一个变量,要么直接输出。
       int max =  a > b ? a : b ;
        System.out.println(max);

        //也可以直接打印输出
        System.out.println(a > b ? a : b);
    }
}

7.运算符优先级

        所有的数学运算都认为是从左向右运算的,Java 语言中大部分运算符也是从左向右结合的,只有单目运 算符、赋值运算符和三目运算符例外,其中,单目运算符、赋值运算符和三目运算符是从右向左结合的,也 就是从右向左运算。

        乘法和加法是两个可结合的运算,也就是说,这两个运算符左右两边的操作数可以互换位置而不会影响 结果。运算符有不同的优先级,所谓优先级就是在表达式运算中的运算顺序。

        一般而言,单目运算符优先级较高,赋值运算符优先级较低。算术运算符优先级较高,关系和逻辑运算 符优先级较低。多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。

        Java 语言中运算符的优先级共分为 14 级,其中 1 级最高,14 级最低。在同一个表达式中运算符优先级 高的先执行。

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钟月一人

码字整理不易,感谢各位大佬支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值