当前位置:网站首页>short i =1; i=i+1与short i=1; i+=1的区别
short i =1; i=i+1与short i=1; i+=1的区别
2022-07-06 11:23:00 【qq_37705525】
short i =1; i=i+1与short i=1; i+=1的区别
很典型的一到JAVA 基础面试题,上次面试遇到的,现在记录一下。
short i =1; i=i+1;
short i=1;i+=1;
这两有什么区别呢 ?
对两个容量不一样的数据类型的变量进行算术运算时,java会自动将小容量的变量进行精度提升,然后再进行运算,得到的结果类型是提升后的大容量的数据类型.如果将该结果赋值给小容量的数据类型的变量,则必须进行强制的类型转换,否则编译程序会报损失精度错.如楼主示例,用i来表示1:
short s1 = 1;
int i = 1;
首先,因为short类型是16位的,而int类型是32位的,在进行
(s1+i) 运算时,自动将s1提升到32位,然后与i相加,得到的结果是32位的,而此时
s1=s1+i; 必然报错,因为如果赋值成功,只是把低16位赋给了s1,这个虽然正是楼主想要的结果,但是编译程序却不能判定你的意图是什么.
执行强转:
s1=(short)(s1+i); 就没问题了.
s1+=i;能编译通过并得到正确结果,而 s1=s1+i; 却报错,是因为它们并不是等价的,s1+=i的方式java会对i进行窄化转换,由编译程序自动执行.
边栏推荐
- The nearest library of Qinglong panel
- Yutai micro rushes to the scientific innovation board: Huawei and Xiaomi fund are shareholders to raise 1.3 billion
- Human bone point detection: top-down (part of the theory)
- Xingnuochi technology's IPO was terminated: it was planned to raise 350million yuan, with an annual revenue of 367million yuan
- Don't miss this underestimated movie because of controversy!
- RT-Thread 组件 FinSH 使用时遇到的问题
- Abstract classes and abstract methods
- Video based full link Intelligent Cloud? This article explains in detail what Alibaba cloud video cloud "intelligent media production" is
- 多线程基础:线程基本概念与线程的创建
- ROS自定义消息发布订阅示例
猜你喜欢
How word displays modification traces
Yutai micro rushes to the scientific innovation board: Huawei and Xiaomi fund are shareholders to raise 1.3 billion
Estimate blood pressure according to PPG using spectral spectrum time depth neural network [turn]
[depth first search] Ji suanke: Square
Optical blood pressure estimation based on PPG and FFT neural network [translation]
Summary of performance knowledge points
How to type multiple spaces when editing CSDN articles
Oracle advanced (IV) table connection explanation
Nuc11 cheetah Canyon setting U disk startup
手写一个的在线聊天系统(原理篇1)
随机推荐
数学知识——高斯消元(初等行变换解方程组)代码实现
Tongyu Xincai rushes to Shenzhen Stock Exchange: the annual revenue is 947million Zhang Chi and Su Shiguo are the actual controllers
[translation] a GPU approach to particle physics
史上超级详细,想找工作的你还不看这份资料就晚了
受益匪浅,安卓面试问题
AIRIOT物联网平台赋能集装箱行业构建【焊接工位信息监控系统】
同宇新材冲刺深交所:年营收9.47亿 张驰与苏世国为实控人
Help improve the professional quality of safety talents | the first stage of personal ability certification and assessment has been successfully completed!
一种用于夜间和无袖测量血压手臂可穿戴设备【翻译】
Noninvasive and cuff free blood pressure measurement for telemedicine [translation]
全套教学资料,阿里快手拼多多等7家大厂Android面试真题
R语言ggplot2可视化:使用ggpubr包的ggstripchart函数可视化分组点状条带图(dot strip plot)、设置add参数为不同水平点状条带图添加箱图
关于静态类型、动态类型、id、instancetype
Online notes
AcWing 3537. Tree lookup complete binary tree
Pytorch common loss function
R language ggplot2 visualization: use the ggdotplot function of ggpubr package to visualize dot plot, set the palette parameter, and set the colors of data points and box graphs of dot plots at differ
应用使用Druid连接池经常性断链问题分析
CCNP Part 11 BGP (III) (essence)
Digital "new" operation and maintenance of energy industry