算数运算符

运算符介绍:运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  • 算术运算符
  • 赋值运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 三元运算符

算术运算符

算术运算符是对数值类型的变量进行运算的。

image-20230708160314402

% 取模,取余

在 % 的本质,a % b = a - a/b*b

++ 自增

i ++ == ++i == i += 1

作为表达式使用:

前++,++i 先自增后赋值

后自增,i++ 先赋值后自增

关系运算符

关系运算符的结果都是boolean型,也就是要么是true,要么是false。

image-20230708161851688

逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wZaVbQzN-1688810547228)(https://cdn.789ak.com/img/image-20230708162445841.png)]

说明逻辑运算规则:

  1. a & b&叫逻辑与,规则为 当 a 和 b 同为true,否则为false。
  2. a && b&&叫短路与,规则为 当 a 和 b 同时为true,则结果为true,否则为false。
  3. a | b|叫逻辑或,规则为 当a 和 b有一个为true,则结果为true,否则为false。
  4. a || b||叫短路或,规则为 当a 和 b有一个为true,则结果为true,否则为false。
  5. !a!叫取反,或者非运算。当a为true,则结果为false,当a为false时结果为true。
  6. a ^ b^叫逻辑异或,规则为 当a 和 b 不同时,则结果为true,否则为false。

&&短路与和&逻辑与的使用区别:

  • &&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高。
  • &逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低。

||短路或 和 |逻辑或的使用区别:

  • ||短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高。
  • |逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低。

赋值运算符

赋值运算符就是将某个运算后的值赋给指定的变量。

  • 基本赋值运算符: =
  • 复合赋值运算符:+= -= *= /= %=

赋值运算符特点:

  1. 运算顺序从右往左
  2. 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量
  3. 复合赋值运算符等价于下面的效果:a x= b --> a = a x b
  4. 复合赋值运算符会进行类型转换

三元运算符

基本语法: 条件表达式 ?表达式1:表达式2;

运算规则:

  1. 如果条件表达式为true,运算后的结果是表达式1;
  2. 如果条件表达式为false,运算后的结果是表达式2;
int a = 3; b = 4;
int ma = a > b ? a : b;

运算符优先级

  1. 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。

  2. 只有单目运算符、赋值运算符是从右向左运算的。

  3. () {} 等

  4. 单目运行 ++ –

  5. 算术运算符

  6. 位移运算符

  7. 比较运算符

  8. 逻辑运算符

  9. 三元运算符

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[桌面运维] 显示器 色准,色域,色深,分辨率,带宽,刷新率的基本概念,图像呈现的基本原理

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

暑假第五天打卡

Java //1、练习题:判断如下代码是否编译通过,如果能,结果是多少? short s1 120; short s2 8; short s3 s1 s2; //编译不通过,因为s1s2自动提示为int类型 //3、练习题:判断如下代码是否编译通过&am…

OpenCV使用`clone()`函数来进行深度拷贝,拷贝后的`image_clone`修改不会影响原始图像`image`

这是完整的代码: #include <opencv2/opencv.hpp>int main() {// 创建一个白色的图像cv::Mat image(500, 500, CV_8UC3, cv

基于matlab使用虚幻引擎模拟开发视觉SLAM算法(附源码)

一、前言 本示例展示了如何使用从虚幻引擎模拟环境中获取的图像数据开发可视化同步定位和映射&#xff08;SLAM&#xff09;算法。 视觉SLAM是计算摄像机相对于周围环境的位置和方向&#xff0c;同时映射环境的过程。开发可视化 SLAM 算法并评估其在不同条件下的性能是一项具…

快速搭建专属于自己的单商户商城系统!

<系统简介> 基于ThinkPHP6.0、Vue、uni-app、PHP8.0、MySQL5.7、element-ui等主流通用技术开发的一套likeshop单商户商城系统&#xff0c;真正做到好懂&#xff0c;易改&#xff0c;不绕弯 代码全开源 极易二开 可免费商用 系统适用于B2C、单商户、自营商城场景。完…

Linux 系统编辑 --文件IO

目录 1.文件 IO 1.1系统调用 1.2 C 标准库文件 IO 函数 1.3 open/close 函数 1.4 文件描述符表 1.7 read/write 函数 1.8 缓冲区 1.9 错误处理函数 2.0 阻塞、非阻塞 2.1 lseek 函数 辅助学习资料 参考书 1 &#xff1a;《 Unix 环境高级编程》 W.Richard St…

问题解决:更新字段为NULL的字段,一直无法更新成功

问题回顾&#xff1a; UPDATE t_user SET is_deleted1 WHERE is_deleted0 AND (email IS NULL)执行上面的SQL一直没有生效&#xff0c;原因是我手动在Navicat中删除了email字段的值。导致一直无法执行上面的SQL&#xff0c;最后发现了原因&#xff0c;请看下面红框&#xff1a…

JAVA Email

Email就是电子邮件。电子邮件的应用已经有几十年的历史了&#xff0c;我们熟悉的邮箱地址比如aaaa22222163.com&#xff0c;邮件软件比如Outlook、网易闪电邮、Foxmail都是用来收发邮件的。当然&#xff0c;使用Java程序也可以收发电子邮件。 传统的邮件就是通过邮局投递&#…

zookeeper的动态扩容

附属意义的扩容&#xff1a;扩容的新增节点为观察者observer 1.观察者概念&#xff1a; a.在zookeeper引入此新的zookeeper节点类型为observer&#xff0c;是为了帮助处理投票成本随着追随者增加而增加的问题并且进一步完善了zookeeper的可扩展性 b.观察者不参与投票&#x…

django要在books接口中不同数据的新类

要在books接口中添加一个处理不同数据的新类&#xff0c;并希望通过 Django 管理后台添加和显示这些数据&#xff0c;需要对三个文件进行修改 1.在 models.py 文件中添加新的模型类。 例如&#xff0c;假设您要添加一个名为 Category 的新模型&#xff1a; from django.db i…

记一次 Visual Studio 2022 卡死分析

一&#xff1a;背景 1. 讲故事 最近不知道咋了&#xff0c;各种程序有问题都寻上我了&#xff0c;你说 .NET 程序有问题找我能理解&#xff0c;Windows 崩溃找我&#xff0c;我也可以试试看&#xff0c;毕竟对 Windows 内核也知道一丢丢&#xff0c;那 Visual Studio 有问题找…

黑芝麻智能科技、上海紫先面试(部分)(未完全解析)

黑芝麻智能科技 Hystrix可以限流吗&#xff1f;客户端限流&#xff0c;是限制对下游&#xff08;被调用方&#xff09;的访问&#xff0c;不是对本服务限流。从HystrixCommand的.withExecutionIsolationStrategy(ExecutionIsolationStrategy.SEMAPHORE)也可以看出来&#xff0c…