博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3、运算符、表达式
阅读量:4577 次
发布时间:2019-06-08

本文共 1173 字,大约阅读时间需要 3 分钟。

1、%求余数

3%2=1  4%2=0  4.0%2=0.0  1%2=1  -1%2=-1  1%-2=1  -1%-2=-1   17.1%4=1.1

分子小于分母,数值为分子,符号按分子走。

1%0->by zero   1.0%0=NAN not a number

 

2、a=2;b=++a;   那么a=3;b=3;

   a=2;b=a++;   那么a=2;   b=3;

  int a=2;

  int b=a+3*a++;  计算机从左往右看,第一个a就是2

  则a=3,b=8 

 

3、比较运算符

  ==相等,要求两边都是基本数据类型

  ===全等,两边类型数字都等才返回true  比较的是栈中的东西,想比较堆中的,用equals

 

4、位运算符

  正数二进制变负数二进制=正数的首位0变成1,其他为是0变成1,1变成0,再在末尾加1,注意进位

  负数二进制变正数二进制= 正数的首位1变成0,末尾减1,其他0变1,1变0

 

a、 ~取反  01001111    ——>10110000         ~0b0011——>-4  因为还得考虑第一位是符号位

        ~0b0000--0011  得 先取反11 111100,可以看出是负数,先把符号定下来,然后数字部分用上面的法则11111100减1,变成11111011,然后再01互换,得00000100,数字部分为4,加上前面的负号为-,所以为-4。(方法:可以让正数先变负,再减1,就可以了)

b、&按位与  2&3=2

c、^按位异或  2^3=1(同1,0为0)

d、|按位或  2|3=3(同0为0)  

 

5、移位运算符

  >>右移:把第一个操作数的二进制码右移指定个位数   64>>2=16  31>>2=7  (正数可以相当于除法)

      -2>>2 0000 0010---1111 1101---1111 1110>>2=1111 1111(负数1补位)---1111 1110---0000 0001,结果为1

  >>左移:同上,全部0补位(乘法)

  >>>无符号右移:他把第一个操作数的二进制码右移指定位数后,左边空出来的位总是以0补充。

 

6、逻辑运算符

  &和&&的区别:前者是与,后者为短路与

  |和||同理

 

7、赋值运算符

  short sum=100;

  sum+=100;//不检查类型匹配,正确,性能高不安全

  sum=sum+100;//检查类型匹配,错误,性能低安全

 

8、局部变量特点是:在使用前必须初始化!!!!

 

9、三目运算符   

  必须赋值给一个变量!

  100>90?"真":"假";  错了

  必须string a=100>90?"真":"假";

转载于:https://www.cnblogs.com/television/p/8361827.html

你可能感兴趣的文章
fiddler 抓取 nodejs
查看>>
1.Nginx服务应用
查看>>
MySQL基础
查看>>
凹凸贴图与法线贴图
查看>>
sqlserver跨服务器数据库sql语句
查看>>
设计模式-结构型模式,外观模式(6)
查看>>
Trie模版
查看>>
2018HDU多校训练-3-Problem F. Grab The Tree
查看>>
2016012032四则运算网页版结对项目报告
查看>>
边工作边刷题:70天一遍leetcode: day 45
查看>>
淘宝专业版改基础版方法
查看>>
[转]ARM Pipeline
查看>>
[转]Blocking Code Injection on iOS and OS X
查看>>
自动化测试
查看>>
vue $options 获取自定义属性
查看>>
Vue避免 v-if 和 v-for 用在一起
查看>>
TraceSource记录程序日志
查看>>
【Source教程】GCFScape下载安装与使用
查看>>
数据结构 单链表反转 回顾练习
查看>>
N!分解素因子及若干问题
查看>>