赋值运算符和关系运算符

发布时间:2024年01月16日

赋值运算符和关系运算符

赋值运算符

分类

符号作用说明
=赋值int a =10, 将10赋值给变量a
+=加后赋值a += b,将a + b的值赋值给a
-=减后赋值a -= b,将a - b的值赋值给a
*=乘后赋值a *= b,将a ×= b的值赋值给a
/=除后赋值a /= b,将a ÷ b的商赋值给a
%=取余后赋值a %= b,将a ÷ b的余数赋值给a
  • 注意事项:扩展的赋值运算符隐含了强制类型转换

代码演示

public class AssigningoperatorDemo1 {
    public static void main(String[] args) {
        // +=
        //规则:将左边和右边进行相加,然后再把结果赋值给左边
        int a = 10;
        int b = 20;
        //把a+b,再把结果赋值给左边的变量a
        a += b;
        //等同于 a = (int)(a + b);
        System.out.println(a);//30
        System.out.println(b);//20



        //细节:
        //+= -= *= /= %=底层都隐藏了一个强制类型转换
        //把
        short s = 1;
        //把左边和右边进行相加,得到结果2,再赋值给左边的s
        s += 1;
        //等同于s = (short)(s + 1);
        System.out.println(s);//2
    }
}

(关系运算符/比较运算符)的分类

符号说明
==a==b,判断a和b的值是否相等,成立为true,不成立为false
!=a!=b,判断a和b的值是否不相等,成立为true,不成立为false
>a>b,判断a是否大于b,成立为true,不成立为false
>=a>=b,判断a是否大于等于b,成立为true,不成立为false
<a<b,判断a是否小于b,成立为true,不成立为false
<=a<=b,判断a是否小于等于b,成立为true,不成立为false
  • **注意:**关系运算符的结果都是boolean类型,要么是true,要么是false.
  • 千万不要把**“==“误写成”=”**
public class CompareoperatorDemo1 {
    public static void main(String[] args) {
        //1.== 判断左右两边是否相等
        int a = 10;
        int b = 10;
        int c = 20;
        System.out.println(a == b);//true
        System.out.println(a == c);//false

        //!= 判断左右两边是否不相等
        System.out.println(a != b);
        System.out.println(a != c);
    }
}

练习

约会

**需求:**您和您的约会对象在餐厅里面正在约会。

键盘录入两个整数,表示你和你的约会对象衣服的时髦度。(手动录入0~10之间的整数,不能录其他)。如果你的时髦程度大于你对象的时髦程度,相亲就成功,输出true。否则输出false

import java.util.Scanner;

public class test2 {
    public static void main(String[] args) {
        /* 需求:
         您和您的约会对象正试图在餐厅获得一张桌子。
         键盘录入两个整数,表示你和你约会对象衣服的时髦度。(手动录入0~10之间的整数,不能录入其他。)
         如果你的时髦程度大于你约会对象的时髦程度,相亲就成功,输出true。
         否则就输出false
         */

        //1.键盘录入两个整数表示衣服的时髦度
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入我们自己的衣服时髦度");
        int myFashion = sc.nextInt();
        System.out.println("请输入约会对象衣服的时髦度");
        int girlFashion = sc.nextInt();

        //2.把我衣服的时髦度和女孩衣服的时髦度进行对比就可以了。
        boolean result = myFashion > girlFashion;

        //3.打印结果
        System.out.println(result);

    }
}

短路逻辑运算符&&

请添加图片描述
请添加图片描述

符号作用说明
&&短路与结果和**&相同,但是有短路**效果
||短路或结果和 | 相同,但是有短路效果

代码演示

public class LogicoperatorDemo3 {
    public static void main(String[] args) {
        //1.&&
        //运行结果和单个&是一样的
        // 表示两边都为真,结果才是真
        System.out.println(true && true);
        System.out.println(false && true);
        System.out.println(false && true);
        System.out.println(true && false);


        //2.||
        //运行结果和单个|一样
        //表示两边都为假,结果才为假。
        System.out.println(true || true);//false
        System.out.println(false || false);//true
        System.out.println(false || true);//true
        System.out.println(true || false);//true


        //3.短路逻辑运算符具有短路效果
        //简单理解:当左边的表达式能确定最终结果,那么右边就不会参与运行了。
        int a = 10;
        int b = 10;
        boolean result = ++a < 5 && ++b < 5;
        System.out.println(result);
        System.out.println(a);//11
        System.out.println(b);//10
    }
}

注意:

  • & |,无论左边是true还是false,右边都要执行。
  • && ||,如果左边就能确定整个表达式的结果,右边不执行。
  • &&,左边为false,右边不管是真是假,整个表达式的结果一定是false
  • ||,左边为true,右边不管是真是假,整个表达式的结果一定是true.

这两种情况下,右边不执行,提高了效率。

  • 最常用的逻辑运算符:&& || !.

练习

需求:数字6是一个真正伟大的数字,键盘录入两个整数。

如果其中一个是6,最终结果输出true

如果它们的和为6的倍数,最终结果输出true

其他情况均为false.

代码演示

import java.util.Scanner;

public class test3 {
    public static void main(String[] args) {
        /*
        数字6是一个真正伟大的数字,键盘录入两个整数。
        如果其中一个是6,最终结果输出true。
        如果它们的和为6的倍数,最终结果输出true。
        其他情况均为false.*/

        //分析:
        //1.键盘录入两个整数
        //变量a 变量b

        //2.a == 6 || b == 6 || (a + b) % 6 == 0;

        //键盘录入两个整数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number1 = sc.nextInt();
        System.out.println("请输入第二个整数");
        int number2 = sc.nextInt();

        //可以用短路逻辑运算符去连续三个判断
        boolean result =  number1 == 6 || number2 == 6 || (number1 + number2) % 6 == 0;
        System.out.println(result);
    }
}
文章来源:https://blog.csdn.net/nhvhy235/article/details/135615362
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。