第五讲 运算符
算术运算符
+ 加
- 减
* 乘
/ 除
% 取余(求模)(余数的正负取决于分子的正负)
//算术运算符 int x1 = 10; int y1 = 3; System.out.println(x1/y1);//结果是整数 //强制转换结果为double类型的 System.out.println(x1/(double)y1); //求余(余数的正负取决于分子的正负) System.out.println(x1%y1); System.out.println(-x1%y1); System.out.println(-x1%-y1);
自增自减运算符
++n 先运算,再取值
n++ 先取值,再运算
n=n+1
--n 先运算,再取值
n-- 先取值,再运算
n=n-1
//自增自减 System.out.println(x1++);//先输出10,再++ System.out.println(++x1);//先++,再输出12 System.out.println(--x1);//先--,再输出11 System.out.println(x1--);//先输出11,再-- System.out.println(x1);//输出10
关系运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
逻辑运算符
&& 与
|| 或
! 非
表达式1||表达式2,如果表达式1为真,则表达式2无需判断。如果表达式1为假,则需判断表达式2.
if(++x1 > 10 || y1-- < 3) { System.out.println("x="+x1+",y="+y1); }
难点 位运算符
& 按位与 转换为二进制后,两数同列同时为1时,为1;否则为0
| 按位或 转换为二进制后,两数同列同时为0时,为0;否则为1
~ 按位取反 转换为二进制后,0转换为1,1转换为0
^ 按位异或 转换为二进制后,两数同列相同时,为0;不同时为1
>> 右移 相当于除2
<< 左移 相当于乘2
注:计算机的最高位显示为符号位,0为正,1为负
负数补码=反码+1
反码=除了符号位之外各位取反
//位运算符 int x2 = 10; int y2 = 7; int z2 = x2&y2;//转换为二进制后,两数同列同时为1时,为1;否则为0 System.out.println(z2); int z3 = z2|y2; System.out.println(z3);//转换为二进制后,两数同列同时为0时,为0;否则为1 int z4 = z2^y2; System.out.println(z4);//转换为二进制后,两数同列相同时,为0;不同时为1 int z5 = ~x2; System.out.println(z5);//转换为二进制后,0转换为1,1转换为0;负数补码=反码+1;反码=除了符号位之外各位取反 int z6 = x2>>2; System.out.println(z6); int z7 = x2<<2; System.out.println(z7);
赋值运算符
变量 = 表达式
第六讲 选择语句结构
原文地址:http://q0351445.blog.51cto.com/9576593/1574900