Java如何完成数据类型转换
在写程序的时候经常遇到数据的运算,在数据运算中又经常遇到不同类型的数据之间进行转换,Java 如何完成数据类型转换?下面就一起来了解看看吧!
Java数据类型转换分为两种:
1、自动类型提升;
2、强制类型转换;
先来说说第一种,自动类型提升。
发生条件:
两种不同的基本数据类型之间进行算术运算,一个操作数的数据类型会自行提升到与另操作数的`数据类型;
比如:a + b;
a是double型,b是int型,那么上面的表达式结果是一个什么类型呢?
先来看看不同数据类型计算自动提升的规则:
如果a或者b有一个为double,则另一个也转换为double,如果不满足则进行如下判断;
如果a或者b有一个为float,则另一个也转换为float,如果不满足则进行如下判断;
如果a或者b有一个为long,则另一个也转换为long;
如果以上都不满足则a和b都转换为int进行计算;
进行转换的规则如下:
因为不同数据类型所占用的位数不同,所以在进行数据类型的转换时可能会有数据丢失,上图中实线表示无数据丢失,虚线为有数据丢失。
第二种、强制类型转换;
自动类型提升是一种数据类型自动变为另一种数据类型,强制类型转换则是人为的用进行数据类型改变。
强制类型转换的语法格式是:
type2 变量2 =(type1)变量1;
上面的小括号就是强制类型转换。
例如:
double a = 123.456;
int b = (int)a;
a的值为123,强制类型转换是把小数部分抹去,把整数部分赋值给目标变量。
注意:在进行数据类型强制转换的时候,如果目标数据类型无法容纳转换后的值那么就会出错。比如:(byte)300,结果绝对不是你想要的,所以要避免这种强制类型转换。
-
2017计算机二级考试Java练习题及答案
以下是应届毕业生考试网小编整理的2017年计算机二级考试Java练习题及答案,供考生参考。更多计算机等级考试相关信息请关注应届毕业生计算机等级考试网。1[单选题]下列方法被调用后,一定使调用线程改变当前状态的是()。fy()d()p()ive()参考答案:C参考解析:线程调用s...
-
21个java基本知识点
本文主要是一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。1.JVM相关(包括了各个版本的特性)对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很...
-
Java基础语法面试题
引导语:Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术,以下是小编整理的Java基础语法面试题,欢迎参考阅读!shorts1=1;s1=s1+1;有什么错?对于shorts1=1;s1=s1+1;由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类...
-
java语言的接口与继承
Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法,而不是严格地用过程来思考。下面是小编分享的java语言的接口与继承,一起来看一下吧。大多数人认为,接口的意义在于顶替多重继承。众所周知Java没有c++那样多重继承的机制,但是却...