码迷,mamicode.com
首页 > 编程语言 > 详细

day03 Java基础

时间:2015-06-16 19:05:21      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

1、面试题

(1)short s=1;s=s+1;

(2)short s=1;s+=1;

上面两行代码有没有问题,如果有,哪里有问题?

答:第一个有问题,s+1是int类型的值,赋值给short的s,编译报错;

第二个s+=1;不等价于s=s+1;而是等价于s=(s的数据类型)(s+1),有一个强制转换的过程。

2、^(异或)的特点:一个数据对另一个数据位异或两次,该数本身不变

例如:int a=10;int b=20;

a^b^b=10;a^b^a=20;

基于这个特点,^的一个应用是可以做一个简单的数据加密。

面试题:用异或运算符交换a、b的值。

  a=a^b;

  b=a^b;//b=a^b^b=a;

  a=a^b;//a=a^b^a=b;

3、<<:左移 左边最高位丢弃,右边补齐0

  >>:右移 最高位是0,左边补齐0;最高位是1,左边补齐1

  >>>:无符号右移 无论最高位是0还是1,左边补齐0

例:24>>2=6;

  24>>>2=6;

  -24>>2=-6;

  -24>>>2=1073741818;

day03 Java基础

标签:

原文地址:http://www.cnblogs.com/sunflower627/p/4581174.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!