运算符(初步理解)

4 篇文章 0 订阅

 

 

开发工具与关键技术:VS + MVC

作者:李光辉

撰写时间:2019.6.3

 

日常使用中,我们较为经常使用的有算数运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、移位运算符、三目运算符、运算符的优先级等等这些运算符。在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。

算术运算符:

除(/):

1、参与的数类型都是整型时,做取整运算,即商n余m,结果为n

2、只要有一个浮点数参与,就会做类似精确运算

取余%:取余运算符号,也叫取模运算符号,做除法运算时,商n余m,结果为m,而且被除数必须是整数

1、参与运算都是整数时,余数是精确值

2、有浮点数做除数时,余数不一定是精确值

取余运算一般被用来判断,一个数能否被另一个数整除,被除数为正,取余结果为正

被除数为负,取余结果为负

++、-:自增自减运算符,符号要与变量一起使用,表示变量自动+1 自动-1;

  1. 与变量在一起,不与其他任何符号连用时(单独使用)
  2. 自增自减运算符与其他符号连用时,需要考虑表达式的值

符号在前,先运算再赋值,符号再后,先赋值再运算。如:int a = 1; a = ++a;

关系运算符

用来判断条件是否成立,一般都用在分支结构或循环结构

>, <, >=, <=这几个只能比较基本类型数据之间的关系,不能比较对象之间的关系

== ,!=:若使用该运算符比较两个对象的引用(变量),则实质上是比较两个变量是否引用了相同的对象。所谓相同的对象是指,是否是在堆栈(Heap)中开辟的同一块儿内存单元中存放的对象。

若比较两个对象的引用(变量)所引用的对象的内容是否相同,则应该使用equals()方法,该方法的返回值类型是布尔值。需要注意的是:若用类库中的类创建对象,则对象的引用调用equals()方法比较的是对象的内容;若用自定义的类来创建对象,则对象的引用调用equals()方法比较的是两个引用是否引用了同一个对象,因为第二种情况equals()方法默认的是比较引用。

逻辑运算符(操作符只能是布尔类型的)

&&(与), ||(或), !(非),当有两个条件以上进行判断是否成立时,需要使用逻辑运算符

&&:用于判断两个条件是否同时成立,全真为真,一假则假。从左向右开始计算,当遇到为假的条件时停止计算,整个表达式为假;所有条件为真时表达式才为真 

||:用于判断一则有条件成立,一真即真,全假则假。从左向右开始计算,当遇到为真的条件时停止计算,整个表达式为真;所有条件为假时表达式才为假。

!:用于条件的否定,非真即假,非假即真

逻辑运算符用于对包含关系运算符的表达式进行合并或取非。对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。关于逻辑运算符的解释请注意:任何使用两个字符做符号的运算符,两字符之间不应有空格,即将==写成= =是错误的。

位运算符(int类型数据)

位运算符就是直接操作二进制位的,这样效率可能会高一些,因为计算机就是通过二进制对数据进行存取的包括:( &位与符、|位或符 、^位异或符、~位取反符)

位运算符与逻辑运算符的区别:
用于int类型数据时,就是位运算符。用于布尔表达式时就是逻辑运算符。

位运算符将操作数视为位而不是数值。数值可以是任意进制的:十进制、八进制或十六进制。位运算符则将操作数转化为二进制,并相应地返回1或0。位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字

赋值运算符

赋值运算符是比较简单的运算符 ,直接就是给前面的变量赋值

移位运算符

1、<<(左移)

规律:一个操作数进行左移运算的时候,结果就是等于操作数乘以2的n次方,n就是左移 的位数.

2、>>(右移)

规律:一个操作数在做右移运算的时候,实际上就是等于该操作数除以2的n次方,n就是右移的位数。

3、>>>(无符号右移):

无符号右移与右移的区别:进行右移运算的时候,如果操作数是一个正数,那么左边的空缺位使用0补,如果操作数是一个负数,那么左边的空缺位使用1补。而使用无符号右移的时候,不管是正数还是负数都统一使用0补。

运算符优先级:

运算符的优先级确定了表达式中运算符的执行顺序。表达式中有多个运算符时,如何确定哪个运算符先执行?优先级顺序对表达式的结果有很大影响,不同的运算顺序可能得出不同结果甚至出现运算错误。

可重载和不可重载运算符:

注:以上图片部分剪切于W3Cschoool菜鸟教程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值