类型转换与强制转换
来源:互联网 发布:手语软件下载 编辑:程序博客网 时间:2024/06/05 19:51
自动转换:举一个例子:把一个小的东西放到一个大的盒子里,是件非常容易的事,不用做任何改变,在这里理解成自动转换。若把一个大的东西放到一个小的盒子,那就要对这个东西做些舍弃,加工一下,强制把它放进小盒子里,可理解成强制类型转换。
byte->short->int->long->float->double
如果要把一个大类型塞到小类型中去,就要进行强制转换。
类型转换发生的时机:
1)赋值运算
2)算术运算
3)方法调用
自动类型转换举例(int类型自动转换成float类型):
强制类型转换举例(float类型强制转换成int类型):
注:char可以自动类型转换成int。
何为兼容:只有数字类型(包括整型和浮点)兼容,数字类型和CHAR或BOOLEAN是不兼容的。CHAR和BOOLEAN不兼容。
二、字符串与其它数据类型的转换
1)从Integer类对象中把数据以int类型取出方法有两个:类级别的“parseInt”、对象级别的“intValue”。intValue不需要任何参数,直接调用,前提必须有Integer类对象。
举例:String->int
2)和parseInt相反的是"toString"这个方法,这个方法是对象级别的,即将对象转换成字符串。当使"+"运算符将对象同一字符串连接,Java编译器会自动调用"toString"方法。
举例:int->String
另外一个类似方法,object.valueOf( ) 方法,它返回的是Integer对象。
举例:int->String
三、类与类之间的类型转换
类与类之间的转换只能用在父子类上,不能用在兄弟类,更不能用在根本不相关的两个类之间。子类转换成父类属于自动类型转换,父类转换成子类属强制类型转换。
再补充一个例子:
10
11
12
程序输出:
a + b = 30.0
这里说明在方法调用时发生自动类型转换。A中定义sum(double,double),我在B中调用sum(int,int)方法,但A中不存在此方法。所以Java将int型扩大到double型,然后调用sum(double,double) 。当然,如果A中定义了sum(int,int),当然会调用sum(int,int),而不会调用sum(double,double) 。
- 类型转换与强制转换
- java类型转换与强制类型转换
- 自动类型转换 与 强制类型转换
- java类型转换与强制类型转换
- 自动类型转换与强制类型转换
- 强制类型转换与instanceof
- const与强制类型转换
- 自动类型转换与强制转换
- 类型转换&&类型强制转换
- 类型转换&&类型强制转换
- 关于强制类型转换:强制类型转换
- java类型转换与强制类型转换的实现
- Java中的类型转换与强制类型转换的实现
- Java的强制类型转换与隐式类型转换
- java自动类型转换与强制类型转换
- 自动类型转换与强制类型转换(学习)
- 基本语法(22)自动类型转换与强制类型转换
- java Vector.toArray 与强制类型转换
- ubuntu 常用命令 常见问题 集
- ubuntu grub 手动进入系统
- ubuntu 虚拟XP chm文件用不了
- 页面部分显示与显隐控制
- 数据类型、变量、数组类
- 类型转换与强制转换
- Eclipse常见问题集锦
- ubuntu ARP 防御
- 详解 JAVA 创建对象 NEW
- JAVA 存储空间 寄存器 堆栈 堆…
- temp
- 设置ubuntu Android sdk JDK环境变量
- Ubuntu搭建Android环境,Ubuntu下An…
- ubuntu 配置JDK环境变量