Java基础之运算符

这里是我的个人博客

分类
算术运算符 +,-,*,/,%,++,--
赋值运算符 =,+=,-=,*=,/=,%=
关系运算符 > 、 >= 、 < 、 <= 、 == 、 !=
逻辑运算符 &,|,^,!,&&,
三元运算符 数据类型 变量名 = (关系表达式) ? 结果1: 结果2;
位运算符 & 、| 、~ 、<<,>>,>>>

算术运算符

+号的多种意义:
  • 当+号的两边有一边是字符串时,进行的是字符串的拼接。

  • 当+号的两边都是整数型时,进行数值的加法运算。

++,-- 的操作

单独运算时:++在前和++在后 最后的结果是一样的。

复合运算时:其他变量放在一起使用 或者和 输出语句放在一起使用 , 前++ 和 后++ 就产生了不同。

  • ++在前:例如:++i,本身先加1,再参与运算。
  • ++在后:例如:i++,本身先参与运算,运算结束后再加1。

-- 和 ++ 用法一致。

赋值运算符

= 符号右边的值赋值给左边的变量
+= 符号左边变量的值右边的值加法运算,结果赋值给左边的变量
-= 符号左边变量的值右边的值减法运算,结果赋值给左边的变量
*= 符号左边变量的值右边的值乘法运算,结果赋值给左边的变量
/= 符号左边变量的值右边的值除法运算,结果赋值给左边的变量
%= 符号左边变量的值右边的值取余运算,结果赋值给左边的变量

补充:隐藏的强制类型转换

除 = 运算符外,其他的扩展后的赋值运算符在将最后的结果赋值给左边的变量前,都做了一步强

制类型转换

public static void main(String[] args) {
        int a = 3;
        int b = 4;
        a += b;
        System.out.println(a);
        short c = 5;
        c += a; //编译不报错,JVM将结果进行了强制类型转换。转换short类型
        //c = c + a; 编译报错,提示会精度丢失。
        System.out.println(c);
    }

关系运算符(比较运算符)

关系运算符 符号解释
< 比较符号左边的数据是否小于右边的数据,如果小于结果是true。
> 比较符号左边的数据是否大于右边的数据,如果大于结果是true。
<= 比较符号左边的数据是否小于或者等于右边的数据,如果大于结果是false。
>= 比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是false。
== 比较符号两边数据是否相等,相等结果是true。
!= 不等于符号 ,如果符号两边的数据不相等,结果是true
  • 比较运算符,是两个数据之间进行比较的运算,运算结果一定是boolean值 true 或者 false 。

逻辑运算符

符合
& 与,且 有false则false
&& 双与,短路与 有false则false
| 有true则true
|| 单或 有true则true
非false则true,非true则false
^ 异或 相同为false,不同则true
&和&&的关系:

都表示与,且,但是&&当左边为false时,右边不执行,具有短路效果。&无论左边是什么,右边都会执行。

|和||的关系:

都表示或,但是||当左边为true时,右边不执行,具有短路效果,|无论左边是什么,右边都会执行。

三元运算符(三目运算符)

格式:

数据类型 变量名 = (关系表达式) ? 结果1:结果2;

运算过程:

​ 关系表达式为true 将结果1赋值给变量名。

​ 关系表达式为false 将结果2赋值给变量名。

这里是我的个人博客

你可能感兴趣的:(Java基础之运算符)