Java基础:Java 强制类型转换
来源:互联网 发布:mac pro 魔兽世界 编辑:程序博客网 时间:2024/05/29 19:01
Java类型转换包括基本数据类型的类型转换以及对象类型转换。
1、基本数据类型转换
java基本数据类型包括:boolean、char、byte、short、int、float、double。其中只有boolean类型无法与其他类型进行转换,其他的数据类型之间可以相互转换。对于byte、short、int、float、double从后向前需要强制类型转换,从前向后可以自动转换。char可以直接转换成int,其他除boolean之外的数据类型需要强制转换成char。 当从后向前进行强转时进行的操作是直接截断多余的字节,并不保证数据的正负号(移位<<、<<保证正负号,并且只存在无符号右移>>>、不存在无符号左移)。对于char、byte、截断之后的数据是补码表示。例如: int a=128; byte b=(byte)a; a=128; b=-128; b(补)=10000000(补)=-128.
2、对象类型转换
java中对象类型转换只存在与有继承关系的两个对象之间。子类可以直接赋值给父类,子类也可以赋值给其继承的接口类型的变量。但是父类在赋值给子类时并不一定成功。例如:
Son s=new Son();
Father f=s; //成功,子类直接赋值给父类引用
Son s2=(Son)f; //成功,因为f所指向的对象在内存结构上本来就是Son类型
Father f2=new Father();
Son s3=(Son) f2; //编译可以通过,但是运行时出现ClassCastException错误。
java在进行类型转换时,编译器只是检查两个类型是否存在继承关系,而为了确保安全,java还有运行时类型检查机制。
阅读全文
0 0
- Java基础:Java 强制类型转换
- Java语言基础(类型提升&强制转换)
- J2SE基础-java中的强制类型转换
- java强制类型转换
- JAVA强制类型转换
- Java 强制类型转换
- java强制类型转换
- java强制类型转换
- JAVA强制类型转换
- Java强制类型转换
- java类型强制转换
- JAVA强制类型转换
- java强制类型转换
- java-----强制类型转换
- Java强制类型转换
- Java 强制类型转换
- java强制类型转换
- java-----强制类型转换
- LeetCode 13. Roman to Integer
- I
- 【005】Java语言(JDK长的命令行工具)
- Anaconda Navigator:could not find or load the QT platform plugin "window in"
- List 接口常用子类及其特点
- Java基础:Java 强制类型转换
- PAT (Basic Level) Practise (中文) 1047. 编程团体赛(20)
- 高德地图Web服务API简介
- 用Java语言编写程序:输出100以内的素数
- HDU 1106字符串处理
- ES6的Set数据结构
- LintCode 电话号码的字母组合
- Ubuntu下安装mySql以及WorkBench
- bzoj1212: [HNOI2004]L语言