强制类型转换及运算符(2024.5.19)

强制类型转换

显示转换

int (数据类型)变量名

float pi = 3.1415926;

// pi 强制转换为 int 类型,并赋值给变量 num
int num = ( int ) pi ;
// 强转只是临时强转,本身的数据类型没有改变

隐示转换

若运算符两边的类型不匹配 , 并且没有进行显示指定类型。系统
会默认触发隐式的强转 , 强转规则如下 :
float    ➡   double   ⬅ long    unsigned    int    char,short

常见算术运算符

运算符 含义
+
两数相加
-
两数相减
*
两数相乘
/
两数相除,注意:除数不能为0
%
取模运算符(求余) ,要求两边的运算数必须为整数。
Tips:
/ 若两边的操作数都是整数,默认为整除,小数舍掉 .
% 要求两边的运算数必须为整数。否则,系统提示错误

关系运算符

运算符 含义

>    大于

>=  大于或等于

<    小于

<=  小于或等于

==  等于

!=   不等于

逻辑运算符

逻辑与 &&(短路与:第一个条件为假,则不成立)

条件1 && 条件2 

此条件要成立 ,条件1 条件2 都必须成立

逻辑与 可以对多个条件进行逻辑与操作:条件1 && 条件2 && 条件3 ...

逻辑或  ||(短路或:第一个条件为真,则为真)

条件1 || 条件2 此表达式要成立,只要有一个条件成立即可

逻辑非 !

 将假变真,将真变假

条件为真,结果为假;条件为假,结果为真

逻辑运算符结果:真为1,假为0

位运算符(对二进制位作操作,内存中存储补码)

按位与  &    表达式1 & 表达式2 全一为1,有零则0

0011
0101
0001

按位或  |     表达式1 | 表达式2 有一为1,全零则0

0011
0101
0111

按位异或 ^   表达式1 ^ 表达式2 相同为0,相异为一

0011
0101
0110

应用        交换两个数的值

        创建临时变量temp
        不允许创建临时变量情况下,交换两个数
        使用^运算符

a^a =0

a^a^b = b

a = a ^ b   ;

b = a ^b; //(a^b)^b=a

a = a ^ b;//a^(a^b)=b

 按位取反 ~ 0变1,1变0

左移运算符 << 右边补0,左边丢弃

num = -23; res = num >>2//左移两位

结论:左移n位相当于乘2的n次方

右移运算符 >>

逻辑右移(无符号数据)

高位补0,右边丢弃

算数右移(有符号数据)

低位丢弃,高位补符号位

结论;右移n位相当于除2的n次方

三目运算符(三个操作符)  

格式:条件表达式 ?表达式1 ?表达式2;

含义:如果条件表达式成立,整个表达式的值为1,否则是表达式2

单目运算符:!,~

逗号运算符 ,  (逗号表达式优先级最低)

'表达式

,ret=表达式1,表达式2......表达式n

ret 输出最后一个表达式的结果

总结

! > 算数运算   > 关系运算   > 逻辑运算 >  赋值运算符         

位运算符


 

  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值