java中数据类型(short 和int)转换问题的理解
来源:互联网 发布:软件研发部 考核指标 编辑:程序博客网 时间:2024/05/18 02:45
相信大家刚开始面试时,肯定遇到过这个问题
1.第一种情况
public class HelloWord { //执行结果是? public static void main(String[] args){ short a =1; a = a+1; System.out.print(a); }}
结果大家都知道是编译就会报错
- 具体原因呢,如下
2.第二种情况
public class HelloWord { public static void main(String[] args){ short a =1; a +=1; System.out.print(a); }}
- 此时是可以运行的,也不报错。原因如下
java语言规范中关于复合赋值的解释是这样的:E1 op=E2等价于
E1=(T)(E1 op E2),这里的T是E1的数据类型,看到这里 ,大家应该豁然开朗了,原来这个复合赋值是自带了隐式的强制类型转换的。
3.第三中情况
public class HelloWord { public static void main(String[] args){ short a =1; short b =1; short c = a+b; System.out.print(c); }}
此时还是无法编译
精度小于int的数值运算的时候都回被自动转换为int后进行计算;
正确写法
public class HelloWord { public static void main(String[] args){ short a =1; short b =1; short c = (short)(a+b); System.out.print(c); }}
阅读全文
0 0
- java中数据类型(short 和int)转换问题的理解
- java中基本数据类型之间的转换 int double byte short
- java Byte和各数据类型(short,int,long,float,double)之间的转换
- java Byte和各数据类型(short,int,long,float,double)之间的转换
- java:关于short s1=1;s1=s1+1;short s1=1;s1+=1;short s3=s1+s2;中存在的简单数据类型转换问题的理解
- java:关于short s1=1;s1=s1+1;short s1=1;s1+=1;short s3=s1+s2;中存在的简单数据类型转换问题的理解
- java中byte、short、char、int的转换
- Android中int,short,long和byte的转换
- java-int&short-byte类型转换问题
- java中byte数组和int,long,short之间的转换
- java中short和int开销是一致的?short开销比int大??
- 类型转换问题(java会把byte,short和char的运算操作转换为int类型即低精度自动向高精度转换)
- Java中有关byte和String的转换笔记和byte[]到short、int、long的相互转换
- java中byte数组与int,long,short间的转换 (以备查阅)
- byte、short、char和int的转换
- short 和 int 类型的转换
- JAVA中short和short相加自动转化为int
- JAVA中short和short相加自动转化为int
- 正点原子精英版stm32f103zet6开发板,实惠开卖
- Java 9章 Thread 编程题
- python dict转json并保存文件
- 采购订单收货后不能修改价格的增强
- DP刷题
- java中数据类型(short 和int)转换问题的理解
- c++ 读取文件的内容
- 【Scikit-Learn 中文文档】高斯过程
- Halcon联合C++编程
- 多表查询
- 怎么搭建vpn服务器?
- 以三亚机场开展学习党的十九大精神系列活动反击海航集团债务违约传闻
- 【Scikit-Learn 中文文档】十二:决策树
- 冒泡算法 相邻下标两两比较