Java中数据类型及其之间的转换

Java中数据类型及其之间的转换

基本的数据类型

基本类型有以下四种:

1)int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、

2)float长度数据类型有:单精度(32bits float)、双精度(64bits double),JAVA中将小数默认为double类型,若要定义float需在数据后面用f声明;

3)boolean类型变量的取值有:ture、false

4)char数据类型有:unicode字符,16位

对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long

基本的数据类型由低级到高级分别为:(byte、short、char)——int——long——float——double

PS:此处的“级别”是指表示值的范围的大小。

数据类型之间的转转换

分为以下几种情况:

1)低级到高级的自动类型转换;

2)高级到低级的强制类型转换(会导致溢出或丢失精度);

3)基本类型向类类型转换;

4)基本类型向字符串的转换;

5)类类型向字符串转换

基本数据类型之间的转换规则

1.在一个双操作数以及位运算等算术运算式中,会根据操作数的类型将低级的数据类型自动转换为高级的数据类型,分为以下几种情况:

1)只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型;

2)只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型;

3)只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型;

4)两个操作数(包括byte、short、int、char)都将会被转换成int类型,并且结果也是int类型。

2. 如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,再做其它类型的自动转换。

3. 对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。 如:

short i=99 ;

char c=(char)i;

System.out.println("output:"+c);

4. 不能在布尔值和任何数字类型间强制类型转换;

5. 不同级别数据类型间的强制转换,可能会导致溢出或精度的下降。

6. 当字节类型变量参与运算,java作自动数据运算类型的提升,将其转换为int类型。例如:byte b;

b=3;

b=(byte)(b*3);//必须声明byte。

包装数据类型与基本数据类型之间的转换

简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)

而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。

1.字符串与其它类型间的转换

⑴其它类型向字符串的转换

①调用类的串转换方法:X.toString();

②自动转换:X+“”;

③使用String的方法:String.volueOf(X);

⑵字符串作为值,向其它类型的转换

①先转换成相应的封装器实例,再调用对应的方法转换成其它类型

例如,字符中“32.1”转换double型的值的格式为:new Float(“32.1”).doubleValue()。也可以用:Double.valueOf(“32.1”).doubleValue()

②静态parseXXX方法

String s = "1";

byte b = Byte.parseByte( s );

short t = Short.parseShort( s );

int i = Integer.parseInt( s );

long l = Long.parseLong( s );

Float f = Float.parseFloat( s );

Double d = Double.parseDouble( s );

③Character的getNumericValue(char ch)方法

具体可查阅api。

转换实例

1)基本类型向类类型转换

正向转换:通过类包装器来new出一个新的类类型的变量

Integer a= new Integer(2);

反向转换:通过类包装器来转换

int b=a.intValue();

通过类包装器——>基本数据类型

eg1:int i=Integer.parseInt(“123”)

说明:此方法只能适用于字符串转化成整型变量

eg2: float f=Float.valueOf(“123”).floatValue()

说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。

eg3: boolean b=Boolean.valueOf(“123”).booleanValue()

说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。

eg4:double d=Double.valueOf(“123”).doubleValue()

说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。

eg5: long l=Long.valueOf(“123”).longValue()

说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。

eg6: char=Character.valueOf(“123”).charValue()

说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。

2)基本类型向字符串的转换

正向转换:

如下:

System.out.println(""+2+3);// “""”把2转成字符串操作;

System.out.println(2+3);   // 不存在转换。

System.out.println(2+3+"");// 前两个数值相加后,被“""”转成字符串。

System.out.println(2+""+3);// 同第一个。

输出显示为:23,5,5,23

3)类类型向字符串转换

正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可

反向转换:通过类包装器new出一个新的类类型的变量

eg1: int i=Integer.valueOf(“123”).intValue()

说明:上例是将一个字符串转化成一个Integer对象,然后再调用这个对象的intValue()方法返回其对应的int数值。

eg2: float f=Float.valueOf(“123”).floatValue()

说明:上例是将一个字符串转化成一个Float对象,然后再调用这个对象的floatValue()方法返回其对应的float数值。

eg3: boolean b=Boolean.valueOf(“123”).booleanValue()

说明:上例是将一个字符串转化成一个Boolean对象,然后再调用这个对象的booleanValue()方法返回其对应的boolean数值。

eg4:double d=Double.valueOf(“123”).doubleValue()

说明:上例是将一个字符串转化成一个Double对象,然后再调用这个对象的doubleValue()方法返回其对应的double数值。

eg5: long l=Long.valueOf(“123”).longValue()

说明:上例是将一个字符串转化成一个Long对象,然后再调用这个对象的longValue()方法返回其对应的long数值。

eg6: char=Character.valueOf(“123”).charValue()

说明:上例是将一个字符串转化成一个Character对象,然后再调用这个对象的charValue()方法返回其对应的char数值。

