大家都知道,在进行运算时,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 在对表达式求值时,将自动把这些类型扩大为 int 型,而且,表达式的值也是int 型。对byte 和short类型的值进行移位运算的结果是int 型,而且如果左移不超过31位,原来对应各位的值也不会丢弃。但是,...
Java Number类是Java中的一个抽象类,它是所有数值类型的超类,包括整数、浮点数和大数。它提供了一组用于操作数值类型的方法,如转换、比较、算术运算等。 二、Java Number类提供了哪些基本的数字操作? Java ...
不同类型数据间的优先关系如下: 低--------------------------------------------->⾼ byte,short,char-> int -> long -> float -> double 运算中,不同类型的数据先转化为同⼀类型,然后进⾏运算,转换规则如下: ...
Java 有8种基本数据类型: byte int short long double float Boolean char byte int short long 都属于整数类型. Double float 属于浮点类型. Boolean 为布尔类型 Char 为字符型 String 不是基本数据类型.它定义的...
的8⼤基本数据类型 ⼤基本数据类型 Java8⼤基本数据类型 ⼤基本数据类型 byte(字节型)、short(短整型)、int (整型) 、long(长整型) float(单精度浮点型)、double(双精度浮点型)、boolean(布尔型)、char(字符...
Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type)和枚举类型(enumeration type),剩下的都是引用类型(reference type)。 2、float f=3.4;...
java基本数据类型 ...八类基本数据类型:byte 、short 、int 、long,float 、 double,char,boolean 本资源里面详细介绍了关于java的基本数据类型的分类定义以及使用方法等,有需要的朋友可以下载使用。
由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。 对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊...
类型的优先级别:byte,short,char,int,long,float,double (低–高) 右>左–强制类型转换 右<左–自动转换 右=左–不用转 三、运算符: 算术运算符: +,-,*,/,%,++,– 赋值运算符:= 关系运算符: >,<,>...
byte > short > int > long > float > double char 」 注意:默认类型转换(自动类型提升)会丢失精度,但只有三种情况: int>float; long>float; long>double. 看一下他们的有效位就明白。 二进制是无法精确的...
微 软 总 裁 比 尔 ·盖 茨 在 悄 悄 地 观 察了 一 段 时 间 后 ,不 无感 慨 地 说 :"Java是 长 时 间 以 来 最 卓 越 的 程序 设 计 语 言 ",并确 定 微软 整 个 软 件 开 发 的 战 略 从 PC 单 机 时 代 向 着 以...
基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 ...
1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...
–整型包括:byte short int long(广义的整型包括char型) –在内存中各占:1,2,4,8个字节, 各有各的取值范围,略记一下。 •在定义long 类型时 必须在数字后面加L, •整数常量有三种表示方式: 十进制,八...
基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 ...
基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int...
C) 程序能通过编译,运行时将打印出0/0,因为在Java中int型变量day和month默认为0。 D) 以上说法都不正确。 题目10:c 下面关于继承的描述正确的一项是:(选择1项) A) 子类继承父类,那么子类将继承父类的所有...
本实例实现时主要用到了string 类的ToCharArray 方法和Convert 类的ToChar 方法,下面分别对它们进行 详细介绍。 (1)string类的ToCharArray 方法 string类的ToCharArray 方法用来将字符串中的字符复制到Unicode ...
引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...