`
tang9140
  • 浏览: 34585 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java对byte,short,char,int,long运算时自动类型转化情况说明

 
阅读更多

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

一、算术运算符

单目运算符:+(取正)-(取负) ++(自增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类型



版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    java代码-1·byte short int 在计算是会自动转化为int 2.float double 为近似值,byte short int 转化时可能会精确丢失 3.把大类型转化小的类型时可能会丢失

    首先,我们来探讨“Java中的byte, short, int在计算时会自动转化为int”。在Java中,有五种整数类型:byte、short、int、long和char。当这些类型之间进行算术运算时,较小的类型(byte、short)会被提升到较大的类型...

    java基本类型与byte数组互相转换

    在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等场景下。下面将详细介绍如何进行这些...

    57.055.JAVA基础教程_Java基本语法-自动类型提升运算2(57).rar

    例如,`byte`、`short`和`char`类型在与`int`、`long`、`float`或`double`进行运算时,会被提升到更高的类型。 在Java中,数据类型提升遵循以下规则: 1. `char`会被提升到`int`,因为每个字符在内存中占据16位(两...

    java之java类型转换

    自动转换是指当一个较“小”数据与一个较“大”的数据一起运算时,系统将自动将“小”数据转换成“大”数据,例如 byte、short、char 可以自动转换为 int、long、float 和 double。强制转换是指将“大”数据转换为...

    谈谈Java中整数类型(short int long)的存储方式

    Java中数据类型的转换顺序是从byte、short、char到int,然后依次是long、float和double,这种顺序被称为类型提升。 需要注意的是,类型转换可能引发溢出问题。例如,当一个大于int最大值的long值尝试转换为int时,...

    Java变量与数据类型、数据运算中易混知识点总结

    基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。引用数据类型主要包括类(class)、接口(interface)和数组,它们都是对象的引用,而不是对象本身...

    Java中自动类型转换共3页.pdf.zip

    - 数据类型从低精度向高精度转换是允许的,例如:byte -&gt; short -&gt; char -&gt; int -&gt; long -&gt; float -&gt; double。 - 字符型(char)可以转换为整型(int)。 - 布尔型(boolean)不能和其他任何类型进行转换。 - 对于引用...

    编程语言java类型转换.pdf

    基本数据类型包括boolean、byte、char、short、int、long、float、double。引用数据类型包括类、接口、数组等。在进行类型转换时,需要注意不同数据类型之间的转换规则。 2. 自动类型转换 在Java中,如果一个类型较...

    二、Java语言语法基础

    总之,在Java中,对于`byte`、`short`和`char`等基本数据类型,进行算术运算时,这些值会被隐式提升为`int`类型。如果需要将运算结果存储回这些小范围类型,通常需要显式转换以避免数据溢出问题。理解这些规则对于...

    Java 自动提升的资源

    Java有八种基本数据类型:byte、short、char、int、long、float、double以及boolean。当这些基本数据类型之间进行运算时,较小的数据类型会被自动提升到较大的数据类型,以确保结果的精确性。例如,一个byte与一个...

    JAVA数据类型转换.doc

    简单类型包括boolean、byte、char、short、int、long、float和double,它们直接存储值,大小固定,不受机器架构影响。Java还为每个简单类型提供了一个对应的封装器类,如Integer、Byte、Character、Short、Integer、...

    java类型转换.pdf

    简单类型包括boolean、byte、char、short、int、long、float和double,以及void。这些简单类型占用了固定的二进制位数,不受机器架构的影响,从而确保了代码的可移植性。Java还为每个简单类型提供了一个对应的封装器...

    java位运算大全.doc

    Java中的整型分为四种类型:byte、short、int和long。它们分别占用8位、16位、32位和64位内存。数据类型的表示范围也因此不同,例如: - byte:8位,两个补码表示,范围是-128到127。 - short:16位,两个补码表示,...

    Java基础练习代码入门题训练

    Java支持八种基本数据类型:byte、short、int、long、float、double、boolean和char。例如,在例2-1中,声明了三个double类型的变量x、y和s,用来计算正方形的面积。 双精度浮点数运算 Java支持双精度浮点数运算。...

    Java中的位运算

    在Java语言中,位运算符可以应用于所有整型数据类型,如`long`、`int`、`short`、`char`和`byte`。位运算在很多场景下非常有用,例如优化算法性能、实现高效的数据结构等。 #### 二、位运算符 Java中的位运算符...

    Java数据类型操作包含转换代码实例.rar

    1. 自动类型提升(隐式转换):在运算或赋值时,范围小的类型自动提升为范围大的类型,如int + double会自动将int转换为double进行运算。 2. 强制类型转换(显式转换):需要使用括号将目标类型放在要转换的表达式...

    java数据类型转换(20211104012442).pdf

    - 自动类型转换:从低级别类型(如byte、short、char)到高级别类型(如int、long、float、double)会自动进行,无需额外操作。例如,将byte赋值给int,系统会自动提升数据类型。然而,char类型转换为整型时,会...

    JAVA类型转换.pdf

    - 对于byte, short, char,它们在运算时会先提升为int类型。 - char转换为整型时,会转换为对应的ASCII码值。 - **强制类型转换**: - 需要注意可能产生的溢出和精度损失,如将double强制转换为int时,小数部分...

    switch语句能否作用在byte上,能否作用在long上,能否作用在String上

    总的来说,`switch`语句在Java中是一个强大的控制流工具,它可以处理`byte`、`short`和`char`以及它们的包装类,但不支持`long`。从Java 7开始,`switch`也支持`String`对象,这极大地提高了代码的可读性和可维护性...

Global site tag (gtag.js) - Google Analytics