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知识, 可以 点我进入目录页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值