`
yesjavame
  • 浏览: 694841 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

short类型的+操作和++操作的区别,竟然没有一个正确答案.

阅读更多

今天再次在卫琴的论坛上看到有人问这样的问题:

short tmp = 0;

为什么tmp = tmp +1;错误但tmp ++;却正确.

用google和yahoo竟然搜索不到一个正确的答案.都说java程序员不需要关心底层,真的吗?

s+1中,+操作有两个操作数,JVM指令中+操作最小类型是int,byte,short,char都以iload,iadd来操作,

然后用i2b,i2s,i2c来转换回去,因为+操作在两个数中间,所以如果不手动转换,编译器根本不知道你要

转换成第一个操作数类型还是第二个操作数类型.

s++中,相当于s上的increment操作,目的操作数是s,它的类型确定是short,所以在iadd后,编译器会自动

调用i2s将int转换为short.

你不要以为1默认是int,所以tmp+1默认以最大类型来运算.试一下下面的运算就知道了:

short a = 0;

short b = 0;

short c = a +b;两个short不存在以最大类型运算被转换为int运算了吧?

实上它还是不行,因为short也只能用iload,iadd指令运算,所以short c = a+b也一定要手工转换.

分享到:
评论

相关推荐

    2021-2022计算机二级等级考试试题及答案No.19277.docx

    - **正确答案**: 值类型、引用类型 #### 17. 字段大小属性 - **知识点**: 数据库字段属性。 - **选项解析**: - A. OLE:不是常用的字段大小属性。 - B. 整型:常用字段大小。 - C. 长整型:常用字段大小。 - D...

    Java面试题含答案.doc

    答案:可以,但只有一个public类,其他类可以是default或private的。 2. Java 有没有 goto? 答案:Java 没有goto语句,但可以使用break、continue、return等语句来控制程序流程。 3. 说说&和&&的区别。 答案:...

    优质面试题附答案解析.docx

    "优质Java面试题附答案解析" ...* Linux:Linux是一个操作系统,提供了对计算机的管理和操作。 这些面试题涵盖了Java基础知识、框架和第三方库的常见问题,可以帮助Java开发人员更好地准备面试。

    2021-2022计算机二级等级考试试题及答案No.17601.docx

    1. 选择题的返回类型问题,由于表达式 `(short) x/y*2` 最终会转换为 `double` 类型,所以正确答案是 D. double。 2. CPU 的主要任务确实是取出指令、解释指令和执行指令,因此这个说法是正确的。 3. 数据库 (DB)...

    2021-2022计算机二级等级考试试题及答案No.10739.docx

    - **题目**:如果一个字段中要保存长度多于255个字符的文本和数字的组合数据,应该选择哪种数据类型? - A. 文本 - B. 数字 - C. 备注 - D. 是/否 - **正确答案**:C - **解析**:在Access中,文本字段最多可...

    2021-2022计算机二级等级考试试题及答案No.9179.docx

    16. Java数据类型转换:按照从低到高,转换顺序为byte→short→int→long→float→double(正确答案:B)。 17. ASP.NET验证控件:SubmitValidator不是ASP.NET的验证控件,而是用于触发验证的控件(正确答案:D)。...

    c语言作业答案终版.pdf

    这份资源是一个关于C语言的作业答案,涵盖了C语言的基本概念、数据类型、函数、控制结构、数组和指针等方面的知识点。 C语言概述 C语言是一种高级编程语言,开发于1972年,由Dennis Ritchie和Brian Kernighan共同...

    2021-2022计算机二级等级考试试题及答案No.10717.docx

    而第二个逻辑值应该是对第一个进行反向操作,所以为true。 #### 13. SELECT语句语法 - **题目**: 下列SELECT语句语法正确的是 - A. SELECT*FROM'教师表'WHERE='男' - B. SELECT*FROM'教师表'WHERE性别=男 - C. ...

    2021-2022计算机二级等级考试试题及答案No.12492.docx

    - **正确答案**:一个或几个基本表、定义、视图对应的数据 - **知识点拓展**:视图是一种虚拟表,其内容由存储在基本表中的数据通过SQL语句定义而成。 25. **条件宏的设计**:题目探讨了条件宏设计中的符号使用。...

    2021-2022计算机二级等级考试试题及答案No.12974.docx

    17. 16位类型数据:在一些早期的计算机系统或特定编程语言中,16位类型数据通常表示一个短整型(Short)或无符号短整型。正确答案是B。 18. REVOKE语句:在SQL中,`REVOKE`用于撤销用户的特定权限,但不删除用户。...

    2021-2022计算机二级等级考试试题及答案No.18249.docx

    13. 数据库对象导出到另一个数据库中,通常会转换成Microsoft Excel格式方便分析和操作(正确答案:B)。 14. 在当前表中,查找第2个满足条件的记录,需要先定位到第一个符合条件的记录,然后使用Continue命令...

    专接本计算机C语言程序设计模拟试题及答案.pdf

    `short` 类型的最大值是 32767,但在无符号整数(`unsigned short`)中,最大值会翻倍,即 65535。因此,输出结果是 B) 65535。 7. 多层循环输出: 这个程序会产生一个二维的乘法表。对于 `i` 从1到3,对于每个 `...

    2021-2022计算机二级等级考试试题及答案No.10429.docx

    根据提供的文件信息,我们可以从中提炼出一系列关于计算机二级等级考试的知识点,这些知识点涉及SQL查询、数据库基础知识、二叉树遍历、Word操作、Windows基本操作、编程基础等多个方面。下面是详细的知识点解析: ...

    2021-2022计算机二级等级考试试题及答案No.12166.docx

    - **正确答案**: B. 窗体。 #### 2. 用户登录但无法执行数据库操作的原因 - **原因分析**: - A. 用户还需要修改密码:与是否能够执行数据库操作无关。 - B. 用户尚未激活:如果账户未激活,则可能无法登录,但...

    2012计算机考研408真题和答案.pdf

    【计算机考研408真题解析】 1. **递归算法的时间复杂度分析**:题目中的`fact(int n)`函数是计算阶乘的递归算法。...完整解答需要包括每个题目的详细解析和答案,以及相应的解题思路和知识点讲解。

    2021-2022计算机二级等级考试试题及答案No.14578.docx

    `有语法错误,因为它尝试用单个字符初始化一个数组,而没有提供足够的字符,答案是D。 9. 在Windows中,文件的属性包括只读、隐藏、系统和存档四种,答案是B。 10. `Dim A(3,4) As Integer`声明的二维数组A有20个...

    java复习资料答案.pdf

    题目中的表达式 `(a++*b+c*--d)` 属于前置操作符和后置操作符的混合使用,导致结果是140,因此正确答案是C。 3. **位运算符**:Java中的位运算符包括按位与`&`、按位或`|`、按位非`~`等。第3题中使用了按位非`~`和...

    C语言考试题库答案.doc

    `这条语句是错误的,因为它试图将一个整数赋值给一个字符变量。因此,正确答案是D) a=b+c=1;。 3. C语言字符常量 在C语言中,字符常量是使用单引号`'`或双引号`"`来表示的。例如,`'A'`和`"A"`都是正确的字符常量...

Global site tag (gtag.js) - Google Analytics