2.5 运算符2

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的

2.5.3 赋值运算符

赋值运算符将值存储在左操作数指定的对象中。有两种赋值操作:

1、简单赋值,使用=。其中第二个操作数的值存储在第一个操作数指定的对象中。只有=运算符是简单赋值运算符。

2、复合赋值,其中先执行算术、移位、位运算、连接运算或逻辑运算然后再存储结果。

通常表示:x op= y ,等效于:x = x op y

例如:Num+=2  即: Num=Num+2

【例 2.29【项目:code2-029】赋值运算。

        static void Main(string[] args)

        {

            int num = 2;

            Console.WriteLine("num=" + num);

            num += 2;

            Console.WriteLine("num=" + num);

            num -= 2;

            Console.WriteLine("num=" + num);

            num *= 2;

            Console.WriteLine("num=" + num);

            string str = "str";

            str += str;

            Console.WriteLine("str+=" + str);

            Console.ReadKey();

        }

2.5.4 逻辑运算符

逻辑布尔运算符使用 bool 操作数执行逻辑运算。运算符包括一元逻辑非 (!)、逻辑逻辑与(&)、逻辑或(|) 以及异或 (^),条件逻辑与(&&) 和条件逻辑或 (||)。

注意:! 、& 、| 、^ 同时也是按位运算符,需要注意它们的区别。

逻辑运算符是对表达式的“真”(true)、“假”(false)进行处理。通常情况下,逻辑运算符配合流程控制语句对代码流转进行处理。关于流程控制语句,请参看第3章。

!:逻辑非,如果表达式是真,返回假;如果是假,返回真。

&:逻辑与,如果两个表达式都是真,那么返回真,否则返回假。

|:逻辑或,如果两个表达式至少有一个是真,那么返回真,否则返回假。

^:异或,如果两个表达式同时为真或同时为假,那么返回假,否则返回真。

&&:与&类似,但是分两次考虑,如果第一个表达式为假,那么不再考虑第二个表达式的真假,直接返回假;否则,第一个表达式为真,继续考虑第二个表达式的真假,第二个表达式如果为真,则返回真,否则返回假。

||:与|类似,但是分两次考虑,如果第一个表达式为真,那么不再考虑第二个表达式的真假,直接返回真;否则,第一个表达式为假,继续考虑第二个表达式的真假,第二个表达式如果为真,则返回真,否则返回假。

【例 2.30【项目:code2-030】逻辑运算。

        static void Main(string[] args)

        {

            bool expression1 = true;

            bool expression2 = false;

            Console.WriteLine("Not (" + expression1 + ")=" + !(expression1));

            Console.WriteLine("Not (" + expression2 + ")=" + !(expression2));

            Console.WriteLine(expression1 + " And " + expression2 + " =" + (expression1 & expression2));

            Console.WriteLine(expression1 + " Or " + expression2 + " =" + (expression1 | expression2));

            Console.WriteLine(expression1 + " Xor " + expression2 + " =" + (expression1 ^ expression2));

            Console.WriteLine(expression1 + " AndAlso " + expression2 + " =" + (expression1 && expression2));

            Console.WriteLine(expression1 + " OrElse " + expression2 + " =" + (expression1 || expression2));

            Console.ReadKey();

        }

运行结果如下图所示:

图2-33 逻辑运算结果

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

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

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

相关文章

地弹与振铃

