Java 赋值语句 类型转换
来源:互联网 发布:无产阶级 知乎 编辑:程序博客网 时间:2024/05/18 00:07
赋值语句的语法形式是: <变量> = <表达式>;
赋值语句中,等号(称作赋值号)是赋值语句的标识,<表达式>可以是一个常量,或另一个已赋过值的变量,或是由运算符组成的一个表达式。是把一个常量或另一个已赋过值的变量中的数值赋给另一个变量。当一个变量被用赋值语句重新赋值时,该变量原先的赋值就被冲掉了,即该变量原先的赋值就没有了。
Java语言是一种强类型语言,所谓强类型语言是指数据类型的匹配要求十分严格。如果一个表达式的数据类型不一致等问题出现,则编译器给出类型不一致的出错信息。关于赋值语句的类型匹配有以下两种情况:
- 类型相同。
类型相同是指赋值号左端的数据类型和赋值号右端的数据类型完全一致。此种情况可以正确赋值。例如:
int smallValue =100; //类型相同long bigValue = 100L; //类型相同
- 类型兼容。
类型兼容是指赋值号左端的数据类型比赋值号右端的数据类型长。此时系统会自动将赋值号右端的数据类型转化成和赋值号左端一样的数据类型。这里所说的数据类型长,是指数据类型的位数长,如long类型就比int类型的位数长。例如:
long bigval = 100; //100是int类型,将自动转化为100Ldouble x = 12.345F; //12.345F是float类型,将自动转化为12.345
- 类型不兼容。
若赋值号右端的数据类型比赋值号左端的数据类型长则类型不兼容。此时系统在编译时会产生“可能存在精度损失”的编译错误。例如:
int smallValuel = 100L; // 100L 是long类型,不兼容float x = 12.345; //12.345是double类型,不兼容
例子:
Double D = 3; // errorDouble D1 = 3.0f; // errorDouble D2 = 3.0; // okdouble d = 3; // okdouble d1 = 3.0f; // okdouble d2 = 5.3e2; // okfloat f = 11.1; // errorfloat f1 = 11.1f; // okfloat f2 = 11; // okint i = 0.0; // errorint i1 = 0.0f; // errorint i2 = 0; // ok
当出现类型不兼容错误时,有两种解决方法:
1. 重新定义赋值号左端变量的数据类型,使之变成满足要求的较长的数据类型。
2. 用强制类型转换方法把赋值号右端的数据类型转换成和赋值号左端相同的数据类型。但要注意,强制类型转换可能丢失数据或损失数据的精度。
3. 强制类型转换的格式为: (<目标类型>)<表达式>
int i;long k = 100L;i = (int) k; //把变量k中的数值强制转换成int类型后赋给变量i。
转自:http://blog.csdn.net/qq_33609401/article/details/54586544
阅读全文
0 0
- Java 赋值语句 类型转换
- 赋值语句中类型转换
- Java赋值、运算符与类型转换
- [Swift] 输出语句 简单赋值 转换类型 数组 字典
- 赋值中的类型转换
- 赋值中的类型转换
- 赋值中的类型转换
- 赋值中的类型转换
- 赋值类型转换
- 关于JAVA中赋值表达式及类型转换
- 算术类型转换和赋值类型转换
- 赋值过程的类型转换
- 赋值中类型的转换
- 赋值类型中的自动转换
- [VB.NET]在赋值语句中怎样强制转换对象类型
- 尚硅谷 第三课全 java-变量类型转换-字符与字符串-算数运算符-赋值运算符-三元运算符-.switch语句-循环结构-while 循环语句 do-while 循环语句
- sql语句 类型转换
- enum枚举类型赋值之switch语句与显示类型转换(Explicit Type Conversion)速度之比较
- hdu 6213-Chinese Zodiac (map)
- spring boot中使用@Value注解
- Linux主机加固丨如何优雅的控制系统权限?
- fastJson java后台转换json格式数据
- SSH原理与运用(一):远程登录
- Java 赋值语句 类型转换
- kafka无法消费消息
- python爬虫实例项目大全
- 元注释
- 【转自论坛】Python字符串处理指令列表以及os,os.path模块的使用方法
- word 和excel打开时弹出安装配置窗口且相应图标不显示
- oracle基础知识,oracle sql练习
- iptables详解
- HDU 2602|Bone Collector|裸01背包问题