我是靠谱客的博主 尊敬大神,最近开发中收集的这篇文章主要介绍java中基础数据转换_Java基本类型数据间的转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

不同的基本类型直接可以相互转换:

1、自动类型转换(隐式类型转换):从小类型到大类型可以自动完成。类型大小关系如下图:

byte--short--int(char)--long--float--double

2、强制转换:从大类型到小类型需要强制转换符:

(需要转换成的类型)变量,但这样转换有可能会造成精度损失或者溢出。

自动转换示例:

int a = 100;

int b = 200;

long c = a + b; //自动将int转换为long

强制转换示例:

long l1 = 1024L;

int i = (int)l1; //需要加强制转换符,由于1024在int范围内没有产生溢出

long l = 1024L * 1024 * 1024 * 4;

int j = (int)l; //会产生溢出

System.out.println(j); //结果为:0

double pi = 3.1415926535897932384;

float f = (float) pi; //会造成精度损失

System.out.println(f); //结果为:3.1415927

数值运算时的自动转换

1、多种基本类型参与的表达式运算中,运算结果会自动的向较大的类型装换:

// 由于有long型的直接参与,整个表达式结果为long

long distance = 1000 * 365 *24 *299792458L;

//由于有double型的直接量599.0参与,整个表达式结果为 double

double change = 800 - 599.0;

double persent1 = 80/100;

//结果为0.0,右边都是int整型运算,结果也为int类型,结果为0,再赋值给double型,将0转换为0.0

double persent2 = 80.0/100;

//结果为0.8,右边表达式有double型直接量参与,运算结果为double型。

两点规则:

1、整数直接量可以直接赋值给byte,short,char,但不能超出范围

2、byte, short, char型数据参与运算时,先一律转换为int再运算

System.out.println('2' + '2');

//100,'2'的码50,加上'2'的50,结果为:100

//char类型'2'在参与运算时先转成int类型,再输出结果

标签:转换,运算,int,double,long,类型,Java

来源: https://www.cnblogs.com/javastudychen/p/14365175.html

最后

以上就是尊敬大神为你收集整理的java中基础数据转换_Java基本类型数据间的转换的全部内容,希望文章能够帮你解决java中基础数据转换_Java基本类型数据间的转换所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部