地弹(Ground Bounce)和振铃(Ringing)是数字电路中常见的信号完整性问题,两者都与高速开关和寄生参数有关,但表现形式和成因不同。以下是它们的对比及解决方法: 1. 地弹(Ground Bounc…

解决Deepseek“服务器繁忙,请稍后再试”问题,基于硅基流动和chatbox的解决方案

文章目录 前言操作步骤步骤1:注册账号步骤2:在线体验步骤3:获取API密钥步骤4:安装chatbox步骤5:chatbox设置 价格方面 前言 最近在使用DeepSeek时,开启深度思考功能后,频繁遇到“服务器繁忙&am…

二十三种设计模式

2 工厂方法模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通…

基于C语言对CAPL语法基础的理解

.CAPL是基于C语言开发的,专门用于CANalyzer和CANoe工具环境,但是CAPL简化了C语言,移除了复杂的指针概念,和一些不常用的关键字。 2.CAPL 脚本是基于事件驱动的,任何事件都有可能触发CAPL脚本的执行,比如&a…

【Java SE】Java中String的内存原理

参考笔记: Java String 类深度解析:内存模型、常量池与核心机制_java stringx、-CSDN博客 解析java中String的内存原理_string s1 new string("ab");内存分析-CSDN博客 目录 1.String初识 2.字符串字面量 3.内存原理图 4. 示例验证 4.…

Prometheus + Grafana 监控

Prometheus Grafana 监控 官网介绍:Prometheus 是一个开源系统 监控和警报工具包最初由 SoundCloud 构建。自 2012 年成立以来,许多 公司和组织已经采用了 Prometheus,并且该项目具有非常 活跃的开发人员和用户社区。它现在是一个独立的开源…

【Python爬虫(95)】Python爬虫进阶:构建大型垂直领域爬虫系统

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取,还涉及数据处理与分析。无论是新手小白还是进阶开发…

Node.js定义以及性能优化

Node.js Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,广泛用于构建高性能的网络应用。以下是一些常见的 Node.js 面试题及其解答,帮助你准备面试: 1. 什么是 Node.js? Node.js 是一个基于 Chrome V8 引擎的 JavaSc…

开源|Documind协同文档(接入deepseek-r1、支持实时聊天)

Documind 🚀 项目介绍 Documind 一个支持实时聊天和接入deepseek-r1模型AI助手的协同文档编辑项目 前端:NextJS React TailwindCSS ShadcnUl Tiptap Zustand后端:NextJS Convex Liveblocks Clerk项目预览:Documind 预览…

JVM内存模型详解:各个区域的作用与原理

引言 Java虚拟机(JVM)是Java程序运行的核心环境,它负责管理程序的内存、执行字节码以及提供跨平台的支持。理解JVM的内存模型对于编写高效、稳定的Java程序至关重要。本文将详细介绍JVM的内存模型,并深入探讨各个内存区域的作用和…

机器学习之集成学习思维导图

学习笔记—机器学习-集成学习思维导图 20250227,以后复习看(周老师的集成学习) PS:图片看不清,可以下载下来看。 往期思维导图: 机器学习之集成学习Bagging(随机深林、VR-树、极端随机树&…

【http://noi.openjudge.cn/】4.3算法之图论——1538:Gopher II

[【http://noi.openjudge.cn/】4.3算法之图论——1538:Gopher II] 题目 查看提交统计提问 总时间限制: 2000ms 内存限制: 65536kB 描述 The gopher family, having averted the canine threat, must face a new predator. The are n gophers and m gopher holes, each at di…

Apache Spark中的依赖关系与任务调度机制解析

Apache Spark中的依赖关系与任务调度机制解析 在Spark的分布式计算框架中,RDD(弹性分布式数据集)的依赖关系是理解任务调度、性能优化及容错机制的关键。宽依赖(Wide Dependency)与窄依赖(Narrow Dependency)作为两种核心依赖类型,直接影响Stage划分、Shuffle操作及容…

【计算机网络】TCP协议相关总结,TCP可靠性的生动讲解

TCP 可靠性 确保快递不丢、不乱、不过载 机制作用(快递类比)防止的问题检验和检查包裹是否损坏,损坏就重新发数据出错序列号给每个包裹编号,按顺序整理乱序、重复确认应答每送到一件,就让收件人签收丢失滑动窗口控制…

Go基于协程池的延迟任务调度器

原理 通过用一个goroutine以及堆来存储要待调度的延迟任务,当达到调度时间后,将其添加到协程池中去执行。 主要是使用了chan、Mutex、atomic及ants协程池来实现。 用途 主要是用于高并发及大量定时任务要处理的情况,如果使用Go协程来实现每…

杰发科技AC7801——滴答定时器获取时间戳

1. 滴答定时器 杰发科技7801内部有一个滴答定时器,该定时器是M0核自带的,因此可以直接用该定时器来获取时间戳。 同样,7803也可以使用该方式获取时间戳。 2. 滴答定时器原理 SysTick是一个24位的递减计数器,它从预设的重装载值…

湖仓一体概述

湖仓一体之前,数据分析经历了数据库、数据仓库和数据湖分析三个时代。 首先是数据库,它是一个最基础的概念,主要负责联机事务处理,也提供基本的数据分析能力。 随着数据量的增长,出现了数据仓库,它存储的是…

第十五届蓝桥杯单片机组4T模拟赛三(第二套)

本套试题在4T平台中的名字为第15届蓝桥杯单片机组模拟考试三,不知道哪套是4T的模拟赛,所以两套都敲一遍练练手感。 为了代码呈现美观,本文章前面的各个模块在main函数中的处理函数均未添加退出处理,在最后给出的完整代码中体现。 …

CT技术变迁史——CT是如何诞生的?

第一代CT(平移-旋转) X线球管为固定阳极,发射X线为直线笔形束,一个探测器,采用直线和旋转扫描相结合,即直线扫描后,旋转1次,再行直线扫描,旋转180完成一层面扫描,扫描时间3~6分钟。矩阵象素256256或320320。仅用于颅脑检查。 第二代CT (平移-旋转) 与第一代无质…

Virtual Box虚拟机安装苹果Monterey和big sur版本实践

虚拟机安装苹果实践,在Windows10系统,安装Virtual Box7.1.6,安装虚拟苹果Monterey版本Monterey (macOS 12) 。碰到的主要问题是安装光盘不像Windows那么容易拿到,而且根据网上很多文章制作的光盘,在viritualBox里都无法…