java 强制类型转换的规则是什么?

Python014

java 强制类型转换的规则是什么?,第1张

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后面表达式的数值强制转换为函数返回值类型后,再将值返回。

参考资料

百度百科-强制类型转换

下面给你例举10种Java中几种常用的数据类型之间转换方法:

1. short-->int 转换

exp: short shortvar=0

int intvar=0

shortvar= (short) intvar

2. int-->short 转换

exp: short shortvar=0

int intvar=0

intvar=shortvar

3. int->String 转换

exp: int intvar=1

String stringvar

Stringvar=string.valueOf (intvar)

4. float->String 转换

exp: float floatvar=9.99f

String stringvar

Stringvar=String.valueOf (floatvar)

5. double->String 转换

exp double doublevar=99999999.99

String stringvar

Stringvar=String.valueOf (doublevar)

6. char->String 转换

exp char charvar=’a’

String stringvar

Stringvar=String.valueOf (charvar)

7 String->int、float、long、double 转换

Exp String intstring=”10”

String floatstring=”10.1f”

String longstring=”99999999”

String doubleString=”99999999.9”

Int I=Integer.parseInt (intstring)

Float f= Integer.parseInt (floatstring)

Long lo=long. parseInt (longstring)

Double d=double. parseInt (doublestring)

8 String->byte、short 转换

Exp String s=”0”

Byte b=Integer.intValue(s)

Short sh=Integer.intValue(s)

9 String->char 转换

Exp String s=”abc”

Char a=s.charAt(0)

返回字符a

10 String-->boolean 转换

String s=”true”

Boolean flag=Boolean.valueOf (“s”)

在android开发过程中我们常常遇到数据类型的转换,其中double转int类型是最常见的

方法一:强制转换

int i

double db

i = (int) db

这种方法会丢失小数点后面的值

int i

double db

i = (int)Math.pow(db2, n)

这种方法的好处是不会丢失小数点后面的值,不过当double值过大时,即大于int类型值得范围时还是会改变原来的值;

最好的方法是将double类型转换为String类型,由String转换为int类型

public int stringToInt(String string){  int j = 0

String str = string.substring(0, string.indexOf(".")) + string.substring(string.indexOf(".") + 1)

int intgeo = Integer.parseInt(str)

return intgeo}