java——基本数据类型转换

一、自动类型转换

精度小的类型自动转换为精度大的数据类型

1、自动类型转换规则

byte[1]-->short[2]-->int[4]-->long[8]-->float[4]-->double[8]

char[2]-->int[4]-->long[8]-->float[4]-->double[8]

boolean

注释:数据类型[字节大小]

注意:

1.Java的整型常量(具体值)默认为int型,声明long型常量,须后加'T'’或‘L’(可以不加)

2.Java的浮点型常量(具体值)默认为double型,声明float型常量,必须后加'f'或'F'(必须加)

float x = 1.1;//错误
//因为double不能自动转换为float
float x = 1.1f;//正确

2、自动类型转换注意事项和细节

1.有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。

2.当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时,就会报错,反之就会进行自动类型转换。

3.(byte,char)、(short,char)之间不会相互自动转换。

4.byte,short,char 他们三者可以计算,在计算时首先转换为int类型。

5.boolean 不参与转换

6.自动提升原则:表达式结果的类型自动提升为操作数中最大的类型


二、强制类型转换

将容量大的数据类型转换为容量小的数据类型

1、强制类型转换规则

使用时要加上强制转换符 ( ),但可能造成精度降低或溢出,格外要注意。

double d = 3.6;
int n = (int)d;

2、强制类型转换细节说明

1.当进行数据的大小从“大-->小”,就需要使用到强制转换

2.强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级

int d = (int)1.1 +1.1;//错误
int d = (int)(1.1 +1.1);//正确

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

int m = 3;
char c2 = m;//错误
char c1 = 3;//正确

4.byte和short,char 类型在进行运算时,当做int类型处理。


三、基本数据类型和String类型的转换

1、基本类型转String类型

将基本类型的值+””即可

String s = new String(123 + "");

2、String类型转基本数据类(相应包装类)

通过基本类型的包装类调用parseXX方法即可

注:包装类相关知识见链接java——包装类及其常用方法;equals和==的区别-CSDN博客

Byte.parseByte("12", 10);
Short.parseShort("12", 10);
Integer.parseInt("123", 10);
Long.parseLong("12345", 10);
Float.parseFloat("123.45");
Double.parseDouble("123.1");
Boolean.parseBoolean("ture");
int m = Integer.parseInt("123",10);
System.out.println(m);//123

备注:

以上若有明显错误的地方,可以私信我哦,谢谢~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值