java int 64 转换_Java中数据类型及其之间的转换相关推荐

  1. java类型之间的转换_JAVA基本数据类型及之间的转换

    一.数据类型 1.布尔型(boolean) :true/false,不可以以0或非0的数字代替:不能进行数据之间的转换. 2.整数类型 ** 整型默认为int型,而long类型表示的范围要超出int表 ...

  2. java中日期格式的转换_java中定义日期格式的转换符

    Hi,大家好久不见,今天我们在这里给大家介绍一下关于Java的小知识,在Java中定义日期格式的转换符,至于运用呢就不和大家做介绍了:接下来就给大家详细介绍一下如何实现. 那我们该如何创建使用呢?首先 ...

  3. java 不同包 调用_java中不同包之间的调用

    <java中不同包之间的调用>由会员分享,可在线阅读,更多相关<java中不同包之间的调用(4页珍藏版)>请在金锄头文库上搜索. 1.建立两个类 PackageA.Packag ...

  4. java int byte数组_Java 中int与byte数组转换详解

    1.与运算符的理解(&): 参加运算的两个数据,按二进位进行"与"运算.如果两个相应的二进位都为1,则该位的结果值为1,否则为0.即 0&0=0:0&1=0 ...

  5. java int位运算_java中int的表示方法,位运算的解析

    随着时代的不断发展,越来越多的人开始投入到java的学习当中来.今天就来为大家介绍java中int的表示方法以及位运算的内容有哪些一起来看看吧. 首先我们需要知道的是,在java中,int是使用32位 ...

  6. java int integer内存_java中一个integer对象的内存占用是多少?可以通过java方法输出吗?...

    今天翻记录看到了自己15年3月份提的问题,现在已经18年6月份了: 去年线上项目出现内存瓶颈,原因是缓存的玩家角色数据过多,在长时间不停服的情况下,导致数据越来越膨胀,之前没有清除无用缓存的机制,并且 ...

  7. java int 大小吗_java中int和Integer比较大小

    Integer是int的封装对象,两个对象==比较的是栈的值 Integer a = new Integer(1); Integer b = new Integer(1); a与b存的是Integer ...

  8. 计算机不同进制数之间的转换,计算机进制数之间的转换002

    不错 除以16取余和倍数 如: (120)10 120/16 =8 ...8(余8) 8(余数8)/16=0 (8) (120)10 =(88)16 回答人的补充 2009-08-14 09:42 计 ...

  9. java中的进制输出转换_java中进制的转换,Byte与16进制的转换

    java中对于进制的转换有很多方式,其中对于常见的基本的二进制 八进制 十进制 十六进制等的转换有对于的包装类实现,不需要通过二外的算法来进行实现,具体如下: 首先关于最简单的二进制转换的方法有: 十 ...

最新文章

  1. python画散点图类型-Pandas / Pyplot中的散点图:如何按类别绘制
  2. 【数字信号处理】离散时间系统稳定性 ( 稳定性概念 | 稳定性用法 )
  3. 一文读懂 Spring的前世今生
  4. pytest测试框架(一)---安装及入门
  5. Pure Pursuit纯跟踪算法的Matlab算法实现
  6. 下载卫星影像数据流程
  7. 箱线图Boxplot-统计学解读
  8. Installation failed due to: ‘Failed to commit install session 2076767024 wit
  9. ie浏览器调用本地文件无反应_ie上传附件没有反应怎么办_解决ie浏览器上传附件没有反应的方法...
  10. android仿最新版本微信相册--附源码
  11. Android Studio设计APP实现与51单片机通过WIFI模块(ESP8266-01S)通讯控制LED灯亮灭的设计源码【详解】
  12. c语言中保存字符串实质上是,在C语言中,保存字符串“B”实质上是保存字符B和\0两个符号。...
  13. hdu 2086 A1 = ?(递推)
  14. 谈悲观、执著、超脱——周国平
  15. 如何通过云终端,让一台电脑能多台使用?
  16. regsvr32 命令注册COM组件报错模块已加载,但是对DLL的调用失败,错误代码0x80004005
  17. linux系统下运行mysql占多大内存_linux 下mysql内存占用过高
  18. 2021年起重机司机(限门式起重机)考试及起重机司机(限门式起重机)找解析
  19. Windows安装You-get详细教程和问题解决分享
  20. 网络模式详解 以及 docker的网络模式

热门文章

  1. 笔记实践 | 基于LSTM实现谣言检测 |初识长短记忆神经网络
  2. 算法笔记_图算法专题_关键路径 AOV网和AOE网
  3. Flutter 二维码扫描插件
  4. UI设计师需要什么样的美术能力?
  5. 智慧城市渔友云智能水产养殖系统
  6. SMPTE ST 2110 概论(一)
  7. SystemUI 下拉通知栏快捷键加载流程
  8. 指南|松下PLC与研控E总线驱动器连接步骤及注意事项
  9. 机器学习基础 | 监督学习与无监督学习的快速入门指南
  10. Polyworks脚本开发学习笔记(十二)-输出和读取文本文件