随堂笔记160228表达式
2016-02-28 21:13
309 查看
本节课的内容主要是对上一节的表达式内容做补充
111(7)
--------
001(1)
异或可以用于两个数的交换,举个例子:
int a = 10,b = 20;
现在如何不使用第三个变量来交换他们两个的值呢?
第一步,首先将两个数进行异或运算并赋值给a
a(10) 00001010
b(20) ^00010100
--------------------------
00011110
a = a ^ b;
第二步,将得到的答案与b异或运算,就得到b
b(20) 00010100
a ^00011110
------------------------
00001010(得到10)
b = b ^ a;
第三步,将b与a异或
b(10) 00001010
a ^00011110
--------------------------
00010100(得到20)
a = a ^ b;
00000010(2)
-----------
11111101(-3的补码)
现在根据补码来源可以得到源码=补码-1取反;
11111101(-3补码)
- 0000001
-----------------
~ 11111100(取反,最高位符号位不参与运算)
-----------------
10000011(-3的源码)
int a = 1,c;
c = a >> 1;
System.out.println(c);//输出c为0;
score < 60 ? "不及格":"及格";
表达式:
1.异或(^):两个数异或运算,相同位得0,不同位为1
ex: 110(6)111(7)
--------
001(1)
异或可以用于两个数的交换,举个例子:
int a = 10,b = 20;
现在如何不使用第三个变量来交换他们两个的值呢?
第一步,首先将两个数进行异或运算并赋值给a
a(10) 00001010
b(20) ^00010100
--------------------------
00011110
a = a ^ b;
第二步,将得到的答案与b异或运算,就得到b
b(20) 00010100
a ^00011110
------------------------
00001010(得到10)
b = b ^ a;
第三步,将b与a异或
b(10) 00001010
a ^00011110
--------------------------
00010100(得到20)
a = a ^ b;
2.负数在计算机内以补码的形式存放。
1.补码:源码取反+1。
ex:-3的补码(由2的源码取反得到)00000010(2)
-----------
11111101(-3的补码)
现在根据补码来源可以得到源码=补码-1取反;
11111101(-3补码)
- 0000001
-----------------
~ 11111100(取反,最高位符号位不参与运算)
-----------------
10000011(-3的源码)
3.位移运算(<< >>):
ex:int a = 1,c;
c = a >> 1;
System.out.println(c);//输出c为0;
4.表达式中的优先级用括号来体现。
5.三目运算符:条件?真:假;
ex: int score = 60;score < 60 ? "不及格":"及格";
6.关于表达式中的边界值:边界值设定错误造成BUG。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树