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

 更新时间:2022年05月10日 14:59:30   作者:小学生!!  
这篇文章主要讲解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的变量值,需要强转。

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类型

将本类型的值 + “” 即可。

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

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

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

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数据类型转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • idea中如何集成http请求

    idea中如何集成http请求

    这篇文章主要介绍了idea中如何集成http请求问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • idea pom导入net.sf.json的jar包失败的解决方案

    idea pom导入net.sf.json的jar包失败的解决方案

    JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式,这篇文章主要介绍了idea pom导入net.sf.json的jar包失败的解决方案,感兴趣的朋友一起看看吧
    2023-11-11
  • Springquartz的配置方式详解

    Springquartz的配置方式详解

    本文介绍了在Spring框架中使用Quartz进行任务调度的三种方式:使用@Scheduled注解、XML配置和Java配置,每种方式都有其特点和适用场景,感兴趣的朋友一起看看吧
    2025-01-01
  • JavaWeb框架MVC设计思想详解

    JavaWeb框架MVC设计思想详解

    这篇文章主要介绍了JavaWeb框架MVC设计思想详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • java实现插入排序算法

    java实现插入排序算法

    插入排序算法是一个对少量元素进行排序的有效算法。插入排序的工作原理与打牌时整理手中的牌的做法类似,开始摸牌时,我们的左手是空的,接着一次从桌上摸起一张牌,并将它插入到左手的正确位置。
    2015-04-04
  • java 如何把byte转化为KB、MB、GB的方法

    java 如何把byte转化为KB、MB、GB的方法

    这篇文章主要介绍了java 如何把byte转化为KB、MB、GB的方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 类似微信说话功能的录音处理代码分享

    类似微信说话功能的录音处理代码分享

    这篇文章主要介绍了类似微信中说话功能的录音处理代码,需要大家自己加UI界面,大家参考使用吧
    2014-01-01
  • spring boot基于注解的声明式事务配置详解

    spring boot基于注解的声明式事务配置详解

    这篇文章主要介绍了spring boot基于注解的声明式事务配置详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Mybatis-Plus使用ID_WORKER生成主键id重复的解决方法

    Mybatis-Plus使用ID_WORKER生成主键id重复的解决方法

    本文主要介绍了Mybatis-Plus使用ID_WORKER生成主键id重复的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 如何解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题

    如何解决java.lang.ClassNotFoundException: com.mysql.jdbc.Dr

    这篇文章主要介绍了如何解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论