博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 对byte,short,char,int,long 运算时自动类型转化情况说明
阅读量:6273 次
发布时间:2019-06-22

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

  hot3.png

大家都知道,在进行运算时,会隐式的自动进行类型转化,那么有哪些情况会进行转化呢?总结如下:

一、算术运算符

单目运算符:+(取正)-(取负) ++(自增1) --(自减1)

1.1 +(取正)-(取负)

当操作数是 byte, short,char 时,会自动转化为int类型;返回结果为int。

当操作数是int, long时,不转化,原来是啥类型,还是啥类型。

1.2 ++(自增1) --(自减1)

不管操作数是啥类型,不转化。

 

双目运算符:+ - * / %(取余)

 1.3 + - * / %(取余)

    当两个操作数中没有long类型时,两个操作数中非int类型会先自动转换为int类型,再参与运算,返回结果为int;

    当两个操作数中含有long类型时,两个操作数中非long类型会自动转换为long类型,再参与运算,返回结果为long;

 

二、位运算符

位运算符:&(与)、|(或)、^(异或)、~(非)、<< (带符号左移)、 >>(带符号右移)、 >>> (无符号右移)

 2.1  &(与)、|(或)、^(异或)

与1.3情况相同

 2.2 ~(非)

与1.1情况相同

 2.3 << (带符号左移)、 >>(带符号右移)、 >>> (无符号右移)

与1.1情况相同

 

虽然上面列出这么多种情况,但归纳下不难记住。

    即:除了自增加自减不进行转化外,其它情况都是无long型时,所有非int类型转成int类型;有long类型时,都转成long类型

转载于:https://my.oschina.net/grubby/blog/837897

你可能感兴趣的文章
内核源码树
查看>>
Java 5 特性 Instrumentation 实践
查看>>
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>