`
shine5566
  • 浏览: 689 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

请教有关数值运算之间类型转换

阅读更多

      最近在一些面试的过程中遇到类似于:

 

short i = 1;

i = i+1

 

有什么错误的问题。当然这么基础的问题在之前学习的过程中也有提到过。但是因为没引起足够的重视导致最近面试总是碰钉子。

    其实这就是个类型不匹配的问题。i是short型的,但是1在JAVA中默认的是int型的,而int的取值范围比short大,当出现short和int两者类型之间的运算后,其结果会自动转换成取值范围更广的类型,也就是int型。也就是说在这个时候i+1已经是属于int型的了,而i仍然属于short型,而一个short型的变量等于一个int型的显然会出现类型不匹配的现象,所以报错。我记得原来有人这样给我解释的,我在而eclipse里试验了一下,确实报的是

 

  can not convert from int to short

 

这个错误。后来我尝试了以下代码

int i = 1;

short s = 1;

i = i + s;

 

这个代码也没有报错,看来在i+s后得到的是个int类型的。试验了几种类型后我得出结论:

 

在几种数值类型之间进行运算的时候,得到的结果转换成取值范围更大的那个类型。

 

在得出这个结论之后(其实也不是我得出的,只是想起原来老师的话然后试验而来),我满以为得到了满意的答案,但是随后我又陷入了疑惑之中,当我敲入以下代码的时候居然又报错:

short i = 1;

short c = 1;

i = i + c;

 

而且报的还是can not convert from int to short,这样一来似乎我得到上面的结果有点说不通,既然i和c都是short,那么运算后得到的不是short型?疑惑中。

 

在JAVAEYE朋友的帮助下这个问题解决了,原来JDK为了避免运算结果超过short的范围而在若干short之间进行运算后将其结果给转化成int型 所以上面的 i+c 已经是int型的了,所以要报以上错误。这时新的疑惑产生了,既然short型在运算后都变成int型 那short型存在的意义何在?继续疑惑中。

分享到:
评论
2 楼 王者之剑 2008-06-23  
因此在编程时,取数据时直接保存到int,计算时用int
只有在保存时最后一步才转成short
1 楼 王者之剑 2008-06-23  
你说的太对了,所以我编程一般都用int的。
short存储数据时用可以省空间

相关推荐

    税会实务excel怎么转换万元表.doc

    首先,我们需要在工作表的一个空白单元格中输入数字10000,这代表元与万元之间的转换系数,因为1万元等于10000元。例如,可以在A1单元格中输入10000。 接下来,选择这个包含10000的单元格(A1),然后右键单击并...

    EGM96的计算(含有坐标转换及其他参数计算)

    综上所述,EGM96的计算涉及到地球重力场模型的应用,包括高程异常、重力异常和垂线偏差的计算,而坐标转换则涉及大地坐标系统和球面坐标系统之间的转换。整个程序设计项目是一个结合理论与实践的大地测量学应用,...

    特殊计算器

    C++特殊计算器课件,四则分类计算法则的应用,进行整数及实数的加、减、乘、除、平方、开方等基本运算,及能进行二进制,十进制,八进制,十六进制数值之间的转换,以及能进行三角函数的计算? 更多0分享到: . ...

    molarConcentration2​MolalConcentration2​MassFractionConvert​er:溶液中任何溶剂的摩尔浓度、质量浓度和质量分数之间易于转换-matlab开发

    Matlab 应用程序允许在溶液中任何溶剂的摩尔浓度、质量浓度和质量分数之间轻松转换 如何使用: 选择要转换的内容, 输入值。 如果需要转换多个值,请使用以下格式之一:[1, 2, 3, ...], [1,2,3...], [1 2 3 ...]。 ...

    小日本视频转换器

    TMPGEnc 是日本人堀浩行开发的一套老牌的高画质视频编码转换工具软件,在 Canopus ProCoder v2.0 Final 推出以前,一直是视频转换领域的画质冠军,支持 VCD、SVCD、DVD 以及所有主流媒体格式 (Windows Media、Real ...

    请教高手关于EXCEL行列转换的问题!谢谢!急急急!!!

    一般的方法行不通,可能要用到宏或者编一个程序,请帮忙!

    部编三年级上册语文口语交际:请教.pdf

    在本次的“部编三年级上册语文口语交际:请教”课程中,学生们将学习如何在生活中遇到困难时,向他人寻求帮助和指导。本课程的教学目标主要集中在三个方面:首先,培养学生们在遇到困难时,能够主动请教别人的能力;...

    问题请教工程,问题请教工程

    在IT行业中,问题请教工程是一项常见且至关重要的任务。它涉及到技术咨询、故障排查、解决方案设计等多个环节,是提升技术水平和团队协作效率的关键。在这个场景下,"问题请教工程"可能指的是开发者或工程师在遇到...

    口语交际:请教.docx

    【口语交际:请教】 在日常生活中,我们常常会遇到各种问题和困难,此时,懂得向他人请教是非常重要的技能。在教育领域,"口语交际:请教"这一主题旨在培养学生的沟通能力,让他们学会如何清晰、有礼貌地表达自己的...

    口语交际 学会请教.pdf

    这时,我们可以建议求助者寻找其他专家或资源,如"你可以试试请教老师,或者查阅相关资料"。同时,作为请教者,要懂得感恩,即使对方无法帮助,也要表达感激之情。 通过角色扮演和小组讨论,学生可以更深入地理解...

    哈工大 自主设计实验 六位以内的二进制数与两位十进制数的转换.pdf

    该实验主要涉及的是二进制数与十进制数之间的转换,以及电子电路中的数制转换和集成计数器的应用。实验的核心器件是74LS161,这是一种四位二进制异步计数器,它能实现二进制计数,并在特定配置下也可作为十进制...

    基于Matlab GUI将彩色图转换为灰度图.rar

    在图像处理领域,将彩色图像转换为灰度图像是一种常见的操作。这有助于简化图像分析,减少计算复杂性,尤其在机器视觉和图像识别任务中。本教程将详细讲解如何使用Matlab图形用户界面(GUI)来实现这一转换。 首先...

    数值分析习题

    《数值分析习题》是中国矿业大学出版社出版的一本教材的配套...同时,对于难以理解的部分,可以反复查阅相关文献或者向教师请教,确保对每一个问题都能有透彻的理解。这样的学习方式将为以后的科研工作打下坚实的基础。

    三年级上语文口语交际请教PPT教案.pptx

    三年级上语文口语交际请教PPT教案.pptx

    请教Farrow结构滤波器设计的设计-lagrange插值.pdf

    请教Farrow结构滤波器设计的设计-lagrange插值.pdf 小弟要设计一个基于Farrow结构的抽取滤波器,用在一个数字中频接受系统中,实现任意采样率的转换,不太明白滤波器的系数如何计算出来,有没有人做过呢?matlab中...

    新人教统编版五四制三年级上册语文 口语交际:请教 优秀教案.docx

    在小组讨论和角色扮演活动中,学生之间的互动被鼓励和强化。通过互相评价,学生不仅能提升自己的交际能力,还能学会发现并欣赏他人的优点,以及帮助他人看到需要改进的地方。 最后,教案鼓励学生通过游戏后的总结...

    2020新高考语文二轮复习第四部分语言文字运用专题八针对提升六画里有话图评天下__图文转换题课件202003190437

    不同的图文转换题可能涉及流程图、框架图、柱状图、饼图、曲线图等,每个类型都有其特定的解读和表达方式。例如,流程图通常关注步骤的顺序,而框架图则关注概念间的逻辑关系。因此,掌握不同图形的特点和转换规则至...

    新人教统编版三年级上册语文 口语交际:请教 优秀教案.docx

    8. **多样的请教方式**:教授学生多种请教方式,如面对面交谈、电话请教,甚至可能的电子通讯方式,如发邮件,以适应不同情境下的需求。 9. **总结归纳**:在教学中,不断强调和总结请教的要点,如态度、语气、礼貌...

    人教部编本三年级上册语文口语交际请教PPT学习教案.pptx

    在当今社会,沟通交流的能力已经成为了每个人必备的基本素养,而良好的请教态度和技巧则是沟通交流中不可或缺的一部分。特别是在小学教育中,注重培养学生的口语交际能力尤为重要,它不仅关系到学生日后的学习,更...

    问题请教高手

    问题请教高手问题请教高手

Global site tag (gtag.js) - Google Analytics