`

关于short s=1; s=s+1; 和short s=1; s+=1;

    博客分类:
  • Java
 
阅读更多

short s=1;
s=s+1;
自然是编译不通过的 提示损失精度
那么
short s=1;
s+=1;
为什么能编译通过那?
还有一个问题


  隐式类型转换可以从小到大自动转,即byte->short->int->long如果反过来会丢失精度,必须进行显示类型转换;
  而s+=1的意思与s = s+1不同,s=s+1这句先执行s+1然后把结果赋给s,由于1为int类型,所以s+1的返回值是int,编译器自动进行了隐式类型转换;
  所以将一个int类型赋给short就会出错,而s+=1不同由于是+=操作符,在解析时候s+=1就等价于s = (short)(s+1),翻番来讲就是
  s+=1 <=> s =  (s的类型)(s+1)

分享到:
评论

相关推荐

    7701+CTC3.97.zip_ST7701_ST7701S SPI_ST7701S__ST7701初始化_st7701s例

    总的来说,这个压缩包提供了关于ST7701S和ST7701显示控制器使用SPI通信的实践经验,对于那些正在开发涉及此类显示屏的项目的人来说,这是一个宝贵的资源。通过研究和应用这些知识,开发者能够更深入地理解如何控制和...

    达内企业面试题集

    public short method1(int a, int b)**{ return 0; } **正确答案**:AC **解析**: - **A**:这是一个正确的重写示例。子类中的方法签名完全匹配父类的方法签名,并且访问级别从受保护变为公共,这是允许的。返回...

    Java问题宝典2012版

    6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9 7、char型变量中能不能存贮一个中文汉字?为什么? 9 8、用最有效率的方法算出2乘以8等於几? 10 9、请设计一个一百亿的计算器 10 10、使用...

    NSEB2M8U1 There's a pair of shorts under th.pdf

    NSEB2M8U1 There's a pair of shorts under th.pdfNSEB2M8U1 There's a pair of shorts under th.pdfNSEB2M8U1 There's a pair of shorts under th.pdfNSEB2M8U1 There's a pair of shorts under th.pdfNSEB2M8U1 ...

    2010年3月全国计算机等级考试二级C语言上机题库(1套)

    根据提供的标题、描述和标签,本文将围绕2010年3月全国计算机等级考试二级C语言上机题库中的核心知识点进行详细解读与总结。 ### C语言基础 #### 1. 数据类型 C语言提供了多种基本数据类型,包括整型(`int`)、...

    全志V3S+RTL8723+MPU6050+ILI9341开发板ALTIUM设计硬件原理图+PCB文件.7z

    全志V3S+RTL8723+MPU6050+ILI9341开发板ALTIUM设计硬件原理图+PCB文件,硬件采用2层板设计,大小为52*74mm, 包括AD设计的原理图和文件,可以做为你的学习设计参考. 该开发板主要器件如下: EA3036 LOOP RES V3S XC...

    广义S变换及逆,s的逆变换,matlab

    广义S变换(Generalized S-Transform,GST)是Huang等人于1998年提出的一种时频分析方法,它是对传统短时傅里叶变换(Short-Time Fourier Transform, STFT)的一种扩展。广义S变换定义为: \[ S(f, t) = \int_{-\...

    java_ms.rar_Math Class_java collection

    java面试笔试题大汇总 ~很全面 ... 第十一,short s1 = 1 s1 = s1 + 1 有什么错? short s1 = 1 s1 += 1 有什么错?  面试题都是很变态的,要做好受虐的准备。   第十二,sleep() 和 wait() 有什么区

    java运算符

    // 错误,因为`s + 1`的结果是int类型,不能直接赋给short类型的变量。 s += 1; // 正确,Java会自动处理类型转换问题。 ``` #### 二、算术运算中的数据类型转换 在Java中进行算术运算时,如果操作数的数据类型...

    java各大软件公司的面试题的集和

    第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 面试题都是很变态的,要做好受虐的准备。 第十二,sleep() 和 wait() 有什么区别? 搞线程的最爱。 还有很多

    S变化、广义s变化和时频域特征-matlab

    首先,S变化是信号分析的一种方法,它结合了短时傅立叶变换(Short-Time Fourier Transform, STFT)和拉普拉斯变换的特性。S变换通过自适应地调整窗口函数的时间和频率分辨率,可以更有效地捕捉信号的局部变化。在...

    国外CCIE笔记 Ruhnn's Short notes

    【标题】:“国外CCIE笔记 Ruhnn's Short notes”是一份由知名网络专家Ruhann编写的,针对思科认证互联网专家(CCIE)考试的学习资料。这是一份高度浓缩的知识精华,旨在帮助考生高效备考,提升对网络技术的理解。 ...

    C#数据类型.docC#数据类型.doc

    s = (short)(s + 1); ``` **第二种情况**:`s += 1;` 使用复合赋值运算符`+=`时,C#编译器能够自动检测到赋值的目标类型是`short`,从而在内部自动执行必要的类型转换,避免了显式转换的需要。这种方式更加简洁且...

    Stransform_S变换_S变换代码_girlmme_

    S变换是一种在信号处理领域广泛应用的时间-频率分析方法,它结合了短时傅立叶变换(Short-Time Fourier Transform, STFT)和拉普拉斯变换(Laplace Transform)的特点,能够在时间和频率上提供更为丰富的信息。...

    matlabS变换时频分析工具

    在MATLAB中,S变换是一种强大的时频分析方法,它结合了短时傅立叶变换(Short-Time Fourier Transform, STFT)和希尔伯特黄变换(Hilbert-Huang Transform, HHT)的优点,能够在时间和频率域提供更丰富的信息。S变换...

    java笔试题目以及部分答案

    错误,因为 s1 + 1 将产生一个 int 类型的结果,不能赋值给 short 类型的变量。short s1 = 1; s1 += 1; 正确,因为 += 运算符将自动转换结果为 short 类型。 12. sleep() 和 wait() 有什么区别? sleep() 和 wait...

    vb+mapinfo 实现最短路

    ", vbOKOnly, "关于搜索最短路径" Exit Sub End If '将两点互换,减少循环。 No(II) = No(iNode) No(iNode) = MinPoint '标记已经作为结果点判断过 NodeUse(MinPoint) = True LL = MinPoint '判断...

    CPCI-S_0_R1_0_SHORT_FORM_SPEC_2018.pdf

    1. PICMG组织和CompactPCI®Serial标准:文档中提及的“CompactPCI® Serial Specification Short Form Specification PICMG®CPCI-S.0R1.0”指的是由PCI工业计算机制造商组织(PCI Industrial Computer ...

Global site tag (gtag.js) - Google Analytics