好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java基本数据类型之间的相互转换详解

今天主要学习的是Java基本数据类型之间的转换以及String类型与基本数据类型之间的转换

1.自动类型转换

1.定义

Java程序在进行赋值或运算时,自动将精度小的转换成精度大的。

2.数据类型按精度大小排序

char —> int —> long —> float —> double

byte —> short —> int —> long —> float —> double

3.使用细节

当有多种数据混合运算时,系统首先自动将所有数据转换成容量最大的数据类型,再进行计算。 当把精度大到数据类型赋给精度小的会报错。注意在进行数值赋值时,先判断是否在该小精度数据类型范围内,如果是就可以,如果是进行变量赋值,就不行。 byte,short和char之间不能相互自动转换。 byte,short和char三者可以计算,计算时转换成为int类型。 boolean类型不参与转换。 自动提升原则:表达式结果的类型自动转换成操作数中最大的类型。

2.强制类型转换

1.定义

自动类型转换的逆过程,将容量大的数据类型装换成容量小的数据类型。使用时要加上强制转换符,但可能造成精度降低或溢出。

2.使用细节

强制类型转换只对最近的操作数有效,往往会使用小括号提升优先级。

char类型可以保存int的常量值,但不能保存int的变量值,需要强转。

?

1

2

3

4

5

6

public class ForceTest{

     public static void main(String []args){

       int x = ( int )( 10 * 3.5 + 6 * 1.5 ); //正确

       int y = ( int ) 10 * 3.5 + 6 * 1.5 ; //报错

     }

}

3.基本数据类型与String类型的转换

1.基本数据类型转String类型

将本类型的值 + [] 即可。

?

1

int n1 = 100 ; String str1 = n1 + "" ;

2.String类型转基本数据类型

通过基本数据类型的包装类调用parseXX函数即可,但要确保String类型能够转换成有效的数据,比如可以将"123"转换,但不能将"hello"转换成一个整数,如果格式不对,就会抛出异常,终止程序。

?

1

2

3

4

5

6

7

8

9

10

11

String Str1 = "345" ;

Integer.parseInt( "123" );

Double.parseDouble( "123.5" );

Float.parseFloat( "123.3" );

Short.parseShort( "123" );

Boolean.parseBoolean( "true" );

Long.parseLong( "123456" );

Byte.parseByte( "12" );

//将字符串转换成字符型需要调用charAt(int a)函数

Str1.charAt(a);

//表示字符串中第a+1个字符 Str1.charAt(0)='3';

到此这篇关于Java基本数据类型之间的相互转换详解的文章就介绍到这了,更多相关Java数据类型转换内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://blog.csdn.net/m0_54024106/article/details/124182828

查看更多关于Java基本数据类型之间的相互转换详解的详细内容...

  阅读:12次