不同类型数据之间的转换

不同数据之间的转换

数据之间的转化方式有两种情况:

  1. 隐式转换(自动类型转换,由JVM将在运算时完成数据类型的自动转换,高精度的接受低精度的值) int 可以直接接受byte类型的,在前一篇中有些到数据类型的精度排序 ,在进行运算时,京都不同,则通过隐式转换,转换为精度高的数据类型 例如:一个整型和一个双精度型相加,最后则是一个双精度型的答案哦? 对于精度排序,可点击这里查看?

  2. 显示转换 (由开发人员通过代码的方式手动完成转换操作)
    1.强制类型转换:转换时,如果值的精度超过了目标类型最大范围,会丢失精度(前提是转换的数据类型是同一个打雷的型,将精度高的赋值给精度低的过程) 高精度类型 B = (低精度类型)A;

    2.parse转换:用于将String类型的转换成其他基本数据类型

    3.toString转换:用于将其他基本数据类型转换为String类型

    装箱和拆箱只用在基本数据类型和String 类型的转换中

基本类型不具备任何的函数(方法),只存储值,如果需要对基本类型提供更多的方法,利用其包装类
查看包装类,☞ https://blog.csdn.net/dDirge/article/details/96718471

例题:

键盘接受一个单精度浮点类型,并将该类型进行装箱,转换成字符串类型
将上题中的字符串类型转换成双精度浮点包装类型,进行拆箱后再转换成整型

import java.util.Scanner;  //这里进行引入Scanner包,之后进行调用键盘
public class Exercise{
	public static void main(String[] args) {
	  Scanner sc = new Scanner(System.in);
	  System.out.println("请输出想输入的单精度浮点类型的数:");
	  //首先通过键盘键入一个单精度浮点类型
	  float num1 = sc.nextFloat();
	  //进行装箱 利用了float的包装类 Float
	  Float num2 = new Float(num1);       
	  //进行toString的转换,基本数据类型转化为String类型,
	  //也要利用基本类型的包装类
	  String num3 = Float.toString(num2);
	  System.out.println("输出转换好的字符串:"+num3);
	   
	   //字符串类型转换成双精度浮点包装类型
	     Double num4 = Double.parseDouble(num3);
	     //拆箱,使得double的值具有意义
	     double num5 = num4.doubleValue();
	     //得到的double型的数据转换为int型的数据是高精度王低精度赋值,
	     //则需要用强制手段,一般这种情况会丢失精度
	     int num6 = (int)num5;
	     System.out.println("输出拆箱后的整型"+num6);
	 }
}

附上昨晚自己的小错误,大家也要注意咯?

	int count1;
	int count2;
	int count3;
	count3 = count1+count2; 
	//意味着count3大于count1和count2中的任意一个值
	double a = count1/count3;
	double b = count2/count3;
	System.out.println("a的值为:"+a);
	System.out.println("b的值为:"+b);
        //这样计算下来答案都是0.0,因为count1 count2 count3都是整型,
        //除下来的结果也是整型,所以最后全为0了,再赋值给double型
        //最终成0.0   ?
        //所以正确的如下?
        double a = (double)count1/count3;
        double b = (double)count2/count3;

ヾ(•ω•`)o

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值