A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑泽霖 中级黑马   /  2014-11-15 15:47  /  1117 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java比较运算符
1结果
java中比较运算符的结果,或者是小写true,或者是小写false
true并不等于1,false也不等于0
2运算符
==
!=
<
<=
>
>=
instanceof检查是否是类的对象
Java赋值运算符
1+=运算符
short s=4;
4是int类型,s是short类型,自动转换4赋值于s
s=s+5;
编译失败,s+5自动类型提升为int类型,int变量无法自动转换为低一级的short变量
s+=5;
编译成功,赋值运算符+=会将常量int类型的5自动转换为short类型的s
2a和b的值互换
(1)
a=a+b;
b=a-b;
a=a-b;
(2)
使用异或运算符^
a=a^b;
b=a^b;           //b=a^b^b=a
a=a^b;           //a=a^b^a=b
java连接符+
连接符+,只有在字符串时才能用
字符串和任何数据使用+,都是连接
java中的String类重载了+运算符
System.out.println(“a=”+5+5);
输出:a=55
a=是字符串,重载了+,所以a=+5是字符串,同理a=+5+5也是字符串。
若要输出a=55,则为
System.out.println(“a=”+(5+5));

java三元运算符
c=x?a:b
一个问号,一个冒号将一个条件,一个结果,另一个结果三部分分开
x是条件,满足c=a,不满足c=b(? :)
例如:
c=(a>b)?a:b
java位运算符
1<<左移
例如3<<1,原数据:
00000000 00000000 0000000 00000011
左移后:
0|0000000 00000000 00000000 000000110
左移一位,最高位舍弃,最低位空出来的补0
左移是乘2,结果=6
当前数据=原数据*(2的左移位次幂)
左移1位:3*2的1次幂=6
左移2位:3*2的2次幂=12
例如计算2*8,以最快方式,2<<3,因为8是2的3次幂
2>>右移
6>>1
00000000 00000000 00000000 00000110
_00000000 00000000 00000000 0000011|0
最低位舍弃,最高位是符号位,
右移是除2,所以最高位空出来之后,补原来的符号位
除2产生的数据的小数位舍弃
当前数据=原数据/(2的右移位次幂)(结果取整小数舍去)
3>>>无符号右移

>>最高位空位补原来的符号位,而>>>最高位空位永远补0
无符号右移>>>是用来获取数据的
例如00110|110获取中间的110,则用>>>将后面的110舍弃
利用此方法来实现进制转换,每右移3位取出数据后转换为1位8进制数,每右移4位取出数据后转换为1位16进制数
4&与运算符
(1)&和&&的区别,&&有可能只判断第一个条件,&两个条件一定都会执行
(2)可用于获取二进制中的有效位1
5^异或运算符
6^3^3=6
一个数异或另一个数两次结果还是这个数
6~取反运算符
00000000 00000000 00000000 00000101  5
00000000 00000000 00000000 00000000  0
11111111 11111111 11111111 11111111  -1
这里表示数据的是补码
-1原码=10000000 00000000 00000000 00000001
求反码(符号位不变)=11111111 11111111 11111111 11111110
补码=11111111 11111111 11111111 11111111
11111111 11111111 11111111 11111110  -2
补码负数换算为十进制是将原数取反后换算为十进制,-(~x+1)
11111111 11111111 11111111 11111101  -3
11111111 11111111 11111111 11111100  -4
11111111 11111111 11111111 11111011  -5
11111111 11111111 11111111 11111010  -6
5取反的结果是-6,正数取反的结果是-x-1
0取反=-1
int最大值=01111111 11111111 11111111 11111111
=2147483647
最小值~(01111111 11111111 11111111 11111111)
=-2147483648
所以int范围-2147483648到2147483647,负数比正数多一位

评分

参与人数 1技术分 +1 收起 理由
MVP + 1

查看全部评分

1 个回复

正序浏览
看看是啥!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马