永发信息网

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

答案:5  悬赏:30  手机版
解决时间 2021-02-26 19:50
强制类型转换的时候需要注意什么?
最佳答案
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 的自动转换 如果下列2个条件都能满足,那么将一种类型的数据赋给另外一种类型变量时,将执行自动类型转换(automatic type conversion): 1.这2种类型是兼容的。 2.目的类型数的范围比来源类型的大。 当以上2个条件都满足时,拓宽转换(widening conversion )发生。例如,int 型的范围比所有byte 型的合法范围大,因此不要求显式强制类型转换语句。对于拓宽转换,数字类型,包括整数(integer )和浮点(floating-point )类型都是彼此兼容的,但是,数字类型和字符类型(char)或布尔类型(bollean )是不兼容的。字符类型(char )和布尔类型(bollean )也是互相不兼容的。 二. 不兼容类型的强制转换 其中,目标类型(target-type )指定了要将指定值转换成的类型。例如,下面的程序段将int 型强制转换成byte 型。如果整数的值超出了byte 型的取值范围,它的值将会因为对byte 型值域取模(整数除以byte 得到的余数)而减少。
强制转换的规则是小的可以转成大的,但是大的不一定都能转成小的,例如int都可以强转成string,但是string不一定都能转成int,其他类似
规则就是转换的类型之间必须具有某一特定联系。 如: 字符串“123”,只个就是数字,可以直接Integer.valueOf("123"); char类型的“a”,可以直接“int(“a”)”,结果就是:58; 但是强制之前可以通过“instance of”(实例化)来进行判断是否可以强制转换:if(“aaaa” instance of String){//代码模块},这个代码的意思就是说如果“aaaa”可以实例化字符串类型,那么就可以强制转换,这个方法可以减少因类型不匹配和导致的转换类型抛出异常,开发过程还是有一定作用的。 备注:关于类型转换,只能是在开发过程中逐渐积累,根据实际需要进行转换即可。
表示强制转换类型.学点强制转换的知识吧 比如: 1.基本类型: int a=0; float a=8.2//error,这个不能被编译通过 //我们这样写就可以了 float a=(float)8.2;//把double 型的强制转换为float //也可以这样写的float a=8.2f 2.引用类型: 一个超类能做的东西,其子类也能做,而一个子类能做的东西超类不一定能做,所以就有这样的规则: (1).一个子类的对象可以强制转换成为其超类的对象; (2).一个超类的对象如果强制转换成子类的对象将在运行的时候有异常抛出; (3).如果不是同一继承树上的类强制转换,将产生编译错误. 例如: class A {} class B extends A{} class C {} B b=new B(); A a=(A)b;//被b引用的对象强制转换为类A的对象,类B的对象具有类A对象的性质,所以可以转换成功 a=new A(); b=(B)a;//原本是类A的对象,可能不具备类B的性质,这样会在运行的时候产生异常. C c=new C(); a=(A)c;//如果c不是同一继承树类编译的时候将会产生错误
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
顺溜削面十八中店这个地址在什么地方,我要处
谁知道大便化验单上的结果是什么意思
膨化食品、老化食品和生淀粉的a-化度差异的原
专家分析了我国目前水果业发展中存在的问题:
西安滑雪场开放时间是什么时候,四月份的时候
下列物质分别放入一密封的充满氧气的集气瓶里
工商银行信用卡最多能用多少时间
轩辕居在什么地方啊,我要过去处理事情
梦见狗被剥皮
关于建设项目职业健康安全和环境管理的特点,
塔林呼都格地址在什么地方,想过去办事
商丘睢阳区招商银行地址
有哪个老师知道3DMAXVR渲染器里面的全局开关
搬新家,身边没有老人 不懂规矩 可以什么都不
西瓜太郎文具店在哪里啊,我有事要去这个地方
推荐资讯
建森小吃在什么地方啊,我要过去处理事情
如意工业园区我想知道这个在什么地方
贷款车然后又抵押给别人,这车能卖吗?
梦兰床上用品怎么去啊,有知道地址的么
贷款材料已经提交到银行为什么查不到贷款进度
戴尔笔记本第一回做系统出现NO Boot device f
古洞沟这个地址在什么地方,我要处理点事
移动三连号多少钱
飞滑石入煎剂的用法是()A.冲服B.包煎C.另煎D.
关于对sorry的回答这里的情况是别人并没有防
耽美剧,错生,还会有第二部吗
趁你病要你命是成语吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?