我是靠谱客的博主 温柔期待,最近开发中收集的这篇文章主要介绍JAVA基本类型的类型转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本页面更新日期: 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基本类型的类型转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部