栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java运算符

目录

1 算数运算符

1.1 基本四则运算符(+,-,*,/,%)

 1.2增量赋值运算符(+=,-=,*,/=,%=)

1.3自增/自减运算符(++/--)

2关系运算符

3 逻辑运算符

3.1逻辑与&&

 3.2逻辑或||

3.3 逻辑非!

 3.4短路求值

4 位运算符

4.1按位与&

4.2按位或|

 4.3按位取反~

 4.4按位异或^

​ 5 移位运算符

5.1左移运算符:<<

>"> 5.2右移运算符>>

>>">5.3无符号右移运算符>>>

 5.4 总结

6 条件运算符


1 算数运算符

1.1 基本四则运算符(+,-,*,/,%)

a规则:同数学计算的方式一样,“/”略有不同。

b注意事项:
1:int/int的结果任为int.例如

 public static void main(String[] args) {
        int a=10;
        int b=3;
        System.out.println(a/b);
    }

 2:0不能作为除数,例如

 public static void main(String[] args) {
        int a=10;
        int b=0;
        System.out.println(a/b);
    }

3:"%"表示求余数 ,"%"既可以对int 进行求余数也可以对double求余数。例如

 public static void main(String[] args) {
        int a=10;
        int b=3;
        double c=11.5;
        double d=2.0;
        System.out.println(a%b);
        System.out.println(c%d);
    }

 1.2增量赋值运算符(+=,-=,*,/=,%=)

1:运算规则

a+=b相当于a=a+b;

a-=b相当于a=a-b;

a*b=b相当于a=a*b;

a/=b相当于a=a/b;

a%=b相当于a=a%b;

2示例代码

public static void main(String[] args) {
        int a=10;
        int b=3;
        System.out.println(a+=b);//a=a+b=10+3=13
        System.out.println(a-=b);//a=a-b=13-3=10
        System.out.println(a*=b);//a=a*b=10*3=30
        System.out.println(a/=b);//a=a/b=30/3=10
        System.out.println(a%=b);//a=a%b=10%3=1
    }

1.3自增/自减运算符(++/--)

1:运算规则

a++相当于a=a+1;

a--相当于a=a-1; 

2: 示例代码

public static void main(String[] args) {
        int a=10;
        int b=3;
        a++;
        b--;
        System.out.println(a);
        System.out.println(b);
    }

3:注意事项

1. 如果不取自增运算的表达式的返回值, 则前置自增和后置自增没有区别.

2. 如果取表达式的返回值 , 则前置自增的返回值是自增之后的值 , 后置自增的返回值是自增之前的值 .

2关系运算符

关系运算符主要有六个

==,!= ,<,>,<=,>=

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

 关系运算符的返回值都是boolean类型

3 逻辑运算符

逻辑运算符主要有三个 &&,||,!

逻辑运算符的操作数一般为关系运算符计算的结果,返回值都是boolea类型

3.1逻辑与&&

1:运算规则

两个操作数都为true则结果为true,否则结果为false

2:示例代码

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

 3.2逻辑或||

1:运算规则

两个操作数一个都为false则结果为false,否则结果为true。

2:示例代码

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

3.3 逻辑非!

1:运算规则

只有一个操作数,当操作数为true的时结果为false,当操作数为false时结果为true

2:示例代码

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

 3.4短路求值

&&和||遵循短路运算规则

 public static void main(String[] args) {
        System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false 
        System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true
    }

我们知道当0作为除数时,程序就会抛出异常,而此时代码编译没有任何问题,就说明“10/0”并没有进行运算。

结论:

1:&&当第一个操作数的值是false时,直接得出结果,不会去计算第二个操作数。

2:||  当第一个 操作数的值是true时,直接得出结果,不会计算第二个操作数。

4 位运算符

位运算符主要有四个:&,|,~,^.

位运算表示按二进制位进行运算。计算机中表示数据的是一段二进制序列,位运算就是对每一个额二进制位进行运算。

4.1按位与&

1:运算规则:

如果两个二进制位都是1,则结果是1,否则,结果为0。

2:示例代码:

 public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a&b);
    }

4.2按位或|

1:运算规则

如果两个二进制位都是0,则结果为0,否则结果为1

2:示例代码

  public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a|b);
    }

 4.3按位取反~

1:运算规则

对应的二进制位取反,若二进制是1,则结果是0,若二进制位是0.则结果是1

2:示例代码

public class TestDom {
    public static void main(String[] args) {
        int a=10;
        System.out.println(~a);
    }

 

 4.4按位异或^

1:运算规则

二进制位相同为0,不同为1

2:示例代码

 public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a^b);
        
    }

 

 5 移位运算符

移位运算符有三种

<< ,>>,>>>

5.1左移运算符:<<

1:运算规则:

最左侧舍弃,右侧补0

2:示例代码:

public static void main(String[] args) {
        int a=10;
        a=a<<1;
        System.out.println(a);
    }

 

 5.2右移运算符>>

1:运算规则

右侧舍弃,左侧补符号位(正数补0,负数补1

2:示例代码

  public static void main(String[] args) {
        int a=10;
        a=a>>1;
        System.out.println(a);
    }

 

5.3无符号右移运算符>>>

1:运算规则:

右边舍弃,左边补0

2:示例代码 

 public static void main(String[] args) {
        int a=10;
        a=a>>>1;
        System.out.println(a);
    }

 

 5.4 总结 1. 左移 1 位 , 相当于原数字 * 2. 左移 N 位 , 相当于原数字 * 2 的 N 次方 . 2. 右移 1 位 , 相当于原数字 / 2. 右移 N 位 , 相当于原数字 / 2 的 N 次方 . 3. 由于计算机计算移位效率高于计算乘除 , 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替. 4.移动负数或者移动位数过大都没有意义

6 条件运算符

条件运算符只有一个

表达式1?表达式2:表达式3

1:运算规则

当表达式的值为true时整个表达式的在值为表达式2,当表达式1的值为false时,整个表达式的值为表达式3.

2:示例代码

 public static void main(String[] args) {
        int a=10;
        int b=20;
        int max=a>b?a:b;
        System.out.println(max);
    }

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/324453.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号