「java的变量类型转换」类型转换Java
今天给各位分享java的变量类型转换的知识,其中也会对类型转换Java进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
Java中的强制类型转换是如何转换的?
java中数据类型的强制转换是通过强制转换语句完成的,强制转换语句的格式为“目标数据类型 变量=(目标数据类型)数据;”。下面给出例子:
1、定义两个字节数据类型a、b、c,分别赋予1和2和a+b的值,进行加法运算的式子a+b=3,得出的结果“3”将会被编译环境判定为整形数据,把这个整形数据赋值给c,系统将会报错,这样就需要用到格式为“目标数据类型 变量=(目标数据类型)数据;”的强制转换语句。
2、根据强制转换语句的格式,易得“bytec=(byte)(a+b);”;
3、这样就把整形数据的“3”赋值给字节数据类型的c了,其中完成数据的强制类型转换。
扩展资料:
基本类型转换原则:
1、类型转换主要在在 赋值、方法调用、算术运算 三种情况下发生。
a、赋值和方法调用转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换:
(1)布尔型和其它基本数据类型之间不能相互转换;
(2)byte型可以转换为short、int、、long、float和double;
(3)short可转换为int、long、float和double;
(4)char可转换为int、long、float和double;
(5)int可转换为long、float和double;
(6)long可转换为float和double;
(7)float可转换为double;
b、算术运算中的类型转换:
1、基本就是先转换为高位数据类型,再参加运算,结果也是最高位的数据类型;
2、byteshortchar运算会转换为Int;
(1)如操作数之一为double,则另一个操作数先被转化为double,再参与算术运算。
(2)如两操作数均不为double,当操作数之一为float,则另一操作数先被转换为float,再参与运算。
(3)如两操作数均不为double或float,当操作数之一为long,、则另一操作数先被转换为long,再参与算术运算。
(4)如两操作数均不为double、float或long,则两操作数先被转换为int,再参与运算。
特殊:
(1)如采用+=、*=等缩略形式的运算符,系统会自动强制将运算结果转换为目标变量的类型。
(2) 当运算符为自动递增运算符(++)或自动递减运算符(--)时,如果操作数为byte,short或char类型不发生改变;
参考资料:百度百科-java关键字
java 强制类型转换的规则是什么?
1、执行算术运算时,低类型(短字节)可以转换为高类型(长字节);例如:int型转换成double型,char型转换成int型等等;
2、赋值表达式中,等号右边表达式的值的类型自动隐式地转换为左边变量的类型,并赋值给它;
3、函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参;
4、函数有返回值时,系统首先会自动隐式地将返回表达式的值的类型转换为函数的返回类型,然后再赋值给调用函数返回。
扩展资料
C++中强制类型转换函数有4个:
1、const_cast(用于去除const属性)。
2、static_cast(用于基本类型的强制转换)。
3、dynamic_cast(用于多态类型之间的类型转换)。
4、reinterpreter_cast(用于不同类型之间的指针之间的转换,最常用的就是不同类型之间函数指针的转换)。
隐式类型转换发生在赋值表达式和有返回值的函数调用表达式中。
在赋值表达式中,如果赋值符左右两侧的操作数类型不同,则将赋值符右边操作数强制转换为赋值符左侧的类型数值后,赋值给赋值符左侧的变量。
在函数调用时,如果return后面表达式的类型与函数返回值类型不同,则在返回值时将return后面表达式的数值强制转换为函数返回值类型后,再将值返回。
参考资料
百度百科-强制类型转换
java 变量类型怎么转换
String aString ="123";
int i = Integer.parseInt(aString); String转换成为int
String bString =Integer.toBinaryString(i); int 转换成为String
float c =new Float(aString); string转换成为float
String cString =new Float(c).toString(); float转换成为string
int ac = new Float(c).intValue(); float转换成为int
这个是随便写的..可能还有其他的方法,平时多看看API吧..就能知道了
java 数据类型转换
java中数据类型是有个隐式的自动转换的.
byte,short,int和long都是整数,任何数字(如1,11,111等),只要不超过范围,都是可以赋值给byte,short,int类型的,但不能直接赋值给long,必须在后面加上L(大小写均可),任何char,byte,short,int之间的计算的结果都是int
型,
如题,
a
=
1;把1赋给a,当然把1赋给byte是没有问题的,
a
=
a
+
1
;
这样就等于把int型赋给了byte型是会报错的.
a
+=
1
是自增运算,+=,-=,*=,/=等运算是不会转成其他类型的,此题中虽然结果与a
=
a
+
1一样;
顺便展开一点讲,共有8种基本数据类型,顺要说明的是:byte,short,int,long,float,double,boolean,char
1.char,byte,short,int之间运算会自动转换为int,不包括自增与自减;
char会以ASCII码转换
2.如下链条,可以向下赋值,反之刚不行,比如,byte值可以赋给short变量,反之则不行.
3.数字默认类型是int,是不符合如下链条的例外情况,只要不超过范围可以赋值给char,byte,short等类型,比如可以byte
a
=
127是对的,byte
a
=
128是会编译错误的;
4.有小数点的都默认为为double型,加f变float,如2.5f
5.boolean只能逻辑运算
byte-short-int-long-float-double
char-int
java的变量类型转换的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于类型转换Java、java的变量类型转换的信息别忘了在本站进行查找喔。