运算符


1、运算符
1)、算术运算符
+(加)、-(减)、*(乘)、
除:
/(取整)、%(取余)

10 / 3 = 3
10 % 3 = 1

++、--

++:自增,一个单位( + 1 )
--:自减,一个单位( - 1 )

以++为例,--自学。

    int num = 100;
    对num变量进行自增操作。
    num++ :表示给num+1,然后把结果再赋值给num。
        等价于num = num + 1;

++:
前++,++num,自增1个单位
后++,num++,自增1个单位
注意:
a、如果前++、后++,分别都是单独使用,
两者没区别。
单独使用:num++;、++num;后面直接跟上;结束。
b、如果前++、后++不属于单独使用,
有区别:
num++,先取值(使用),
(使用之后)再自增。
++num,先自增,
再取值使用。

       int num = 5;
       int result = num++(5) + ++num(7) + num++(7) + ++num(9);
       System.out.println(result);//28
       System.out.println(num);//9

2)、赋值运算符
=:赋值
+=、-=、*=、/=、%=

int num = 100;//初始化(第一次赋值)
num += 2;等价于 num = num + 2;//先运算,再赋值。

3)、关系运算符
> 大于、< 小于、>= 大于或等于、<= 小于等于、
!= 不等于、== 等于

关系运算符的结果,是布尔类型值。

4)、逻辑运算符
逻辑运算符的结果,是布尔类型值。
& 且(非短路且)
真 & 真 = 真
真 & 假 = 假
假 & 真 = 假
假 & 假 = 假
两边为真,结果为真。
一边为假,结果为假。
| 或(非短路或)
真 | 真 = 真
真 | 假 = 真
假 | 真 = 真
假 | 假 = 假
两边为假,结果为假。
一边为真,结果为真。
! 非
非假即真,非真即假。
&& 短路且
真 && 真 = 真
真 && 假 = 假
假 && 不再运行 = 假
假 && 不再运行 = 假
两边为真,结果为真。
一边为假,结果为假。

短路且:
如果 && 的左边为假,那就已经得到结果为假。
则 && 的右边不再执行。

|| 短路或
真 || 不再执行 = 真
真 || 不再执行 = 真
假 || 真 = 真
假 || 假 = 假

两边为假,结果为假。
一边为真,结果为真。

短路或:
如果 || 的左边为真,那就已经得到结果为真。
则 || 的右边不再执行。

结论:短路与非短路的结果肯定一致的。
短路执行效率在一定程度,要高于非短路。

建议:以后一概使用短路逻辑运算符。

5)、三目运算符
语法:
逻辑运算 ? 表达式1 : 表达式2;

逻辑运算的结果,
为真,执行表达式1,
为假,执行表达式2。

单个三目运算符,逻辑结构简洁明了,推荐使用。
三目运算符还可以嵌套使用,如果嵌套使用,
会将原本简洁明了的结构给复杂化,所以不推荐使用。

嵌套如下:

    boolean b = true ? false : true == true ? false : true;
    
    分析:
    (true ? false : true) == (true ? false : true);//true
    (true ? false : true == true) ? false : true;//true
    true ? false : (true == true ? false : true);//false 对的

java语句、java表达式、java声明

int a;//java声明
int a = 100 + 1;//java完整语句
100 + 1;//java表达式。

你可能感兴趣的:(运算符)