Java 基础:运算符

 一. 运算符介绍

        Java 提供了许多运算符,这些运算符除了可以处理一般的数学运算外,还可以做逻辑运算、地址运算等。根据其所学的类的不同,运算符可以分为赋值运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、括号运算符等。

 二. 三目运算符

        三目运算符是一种赋值运算符。

        数据类型 变量 = 布尔表达式 ? 满足条件设置的内容 :不满足条件设置的内容; 

public class TestDemo {
    public static void main(String[] args) {
        int x = 10;
        int y = 20;
        int result = x > y ? x : y;//将 x 和 y 中大的数值赋值给变量 result
        System.out.println(result);
    }
}

        运行结果:

        20

        使用 if...else 实现三目运算符的功能

public class TestDemo {
    public static void main(String[] args) {
        int x = 10;
        int y = 20;
        int result = 0;//定义变量,保存结果
        if ( x > y ) //比较 x 和 y 的大小
        {
            result = x; //如果 x 大,则将 x 的内容赋值给 result
        }
        else
        {
            result = y; 如果 y 大,则将 y 的内容赋值给 result
        }
        System.out.println(result);
    }
}

        运行结果:

        20

        虽然可以实现同样的功能,但是从代码的长度上来讲,三目运算更加简单明了,也更加方便。

三. 逻辑运算符

        逻辑运算符一共包含三种:与(多个条件一起满足)、或(多个条件有一个满足)、非(true变false,false变true)。

        读者可以发现,在定义逻辑运算符时,“与” 和 “或” 操作分别定义了两种不同的符号。

        提示:& 和 &&、| 和 || 的区别

  • 逻辑运算上:

         &:表示普通与,所有的判断都要一次执行;

         &&:表示短路与,若干个条件,如果前面的条件返回了 false,那么后面的不会再判                       断,结果就是 false;

         |:表示普通或,所有的判断条件都要依次执行;

         ||:表示短路或,若干个条件,如果前面条件返回了 true,后面的不再判断,结果就是                 true;

  • 位运算上:& 表示位与计算、| 表示位或计算。
public class TestDemo {
    public static void main(String[] args) {
        if (1 == 2 && 10 / 0 == 0)
        {
            System.out.println("条件满足。");
        }
        else {
            System.out.println("条件不满足。");
        }
    }
}

        运行结果:

        条件不满足。

public class TestDemo {
    public static void main(String[] args) {
        if (1 == 1 || 10 / 0 == 0)
        {
            System.out.println("条件满足。");
        }
        else {
            System.out.println("条件不满足。");
        }
    }
}

        运行结果:

        条件满足。

四. 位运算符

        位运算在 Java 中的运算符包括 &、|、^、~、>>、<<、>>>,而所有的位运算都是采用二进制数据进行操作的。

        提示:十进制转换二进制原则

        十进制转换二进制位二进制数据的原则为:数据除 2 取余,最后倒着排列,如 19 的二进制值为 10011,但是由于 Java 的 int型数据为 32位,所以实际上最终的数据位 “00000000 00000000 00000000 0010011”。

 

“与” 运算

public class TestDemo {
    public static void main(String[] args) {
        int x = 19;
        int y = 20;
        System.out.println(x & y); //位与操作
    }
}

        运行结果:
        16

计算分析:

19 的二进制数据:00000000 00000000 00000000 0010011

20 的二进制数据:00000000 00000000 00000000 0010100

& 的结果:            00000000 00000000 00000000 0010000

“或” 操作

public class TestDemo {
    public static void main(String[] args) {
        int x = 19;
        int y = 20;
        System.out.println(x | y); //位或操作
    }
}

        运行结果:

        23

计算分析:

19 的二进制数据:00000000 00000000 00000000 0010011

20 的二进制数据:00000000 00000000 00000000 0010100

| 的结果:              00000000 00000000 00000000 0010111

 

移位操作

public class TestDemo {
    public static void main(String[] args) {
        int x = 19;
        System.out.println(x >>> 2); //移位操作
    }
}

        运行结果:

        4

计算分析:

19 的二进制数据:00000000 00000000 00000000 0010011

向右边移位:        00000000 00000000 00000000 0000100

向左边移位操作: 

public class TestDemo {
    public static void main(String[] args) {
        int x = 2;
        System.out.println(x << 2); //移位操作
    }
}

        运行结果:

        8

计算分析:

2 的二进制数据:00000000 00000000 00000000 00000010

向左边移 2 位:  00000000 00000000 00000000 00001000

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值