运算符与表达式
来源:互联网 发布:同步助手软件已过期 编辑:程序博客网 时间:2024/04/30 15:36
数学运算:+ - * / % ++ –
注意事项:
+ - * / 两端的变量必须是同种类型,并返回同种类型。
% 取余运算,负数的余数符号与被模数符号相同, - 1 % 5 = - 1,1 % - 5 = 1;Num % n,n>0,结果范围[0,n),是周期函数。
注意整除问题:1 / 2 = 0(整数的除法是整除)1.0 / 2 = 0.5 1D / 2 = 0.5
单独的前、后自增或自减是没区别的,有了赋值语句或返回值,则值不同!
eg1:自增自减
int a = 1; a = a++; System.out.println(“a的值:”+a);
第1步:后++,先确定表达式a++的值(当前a的值) a++ —->1
第2步:++,给a加1 a —->2
第3步:最后赋值运算,把a++整个表达式的值赋值给a a —->1
a被赋值两次,第1次a = 2,第2次把1赋值给1
eg2:自增自减
x,y,z分别为5,6,7 计算z + = – y * z++ ;// x = 5,y = 5,z = 42
z = z + – y * z++ 42 = 7 + 5 * 7 从左到右入栈,入的是值
eg3:取出数字的每一位
d = num%10;//获取num的最后一位数 num/=10; //消除num的最后一位位运算:& | ~(取反) ^(异或)>> << >>>
注意事项:
一个数异或同一个数两次,结果还是那个数。
|:上下对齐,有1个1则为1;&:上下对齐,有1个0则为0;(都为二进制)
&相当于乘法,| 相当于加法;&:有0则为0,| :有1则为1,^:两数相同为0,不同为1。关系运算符:> < >= <= == !=
逻辑运算符:&& ||(短路) ! & |
eg:短路运算:&&:前为flase,则后面不计算;|| :前为true,则后面不计算
int x=1,y=1,z=1;
if(x–==1 && y++==1 || z++==1) // || 短路运算后面的不执行了!
System.out.println(“x=”+x+”,y=”+y+”,z=”+z);// 0 , 2, 1- 赋值运算符:= += -= *= /= %=
eg:正负1交替
int flag= -1; System.out.println(flag *= -1); ……
- 条件(三目)运算符:表达式1 ? 表达式2 :表达式3
注意事项:
右结合性:a > b ? a : i > j ? i : j 相当于 a > b ? a : ( i > j ? i : j )
三目运算符中:第二个表达式和第三个表达式中如果都为基本数据类型,整个表达式的运算结果由容量高的决定。如:int x = 4; x > 4 ? 99.9 : 9;
99.9是double类型,而9是int类型,double容量高,所以最后结果为9.0。
- 运算符优先级:括号 > 自增自减 > ~ ! > 算数运算符 > 位移运算 > 关系运算 > 逻辑运算 > 条件运算 > 赋值运算
- 表达式与运算符
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 表达式与运算符
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 运算符与表达式
- 运算符与运算符表达式
- 运算符与表达式 运算符
- Win10优化
- Codeforces Beta Round #29 (Div. 2, Codeforces format)-D. Ant on the Tree
- UVA11627 Slalom (二分判断)
- 安装好Ubuntu,程序员应做的几件事
- Java虚拟机管理划分的运行时数据区域
- 运算符与表达式
- 零java基础搞定微信Server_7_微信公众号的自定义菜单
- 机房收费系统——组合查询
- 嵌入式系统启动
- 一个字符串中无重复的字串最大长度
- osg
- HDU 2222 Keywords Search 【AC自动机(模板题)】
- Shell命令行编辑与自动补全
- 《C++ Primer》读书笔记——第七章