java运算符(超详细!!!)

java运算符

一、算数运算符

符号 含义
+ 加法
- 减法
* 乘法
/ 除法
% 余数
++ 自增
-- 自减

这些是常用的算数运算符,在java基础阶段,掌握这些就可

  • 加减乘除运算符

代码实例:

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        int a=10;
        int b=20;
        int c=25;
        int d=30;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        //当输出数为浮点型的时候,就需要把数据进行强制转换(https://www.cnblogs.com/lingstar/p/16441976.html)
        System.out.println(a/(double)b);
        //模运算,取余
        System.out.println("输出c%a的结果:"+((double)c%a));
    }
}

输出结果:

30
-10
200
0.5
输出c%a的结果:5.0
  • 自增与自减运算

自增自减是java中常用的运算符,下面以自增为例,自减也同样适用

代码示例:

public class Demo04 {
    public static void main(String[] args) {
        //运算符中的自增(++)与自减(--)  一元运算符
        int a=5;
        int b=a++;//++在后,先赋值再自增
        System.out.println(b);
        System.out.println(a);
        int m=3;
        int n=++m;//++在后,先自增,再进行赋值
        System.out.println("============分割线================");
        System.out.println(m);
        System.out.println(n);
        System.out.println("============分割线================");
        //短路运算(了解即可)
        int c=10;
        boolean  d=(c<4)&&(c++>4);
        //可以看得到前面c<4是不成立的,那么就不会执行后面的自增运算,造成短路运算-
        System.out.println(d);
        System.out.println(c);
    }
}

输出结果:

5
6
============分割线================
4
4
============分割线================
false
10

二、赋值运算符

  • 基本赋值运算符=

java基本运算符,实际上不是等于,它相当于把右边表达式的值赋给等号左边的运算数,除了基本的运算符之外,还有一些不常用的,感兴趣的可以自行先了解

三、关系运算符

常见的关系运算符有

符号 含义
> 大于
< 小于
== 等于
!= 不等于
>= 大于等于
<= 小于等于

代码示例:

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确,错误    布尔值
        int a=10;
        int b=30;
        int c=101;
        System.out.println("输出a>b的结果:"+(a>b));
        System.out.println("输出a<b的结果:"+(a<b));
        System.out.println("输出a==b的结果:"+(a==b));
        System.out.println("输出a!=b的结果:"+(a!=b));

    }
}

输出结果:

输出a>b的结果:false
输出a<b的结果:true
输出a==b的结果:false
输出a!=b的结果:true

四、逻辑运算符

符号 含义 运用
&& 逻辑与运算 全真为真,有假则假
|| 逻辑或运算 有真为真,全假为假
! 逻辑非运算 若真为假,若假为真

代码示例:

public class Demo06 {
    public static void main(String[] args) {
        //与 (and)   或(or)    非(取反)
        boolean  a=true;
        boolean  b=false;
        //逻辑与运算,全真为真,有假则假
        System.out.println("a&&b:"+(a&&b));
        //逻辑或运算,有真为真,全假为假
        System.out.println("a||b:"+(a||b));
        //逻辑非运算,若真为假,若假为真
        System.out.println("!(a&&b):"+(!(a&&b)));
            }
}

输出结果:

a&&b:false
a||b:true
!(a&&b):true

五、位运算符

  • 位运算符
    &并 |或 ^异或 ~取反

    a=0011 1100
    b=0000 1001
    a&b=0000 1000
    a|b=0011 1101
    

    异或是同值为0,异值为1

    a^b=0011 0111
    

    取反,顾名思义,0为1,1为0

    ~b=1111 0110
    

左移<<
左移是不管正负,低位补0 。相当于*2,

24的二进制补码为0001 1000
左移两位后变为0110 0000
结果为96,也就是2422
右移>>
如果该数为正,则高位补0,若为负数,则高位补1 , 相当于/2
24的二进制补码为0001 1000
右移两位之后变为0000 0110
结果为6
左移右移效率极高

六、三元运算符

java中的三元运算符跟java中的if语句类似,可以说是if语句的一种简写

代码示例:

public class Demo09 {
    public static void main(String[] args) {
        //三元运算符
        //x?y:z
        //如果x==true,则结果为y,否则结果为z
        int score=80;
        String type=score<80?"不及格":"及格";//一定掌握,三元运算符
        System.out.println(type);
    }

}

输出结果:

及格

既然是if语句的简写,那么用if语句也可以轻松实现

代码示例:

public class Demo09 {
    public static void main(String[] args) {
int score=80;
if(score<60){
    System.out.println("不及格");
}else {
    System.out.println("及格");
          }
    }

}

输出结果:

及格
posted @ 2022-07-04 23:20  星余明  阅读(524)  评论(0编辑  收藏  举报