黑马程序员_基本数据类型转换之向上转型和向下转换
2015-01-12 16:02
344 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
-------
Java 语言是一种强类型的语言。强类型的语言有以下几个要求:
变量或常量必须有类型:要求声明变量或常量时必须声明类型,而且只能在声明以后才能使用。
赋值时类型必须一致:值的类型必须和变量或常量的类型完全一致。
运算时类型必须一致:参与运算的数据类型必须一致才能运算。
但是在实际的使用中,经常需要在不同类型的值之间进行操作,这就需要一种新的语法来适应这种需要,这个语法就是数据类型转换。
在数值处理这部分,计算机和现实的逻辑不太一样,对于现实来说,1和 1.0 没有什么区别,
但是对于计算机来说,1 是整数类型,而 1.0 是小数类型,其在内存中的存储方式以及占用的空间都不一样,所以类型转换在计算机内部是必须的。
Java 语言中的数据类型转换有两种:
自动类型转换:编译器自动完成类型转换,不需要在程序中编写代码。
强制类型转换:强制编译器进行类型转换,必须在程序中编写代码。
由于基本数据类型中 boolean 类型不是数字型,所以基本数据类型的转换是出了 boolean 类型以外的其它 7 种类型之间的转换。下面来具体介绍两种类型转换的规则、适用场合以及使用时需要注意的问题。
1、向上转换:
整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
容量小的类型可自动转换为容量大的数据类型;
byte,short,char → int → long → float → double
byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。
boolean 类型是不可以转换为其他基本数据类型。
Eg:
int i = 123;
long l = i; //自动转换,不需强转
float f = 3.14F;
double d = f;
2、向下转换:
整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
容量小的类型可自动转换为容量大的数据类型;
byte,short,char → int → long → float → double
byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。
boolean 类型是不可以转换为其他基本数据类型。
Eg:
long l = 123L;
int i = (int) l;//必须强转
double d = 3.14;
float f = (float) d;
我的总结:类型转化
小转大,自动!自动类型转换(也叫隐式类型转换)
大转小,强转!强制类型转换(也叫显式类
相关文章推荐
- 黑马程序员-Java 类型转换与向上、向下转型
- 黑马程序员——Java基本数据类型及其相互转换
- 对象类型的转换(向上转型和向下转型)
- 继承中类型转换的两种方式(向上转型、向下转型)
- java学习之旅10--基本数据类型自动转换_强制转型_类型提升问题
- java基础:对象的向上转型/向下转型; 基本类型的 向上转型/向下转型实例(窄化)
- 黑马程序员—基本数据类型转换
- 黑马程序员J_ava学习笔记_Java中的基本数据类型转换详解
- 黑马程序员-JAVA学习笔记-基本数据类型及其转换
- 10_基本数据类型自动转换_强制转型_类型提升问题
- 黑马程序员--06.基本数据类型包装类--【强制类型转换】【强转VS专用方法转换】【个人总结】
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- java基本数据类型之间的转换
- js基本数据类型转换
- Java中的移位操作以及基本数据类型转换成字节数组【收集】
- Java 基本数据类型转换
- 关于java 基本数据类型之间的转换
- 基本数据类型间的转换 (转)
- 【ZZ】COleVariant与常用基本数据类型之间的转换
- 将一个基本数据类型转换为另一个基本数据类型。