栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据类型与类型转换

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据类型与类型转换

文章目录
  • 一.数据类型
  • 二.类型转换
      • 1.不同类型转换
        • ①自动类型转换
        • ②强制类型转换
        • ③类型提升
      • 2.字符串型数据与整型数据相互转换
        • ①字符串转换为数值数据
        • ②数值类型转换为字符串

一.数据类型

数据类型分类:

注:①.8bit为一个字节,例如整型的范围计算方法:整型为4字节,也就是32bit,其中一个是符号位(表±),其余31bit可以用来表数值位 ,由于可以有0和1两个数表示,即表示范围为2³¹~-2³¹,因为其中包括0,所以正数的范围为2³¹-1,最终为-2³¹~2³¹-1。其它数据类型范围的计算过程如上。
②.引用数据类型暂不做介绍。

二.类型转换 1.不同类型转换 ①自动类型转换

java语言会在下列条件同时成立的时,自动进行数据类型转换:

ⅰ转换前的数据类型与转换后的类型兼容。
ⅱ转换后数据类型的表示范围比转换前数据类型的表示范围大。`

条件ⅱ说明不同类型的数据进行运算时,需先转换为同一类型,然后进行运算。转换从“短”到“长”的优先关系为:


若是想将int类型的变量a转换为float类型,由于int与float皆为整数类型,符合上述条件ⅰ,而float的表示范围比int大,也符合条件ⅱ,因此Java语言会自动将原为int类型的变量a转换为float类型。
代码如下:

 int a=10;
 float b=a;//a的范围小,编译器会自动提升为float,然后赋值

输出 b=10.0

注:

由于boolean类型只能存放true或false,与整数及字符不兼容,因此不可能做类型的转换

②强制类型转换

如果要将较长的数据转换成较短的数据时,就要进行强制类型转换。
格式如下

(欲转换的数据类型)变量名

int a= 3;
double d = 5.12; 
d = a; // int-->double,数据范围由小到大,隐式转换 
a= (int)d; // double-->int, 数据范围由大到小,需要强转,否则编译失败
③类型提升

ⅰ. 当不同数据类型计算时,范围小会被提升到范围大的,在进行计算。
举个例子:int和duoble

int a=10;
double b=15.0;
double c=a+b // 编译成功:a + b==>int + long--->long + long 赋值给long

输出 25.0

ⅱ. short或byte的运算

byte a=10;
byte b=10;
byte c=a+b;
System.out.println(c);//编译出错

原因如下:

在一个表达式中若有整数类型为short或byte的数据参加运算,为了避免溢出,Java会将表达式中的short或byte类型的数据自动转换成int类型,这样就可以保证其运算结果的正确性,这也是Java语言所提供的“扩大转换”功能。

2.字符串型数据与整型数据相互转换 ①字符串转换为数值数据

方法:

例如:

String a="123.567"
float b=Float.parseFloat(a);//将字符串型变量a的值转换成浮点型数据后,赋给变量b
②数值类型转换为字符串

在Java语言中,字符串可用加号“+”来实现连接操作。
例如:

int num = 10; 
String str1 = num + ""; 

注:任何数据类型和字符串拼接的结果是字符串

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1026947.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号