赋值运算符和关系运算符

news2025/1/10 21:44:41

赋值运算符和关系运算符

赋值运算符

分类

符号作用说明
=赋值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);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1388479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Chassis 3技术解密:注册中心分区隔离

原文链接&#xff1a;Java Chassis 3技术解密&#xff1a;注册中心分区隔离-云社区-华为云 注册中心负责实例的注册和发现&#xff0c;对微服务可靠运行起到举足轻重的作用。实例变更感知周期是注册中心最重要的技术指标之一。感知周期代表提供者的实例注册或者下线后&#xf…

uni书写TP6,环境7.3,随意二开,源码交付。APP小程序H5都有,UI美观

随着数字技术的迅猛发展和教育信息化的推进&#xff0c;智慧校园教务管理系统软件设计开发定制成为教育管理的重要举措。这样的系统可以利用先进的技术手段&#xff0c;提供全面的教务管理功能&#xff0c;提高教育管理的效率和质量。 课程管理&#xff1a;智慧校园教务管理系…

人力资源智能化管理项目(day01:基础架构拆解)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学&#xff0c;可以点心心支持一下哈 一、基础架构拆解 1.拉取模板代码 git clone GitHub - PanJiaChen/vue-admin-template: a vue2.0 minimal admin template 项目名 2.core-js…

js 回文串

思路&#xff1a; 判断一个字符串是否为回文字符串的基本思路是比较字符串的正序和倒序是否相同。 两者相同&#xff0c;则该字符串是回文字符串&#xff0c;否则不是。 要实现这一思路&#xff0c;我们可以使用 JavaScript 字符串的一些方法。我是忽略了所有的空格和符号&…

岛屿问题(DFS)

DFS的基本结构 网格结构比二叉树结构稍微复杂一点&#xff0c;它其实是一种简化版的图的结构。要写好网格上的DFS遍历&#xff0c;我们首先要理解二叉树上的DFS遍历方法&#xff0c;再类比写出网格结构上的DFS遍历。我们写的二叉树DFS遍历一般是&#xff1a; public void tra…

我自己总结记忆的23种设计模式

1&#xff0c; 对23种设计模式&#xff0c;大家的第一个印象就是抽象繁琐&#xff0c;记不住&#xff01;&#xff01;不常用&#xff1f;&#xff1f; 其实设计模式是非常有用的&#xff0c;大家只要理解设计模式了&#xff0c;思想上就能有质的飞跃&#xff01; 但是&#…

有哪些好用的视频剪辑工具?这几款剪辑必备

有哪些好用的视频剪辑工具&#xff1f;随着社交媒体的兴起&#xff0c;视频内容已经成为人们获取信息、娱乐和交流的重要方式。对于许多内容创作者来说&#xff0c;选择一款合适的视频剪辑工具是至关重要的。今天&#xff0c;我们就来介绍几款视频剪辑工具&#xff0c;它们各具…

uniapp中,子组件给父页面传值(父组件)

前言 最近在做的一个小程序项目中&#xff0c;有一个身份切换的功能&#xff0c;点击切换按钮时&#xff0c;子组件向父组件传递身份信息&#xff0c;父页面依据这个身份信息对页面进行显示与隐藏。 具体实现 子组件中定义一个点击事件,在这里是identitySwitching()方法 &l…

flink1.15 维表join guava cache和mysql方面优化

优化前 mysql响应慢,导致算子中数据输出追不上输入,导致显示cpu busy:100% 优化后效果两个图对应两个时刻: - - -- 优化前 select l.id,JSON_EXTRACT(r.msg,$$.key1) as msgv (select id,uid from tb1 l where id?) join (select uid,msg from tb2) r on l.uidr.uid;-- 优化…

@Transactional注解导致@DS切换数据源失效

原因 spring 的Transactional声明式事务管理时通过动态代理实现的。 删除事物的注解 增加其他数据库的事务注解 Transactional(rollbackFor Exception.class, propagation Propagation.REQUIRES_NEW)

