中易网

在java中什么是强制类型转换!

答案:2  悬赏:0  
解决时间 2021-01-16 11:37
  • 提问者网友:骨子里的高雅
  • 2021-01-15 14:35
在java中什么是强制类型转换!
最佳答案
  • 二级知识专家网友:往事埋风中
  • 2021-01-15 14:55
强制类型转换:当操作数的类型不同,而且不属于基本数据类型时,经常需要强制类型转换,将操作数转化为所需要的类型。强制类型转换具有两种形式,称为显式强制转换和隐式强制类型转换。
1、显式强制类型转换:显式强制类型转换需要使用强制类型转换运算符,格式如下:type()或(type) 其中,type为类型描述符,如int,float等。为表达式。经强制类型转换运算符运算后,返回一个具有type类型的数值,这种强制类型转换操作并不改变操作数本身,运算后操作数本身未改变,例如:int nVar=0xab65;char cChar=char(nVar);上述强制类型转换的结果是将整型值0xab65的高端两个字节删掉,将低端两个字节的内容作为char型数值赋值给变量cChar,而经过类型转换后nVar的值并未改变。
2、隐式强制类型转换:隐式类型转换发生在赋值表达式和有返回值的函数调用表达式中。在赋值表达式中,如果赋值符左右两侧的操作数类型不同,则将赋值符右边操作数强制转换为赋值符左侧的类型数值后,赋值给赋值符左侧的变量。在函数调用时,如果return后面表达式的类型与函数返回值类型不同,则在返回值时将return后面表达式的数值强制转换为函数返回值类型后,再将值返回,如:int nVar;double dVar=3.88;nVar=dVar;//执行本句后,nVar的值为3,而dVar的值仍是3.88
类型转换;
1.自动类型转换
2.强制类型转换
自动类型转换分两种情况:1,不同类型的数据进行运算时,系统会自动将运算优先级别低的转换成级别高的,结果和运算级别高的数据类型一样。2,赋值运算符两边类型不一样时,系统会自动将右侧表达式的类型转换成左侧的变量类型,然后再赋值
强制类型转换:如:(int)3.1415 //就是取整数部分(int)a%10 //取a的十位数,若a是int型,取a的平方根就是 sqrt((double)a)
全部回答
  • 1楼网友:duile
  • 2021-01-15 16:33
字符串转 数字类型 就是强制转换,比如字符串类型的 1,如果计算,必须强制转换成 数字类型。
而 低精度转高精度属于 隐式转换,例如 float 转double 类型,不需要强制转换,程序会自动帮你转换。
float i=0.11f;
double j=i;
隐式转换可有程序自动转换, 而 字符串转 数据类型必须强制转换 比如:
String i=1;转换成int 型
int j=Integer.parseInt(i);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息