我是靠谱客的博主 温柔期待,这篇文章主要介绍JAVA基本类型的类型转换,现在分享给大家,希望可以做个参考。

本页面更新日期: 2016年06月06日

基本类型的类型转换

在JAVA程序中, 不同的基本类型的值 经常需要进行相互转换, 以满足项目的需求.
JAVA语言所提供的 7种数值类型 之间可以相互转换, 有两种类型转换方式:

  • 自动类型转换
  • 强制类型转换

自动类型转换

把一个 取值范围小 的数值或变量 直接赋值给 一个取值范围大的变量时, 系统将会进行自动类型转换; 否则就需要强制类型转换.

就如同两瓶水, 当把小瓶里的水倒入大瓶中时, 不会有任何问题.
如下图所示:

这里写图片描述

然后我们用代码试试 自动类型转换.

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
public class AutoConversion { public static void main(String[] args) { int i = 6; //根据图例, int 类型可以自动转换为 float 类型 float f = i; //然后输出看看结果 System.out.println(f); } }

运行结果我不剧透, 你自己运行看看.

不仅如此, 还可以把基本类型的值 和 字符串 进行连接运算. 那样的话, 基本类型的值 将 自动转换为 字符串类型.
虽然字符串类型不是基本类型, 而是 引用类型.
+ 号 不仅可作为 加法运算符 使用, 还可以作为 字符串连接运算符使用.
让我们用代码试试.

复制代码
1
2
3
4
5
6
7
8
9
10
11
public class PrimitiveAndString { public static void main(String[] args) { //一个基本类型的值 和 字符串 进行连接运算时, 基本类型的值 自动转换为 字符串. String str = 3.5F + "我是字符串呦"; //输出看看 System.out.println(str); } }

强制类型转换

如果希望把之前你看到的 自动类型转换图的顺序 倒过来. 右边的转换为左边的类型.
则必需进行 强制类型转换.
强制类型转换的语法格式为: (targetType)value
强制类型转换类似于把一个大瓶子里的水 倒入 一个小瓶子里, 如果大瓶子里的水不多还好, 但如果大瓶子里的水很多, 将会溢出.
在程序中就会造成 数据丢失.
我们用代码试试.

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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基本类型内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部