博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Thinking in Java-CHAPTER 3】操作符
阅读量:5333 次
发布时间:2019-06-15

本文共 1239 字,大约阅读时间需要 4 分钟。

优先级

赋值

对象在使用c=d,那么c和d都指向原本只有d指向的那个对象。

方法调用中的别名问题:当一个对象作为参数传递到一个函数中,函数改变了这个参数,则改变了传递进来的对象;

自增和自减

浮点型的变量也是可以++或--的。

关系操作符

double x=0.1;double y=0.1;System.out.println(x==y);

输出:true

Integer x=new Integer(47);Integer y=new Integer(47);System.out.println(x==y);
System.out.println(x.equals(y));

输出:false

          true

基本数据类型直接使用==和!=即可,但除此之外的数据类型,如果要比较等价,需要使用equals方法;

逻辑操作符

Integer x=new Integer(47);Integer y=new Integer(47);System.out.println(x
&&y); //出错,此处与C/C++不同

短路现象:

移位操作符:>>,<<,>>>

>>:

11 >> 2,则是将数字11右移2位

计算过程:11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010.转换为十进制是3.数学意义:右移一位相当于除2,右移n位相当于除以2的n次方。

<<:

3 << 2,则是将数字3左移2位:

计算过程:

  3 << 2
  首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12.数学意义:
  在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。

>>>:

按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。

类型转换

将float或double转型为整型时,总是对该数字执行截尾。如果想要得到舍入操作,就需要使用java.lang.Math中的round()方法:

double x=0.5;System.out.println((int)x);             //0System.out.println(Math.round(x));         //1

转载于:https://www.cnblogs.com/XBWer/p/4442608.html

你可能感兴趣的文章
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>
界面交互之支付宝生活圈pk微信朋友圈
查看>>
[DLX精确覆盖+打表] hdu 2518 Dominoes
查看>>
SuperMap iServerJava 6R扩展领域开发及压力测试---判断点在那个面内(1)
查看>>
Week03-面向对象入门
查看>>
一个控制台程序,模拟机器人对话
查看>>
web.xml 中加载顺序
查看>>
pycharm激活地址
查看>>
hdu 1207 四柱汉诺塔
查看>>
Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇——纯前端多页面)
查看>>
display:none与visible:hidden的区别
查看>>
我的PHP学习之路
查看>>
【题解】luogu p2340 奶牛会展
查看>>
对PostgreSQL的 SPI_prepare 的理解。
查看>>
解决响应式布局下兼容性的问题
查看>>