`

关于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)

分享到:
评论

相关推荐

    Java基础面试题.doc

    1、String 是最基本的数据类型吗?...由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s

    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 ...

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

    关于ST7701S+CTC3.97TN的测试程序,可以调试

    达内企业面试题集

    达内企业面试题集,掌握好这些就很不容易。

    JAVA笔试题集锦(1-30)基础部分

    1、作用域public,private,protected,以及不写时的区别 ... (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用

    java_ms.rar_Math Class_java collection

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

    java面试笔试题大汇总

    第一,谈谈final, finally, finalize的区别。  最常被问到。... 第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?  面试题都是很变态的,要做好受虐的准备。 

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

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

    java经典面试题汇总

    (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个...

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

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

    CPCI-S_0_R1_0_SHORT_FORM_SPEC_2018.pdf

    cpci-s简介,CPCI-S_0_R1_0_SHORT_FORM_SPEC_2018,增加了导冷加固部分的板卡和机箱部分。

    vb+mapinfo 实现最短路

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

    JAVA就业培训教程各章源代码

    short s = 1024; int i = 50000; float f = 5.67f; double d = .1234; double result = (f * b) + (i / c) - (d * s); System.out.println((f * b) + " + " + (i / c) + " - " + (d * s)); System.out....

    编译原理实验报告 词法分析器实验报告

    {digit}({letter})+ {printf("error1:%s\n",yytext);} %% #include Upper(char *s,int l) { int i; for(i=0;i;i++) { s[i]=toupper(s[i]); } } yywrap() { return 1; } 五:DFA 六:数据测试 七:心得体会...

    国外CCIE笔记 Ruhnn's Short notes

    国外K2过人Ruhann 花费500hours 写的一份笔记~~大家可以参考看看

    Java面试宝典2011版

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

    手机图片浏览器

    // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon CPoint point; // TODO: Add extra initialization here m_...

    收发数据包源代码

    // Set the packing to a 1 byte boundary #include &lt;pshpack1.h&gt; // // Define the IPv4 header. Make the version and length field one // character since we can't declare two 4 bit fields without // the ...

    Short-Channel Effects in MOSFET s

    关于MOSFET内部的短沟道效应的相关联解释。

Global site tag (gtag.js) - Google Analytics