博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Chapter3_操作符_其他操作符
阅读量:6239 次
发布时间:2019-06-22

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

对java中其他操作符及一些注意事项的总结

(1)按位操作符

  按位操作符操作基本整数类型中的单个二进制位,有与(&),或(|),非(~)。按位操作符还可以和等号(=)联合使用,如~=,&=等。

(2)移位操作符

  移位操作符运算对象也是二进制的位,并且只能用来处理整数类型。分为右移(>>)和左移(<<)操作,注意这右移操作是有符号扩展,即如果是正数,则在最高位补0,反之在最高位补1。java同时还支持无符号右移操作(>>>),这种移位操作采用零扩展,即在最高位补0。移位操作符也可以和赋值号组合使用,同时如果对char,short等类型进行移位处理,操作后得到的还是int类型的值。

(3)三元操作符

  形如boolean-exp ? value0 : value1的操作式,如果boolean-exp的值为true,式子的值就是value0,反之是value1。

(4)字符串操作+/+=

  如果一个表达式以一个字符串开头,那么后续所有操作数都必须是字符串型。并且编译器会将用+=/+连接的其他类型自动转换为字符串类型,或者调用toString()方法。

(5)类型转换

  在java中可以对数值或者变量进行类型转换,在适当的时候这种转换会自动进行。而如果要进行一种窄化转换(将一种可以容纳一定量信息的数据类型转换成不能容纳那么多信息的类型),会面临丢失信息的危险。反之如果进行扩展转换,就不需要进行显式的类型转换,因为这时不会造成信息的丢失。

(6)截尾,舍入和提升

  在进行窄化转换时,截尾和舍入是必须考虑的问题。例如将一个浮点值转换成一个整型值,java会总是对这个数值进行截尾。如果想得到舍入的结果,需要使用java.lang.Math中的round()方法。提升是指,在运算过程中,得到结果的数据类型决定于计算式子中具有最宽数据类型的变量。

  

转载于:https://www.cnblogs.com/buaa-zzy/p/7161096.html

你可能感兴趣的文章
【实践】视频播放成功率下降很多?可能是你密钥管理的方式不对!
查看>>
EIGRP 查看邻居命令详解
查看>>
解决Office 2013无法打开文件并提示错误的问题
查看>>
php-fpm的安装和启动
查看>>
HTML5之Canvas标签简要学习
查看>>
基于Netty4的HttpServer和HttpClient的简单实现
查看>>
读写锁
查看>>
Java对象的序列化和反序列化实践
查看>>
利用webmin修改超级管理员root用户登陆密码
查看>>
ENode 2.0 - 整体架构介绍
查看>>
solr长文本搜索问题
查看>>
Redis客户端Jedis(一)
查看>>
iOS学习之应用偏好设置
查看>>
手把手玩转win8开发系列课程(26)
查看>>
森林、树与二叉树相互转换
查看>>
Spark随谈(一)—— 总体架构
查看>>
算法系列15天速成——第十四天 图【上】
查看>>
django 快速实现登录
查看>>
导入数据时遇见ORA-00054
查看>>
模拟终端打印效果特效
查看>>