概述
本页面更新日期: 2016年06月06日
基本类型的类型转换
在JAVA程序中, 不同的基本类型的值 经常需要进行相互转换, 以满足项目的需求.
JAVA语言所提供的 7种数值类型 之间可以相互转换, 有两种类型转换方式:
- 自动类型转换
- 强制类型转换
自动类型转换
把一个 取值范围小 的数值或变量 直接赋值给 一个取值范围大的变量时, 系统将会进行自动类型转换; 否则就需要强制类型转换.
就如同两瓶水, 当把小瓶里的水倒入大瓶中时, 不会有任何问题.
如下图所示:
然后我们用代码试试 自动类型转换.
public class AutoConversion
{
public static void main(String[] args)
{
int i = 6;
//根据图例, int 类型可以自动转换为 float 类型
float f = i;
//然后输出看看结果
System.out.println(f);
}
}
运行结果我不剧透, 你自己运行看看.
不仅如此, 还可以把基本类型的值 和 字符串 进行连接运算. 那样的话, 基本类型的值 将 自动转换为 字符串类型.
虽然字符串类型不是基本类型, 而是 引用类型.
+ 号 不仅可作为 加法运算符 使用, 还可以作为 字符串连接运算符使用.
让我们用代码试试.
public class PrimitiveAndString
{
public static void main(String[] args)
{
//一个基本类型的值 和 字符串 进行连接运算时, 基本类型的值 自动转换为 字符串.
String str = 3.5F + "我是字符串呦";
//输出看看
System.out.println(str);
}
}
强制类型转换
如果希望把之前你看到的 自动类型转换图的顺序 倒过来. 右边的转换为左边的类型.
则必需进行 强制类型转换.
强制类型转换的语法格式为: (targetType)value
强制类型转换类似于把一个大瓶子里的水 倒入 一个小瓶子里, 如果大瓶子里的水不多还好, 但如果大瓶子里的水很多, 将会溢出.
在程序中就会造成 数据丢失.
我们用代码试试.
public class NarrowConversion
{
public static void main(String[] args)
{
int iValue = 233;
//强制把一个 int类型的值 转换为 byte类型的值
byte bValue = (byte)iValue;
//输出看看
System.out.println(bValue);
double dValue = 3.98;
//强制把一个 double 类型的值转换为 int 类型的值
int tol = (int)dValue;
//输出看看
System.out.println(tol);
}
}
第一个例子中, 得到了一个负数, 是不是很奇怪? 怎么来的我们暂时不需要知道, 反正肯定不对!
第二个例子中, 损失了浮点数的小数部分.结论, 强制类型转换很容易造成数据丢失, 使用时一定要小心.
结尾
如果你想学习更多JAVA知识, 可以 点我进入目录页
最后
以上就是温柔期待为你收集整理的JAVA基本类型的类型转换的全部内容,希望文章能够帮你解决JAVA基本类型的类型转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复