关系运算符的使用

关系运算符是用于比较两个值之间关系的运算符。在Java中,共有以下关系运算符:

  1. 相等关系运算符(==):用于判断两个值是否相等。如果相等则返回true,否则返回false。 例如:int x = 5; int y = 5; System.out.println(x == y); // 输出:true

  2. 不相等关系运算符(!=):用于判断两个值是否不相等。如果不相等则返回true,否则返回false。 例如:int x = 5; int y = 10; System.out.println(x != y); // 输出:true

  3. 大于关系运算符(>):用于判断左边的值是否大于右边的值。如果是则返回true,否则返回false。 例如:int x = 5; int y = 10; System.out.println(x > y); // 输出:false

  4. 小于关系运算符(<):用于判断左边的值是否小于右边的值。如果是则返回true,否则返回false。 例如:int x = 5; int y = 10; System.out.println(x < y); // 输出:true

  5. 大于等于关系运算符(>=):用于判断左边的值是否大于等于右边的值。如果是则返回true,否则返回false。 例如:int x = 5; int y = 10; System.out.println(x >= y); // 输出:false

  6. 小于等于关系运算符(<=):用于判断左边的值是否小于等于右边的值。如果是则返回true,否则返回false。 例如:int x = 5; int y = 10; System.out.println(x <= y); // 输出:true

需要注意的是,关系运算符的操作数可以是基本数据类型(如int、double等)或引用数据类型(如String、Object等)。对于引用数据类型,关系运算符比较的是它们的引用地址而不是具体的值。如果需要比较引用数据类型的值,可以使用equals()方法。

&&和&的区别

在Java中,&&和&都是逻辑与运算符,用于判断多个条件是否都满足。它们的区别如下:

  1. 执行方式:

    • &&:短路与,也称为短路逻辑与。当使用&&运算符时,如果左边的条件为false,则右边的条件将不会被判断,直接返回false。
    • &:非短路与,也称为逻辑与。无论左边的条件是true还是false,右边的条件都会被判断。
  2. 运算速度:

    • &&:由于短路与的特性,当左边的条件为false时,右边的条件将不会被判断,因此可以提升性能。
    • &:由于非短路与的特性,无论左边的条件是true还是false,右边的条件都会被判断,因此会做额外的判断。
  3. 应用场景:

    • &&:适用于需要判断多个条件,但只有前面条件为true时才需要继续判断后面条件的情况。例如:if语句中,如果前面的条件不满足,则后面的条件也不需要判断了。
    • &:适用于需要完整地判断所有条件的情况,不会根据前面的条件结果决定是否继续判断后面的条件。例如:对于位运算等需要对所有位进行操作的情况。
    •  //区别
              //对于&&符号而言,如果第一个条件为false ,后面的条件就不会判断
              //对于&符号而言,如果第一个条件为false ,后面的条件就任然会判断
              int a = 4;
              int b = 9;
              if (a < 1 && ++b <50) {
                  System.out.println("ok300");
              }
              System.out.println("a=" + a + "b=" + b);
              System.out.println("******************************************");
              if (a < 1 & ++b <50) {
                  System.out.println("ok300");
              }
              System.out.println("a=" + a + "b=" + b);

需要注意的是,当条件是布尔类型时,使用&&和&的结果是相同的。只有当条件是复杂表达式时,短路与和非短路与的差异才会体现出来。在一般情况下,推荐使用短路与(&&)来提升性能。

||和|的区别

在Java中,||和|都是逻辑或运算符,用于判断多个条件是否有一个满足。它们的区别如下:

  1. 执行方式:

    • ||:短路或,也称为短路逻辑或。当使用||运算符时,如果左边的条件为true,则右边的条件将不会被判断,直接返回true。
    • |:非短路或,也称为逻辑或。无论左边的条件是true还是false,右边的条件都会被判断。
  2. 运算速度:

    • ||:由于短路或的特性,当左边的条件为true时,右边的条件将不会被判断,因此可以提升性能。
    • |:由于非短路或的特性,无论左边的条件是true还是false,右边的条件都会被判断,因此会做额外的判断。
  3. 应用场景:

    • ||:适用于需要判断多个条件,只有其中一个条件为true时才需要继续判断后面条件的情况。例如:if语句中,如果前面的条件已经满足,则后面的条件也不需要判断了。
    • |:适用于需要完整地判断所有条件的情况,不会根据前面的条件结果决定是否继续判断后面的条件。例如:对于位运算等需要对所有位进行操作的情况。
    • public class LogicOperator {
          public static void main(String[] args) {
              //||短路或 和 |逻辑或 的案例演示
              //只要一个条件是真则结果就是真
              //短路或||如果第一个条件为真,则不会往后进行判断。效率高
              //逻辑或|不管第一个条件是否为真,都要往下进行判断
              int a = 4;
              int b = 9;
              if (a < 1 || ++b <50) {//只要一个条件是真则结果就是真
                  System.out.println("ok300");
              }
              System.out.println("a=" + a + "b=" + b);
      
              if (a < 1 | ++b <50) {
                  System.out.println("ok500");
              }
              System.out.println("a=" + a + "b=" + b);
          }
      }
      

需要注意的是,当条件是布尔类型时,使用||和|的结果是相同的。只有当条件是复杂表达式时,短路或和非短路或的差异才会体现出来。在一般情况下,推荐使用短路或(||)来提升性能。

练习题:

public class testA {
    public static void main(String[] args) {
        int x=5;
        int y=5;
        if ( x++==6&++y==6) {//i++先比较再赋值,++i先赋值再比较
            x=11;
        }
        System.out.println("x="+x+"y="+y);//6,6

        if ( x++==6&&++y==6) {
            x=11;
        }
        System.out.println("x="+x+"y="+y);//6,5

        if ( x++==6|++y==6) {
            x=11;
        }
        System.out.println("x="+x+"y="+y);//11,6

        if ( x++==6||++y==6) {
            x=11;
        }
        System.out.println("x="+x+"y="+y);//11,5
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值