YOLOv8改进 | 检测头篇 | 利用DBB重参数化模块魔改检测头实现暴力涨点 (支持检测、分割、关键点检测)

一、本文介绍 本文给大家带来的改进机制是二次创新的机制,二次创新是我们发表论文中关键的一环,本文给大家带来的二次创新机制是通过DiverseBranchBlock(DBB)模块来改进我们的检测头形成一个新的检测头Detect_DBB,其中DBB是一种重参数化模块,其训练时采用复杂结构,推理时…

基于apriori关联规则的商品推荐系统

项目背景&#xff1a; 随着电子商务的快速发展&#xff0c;用户在购物平台上面临了海量商品选择的问题。为了帮助用户更好地找到自己感兴趣的商品&#xff0c;提供个性化的推荐服务变得至关重要。基于Apriori关联规则的商品推荐系统可以根据用户的历史购买记录进行分析&#x…

分布式限流要注意的问题

本文已收录至我的个人网站&#xff1a;程序员波特&#xff0c;主要记录Java相关技术系列教程&#xff0c;共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源&#xff0c;让想要学习的你&#xff0c;不再迷茫。 为什么需要匀速限流 同学们回想一下在Guava小节里…

如何部署Wagtail CMS并结合cpolar内网穿透实现远程访问管理界面

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS&#xff0c;建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统&#xf…

电商新趋势:解析养号的必要性及海外云手机运用攻略

在电商领域&#xff0c;什么最为关键&#xff1f;答案无疑是流量&#xff01;然而&#xff0c;如何以较低成本获取大量流量成为了许多电商从业者头疼的问题。虽然直接投放广告是一种方式&#xff0c;但在内卷的情况下效果越来越难以令人满意&#xff0c;高昂的广告费用也原来越…

编译与链接(C/C++)

在C/C中关于代码的运行需要经过.c文件到.exe文件&#xff0c;而其中走过这些步骤这需要对原始的.c文件进行编译与链接。对于编译与链接主要构成了翻译环境&#xff0c;经过翻译环境之后生成.exe文件&#xff0c;然后在通过运行环境输出对应的结果。本篇主要讲解编译与链接。 以…

动手搓一个kubernetes管理平台(1)-需求和框架

先拍个脑袋 市面上对于kubernetes集群的管理平台其实不算少&#xff0c;但常用的就那么几个&#xff0c;比如厚重的rancher&#xff0c;比如老而弥坚的kube-dashboard&#xff0c;以及集成了很多其他功能的kubeSphere等&#xff0c;但和其他开源项目一样&#xff0c;为了满足大…

火爆!大厂流出的接口版本号规约,速度收藏

在实际项目开发中&#xff0c;API的版本号控制不仅仅是一个数字游戏&#xff0c;它的使用需遵循语义版本控制&#xff08;Semantic Versioning&#xff09;原则&#xff0c;确保代码的每一次更改都能通过版本号的变化得到准确的体现&#xff0c;本篇文章对版本号如何使用做了详…

八款常用uml用例图-画图干货

随着软件开发和系统设计的复杂度不断提升&#xff0c;UML已经成为业界标准。UML用例图作为其中一种重要图表&#xff0c;能够清晰地展示系统功能和用户需求。本文将为你介绍八款常用的UML用例图&#xff0c;助你轻松搞定画图难题&#xff01; 一、费用报销系统UML用例图 二、登…

使用vite框架封装vue3插件,发布到npm

目录 一、vue环境搭建 1、创建App.vue 2、修改main.ts 3、修改vite.config.ts 二、插件配置 1、创建插件 2、开发调试 3、打包配置 4、package.json文件配置 上一篇文章讲述使用vite《如何使用vite框架封装一个js库&#xff0c;并发布npm包》封装js库&#xff0c;本文将…