`
六十三
  • 浏览: 44069 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

基本类型 加减运算 类型转换问题讨论

J# 
阅读更多

先来看下面的 代码:

 

public class Test
{	
	public static void main(String[] args)
	{
		short i ;
		
		i = i + 1; //编译错误
		i += 1;	//正确
		
		byte j = 1; //正确
		byte k = 2;
		byte l = j + k; //错误
	}
}
 

 

1、关于 i = i + 1: i + 1是int型,赋值给short 型变量需要做显示转换。

 

2、+= 、-= 属于复合赋值运算符(Compound Assignment Operator),他们是一种赋值运算符,虽然他们有算数的功能,但应该属于赋值运算符的范畴,而不属于算术运算符一类。

 

Java规定:复合赋值运算符中的转换都要编译器负责。

 

这就是为什么使用 += 、-=不需要显示转换的原因。

 

3、算术运算符(Arithmetic Operator)

Java中,所有整数的算术运算符都会产生int型的结果(除非有long参与其中)。因此 

 

byte l = j + k;

  虽然 j 、 k 都是byte型的,但根据上面“所有整数的算术运算都会产生int型的结果“的规则, j + k 结果是int型。这样将int赋值给byte 就需要强制转换。

 

 

 

 

 

 

 

 

david.wang 2011-03-09

分享到:
评论

相关推荐

    任意大数的加减运算器

    3. **二进制表示法**:将大数转换为二进制形式,可以利用位运算进行加减。这种方法效率更高,但实现起来相对复杂,需要考虑二进制位的溢出问题。 4. **库函数支持**:很多编程语言提供了内置的大数处理库,如Python...

    计算机语言B第2章基本数据类型与运算共77页.pdf.zi

    5. **运算符**:数据类型的运算包括算术运算(加、减、乘、除、取余等)、比较运算(等于、不等于、大于、小于等)和逻辑运算(与、或、非)。这些运算符是编写程序时进行计算和决策的基础。 6. **类型转换**:在...

    数学表达式的求值算法实现(加减乘除及平方的混合运算)

    同时,`applyOperator`方法可能会处理遇到运算符时的操作,如根据运算符的类型进行加减乘除或平方运算。 此外,`Calculator`类可能还包含了一些辅助方法,如`isOperator`来判断字符是否为运算符,`getPriority`来...

    C++有符号二进制的加减运算

    在编程领域,尤其是在C++这样的强类型语言中,有符号二进制的加减运算是一项基本操作。在处理这类运算时,我们不仅需要理解整数的二进制表示,还要了解计算机如何处理溢出和负数。下面我们将深入探讨这个话题。 ...

    多则运算表达式包括括号加减乘除

    在Java编程语言中,多则运算表达式是程序设计中不可或缺的部分,它们涉及到数学运算的各种操作,如加法(+)、减法(-)、乘法(*)和除法(/)。这些运算符用于组合一个或多个数值以执行计算。在处理这样的表达式时...

    长整数加减

    长整数加减是指处理长度超过标准整型变量所能表示的最大值的数字加减运算问题。通常,在计算机编程中,整数是有一定限制的,例如在C/C++中,一个32位整数(int)的最大值为2^31-1。但有时候我们需要处理更大的数字,...

    五年级数学上册加法运算律的推广2苏教版PPT学习教案.pptx

    首先,PPT中提到了几个基本的加法运算,如6.4+3.6、0.47-0.4等,这些都是为了引出加法运算律的基础知识。接着,展示了如何利用加法运算律简化计算,例如8.9+3.6+6.4+1.1这个例子,可以通过加法交换律(8.9+1.1)+...

    适合初学者的加减运算小型计算器程序

    而“加减运算”标签则明确了程序的主要功能,即处理基本的算术运算。 在压缩包内的文件列表中,“计算”可能是源代码文件的名称。对于初学者,阅读和理解这段代码将有助于他们掌握编程的基本概念和语法。 总之,这...

    集成运放组成的基本运算电路实验报告.doc

    通过实验,我们掌握了集成运算放大电路的三种输入方式,包括反相加法运算、单一信号同相比例运算和减法(差分)运算。 在实验中,我们使用了多种仪器设备,包括集成运算电路实验板、通用运算放大器 μA741、电阻...

    2020春四年级数学下册第七单元小数的加法和减法第三课时小数加减混合运算教案西师大版

    综上所述,本节课重点在于教授小数加减混合运算的方法,特别是如何运用加法运算律来简化计算,同时强调了数学与实际生活的联系,以及培养学生的数学应用意识和合作学习能力。通过这样的教学设计,期望学生能在轻松...

    计算机组成带移位运算实验报告

    计算机组成原理实验报告的核心是理解和应用带移位运算在计算机硬件层面的操作。移位运算在计算机科学中扮演着重要角色,特别是在数据处理和算术运算中。本实验旨在通过设计和实现一个带移位运算的模型机,让学生深入...

    大数的加减乘除求余运算

    本文将深入探讨大数的加减乘除求余运算,以及如何使用C++通过重载操作符来实现这些运算。我们将分别讨论字符串和2的32次方进制数组这两种表示大数的方法。 一、大数的表示 1. 字符串表示法:由于大数可能超出普通...

    一个简单的GUI做的加法运算器.rar

    3. 编写加法运算逻辑:在回调函数中,我们需要获取文本框中的数值,转换为浮点数或整数,然后执行加法操作。 4. 显示结果:将计算结果展示在GUI的某个位置,比如另一个文本框或者消息框。 “使用帮助:新手必看.htm...

    16位补码并行加法器(含减法器)实验

    16位补码并行加法器(含减法器)实验是学习计算机内部运算机制的重要实践环节。这个实验旨在帮助学生理解和掌握如何设计和实现一个能够进行加法和减法操作的硬件电路,这对于理解计算机内部数据处理过程至关重要。 ...

    分数加减混合运算~2.ppt

    本文将重点讨论分数的加减混合运算,以肥东新城学校张文斌老师的教学内容为基础,深入解析相关知识点。 首先,我们要了解的是如何找到两个数的最小公倍数(LCM)。例如,6和9的最小公倍数是18,因为18是6和9的最小...

    C语言程序设计-数据类型的转换.pptx

    在这个例子中,整型变量a在加法运算中被隐式转换为浮点型,然后与b相加,结果是浮点型。 接下来,我们讨论**显式转换**,这需要程序员通过语法明确指定类型转换。显式转换的语法是 `(类型说明符)(表达式)`,其中...

    java数据类型与运算符间的运算

    除法运算符(/)和取余运算符(%)分别用于整数除法和求余,同样支持不同类型之间的运算,但需要注意数据类型的转换和可能的溢出问题。 例如,当一个负数作为除数时,整数除法的结果可能会与预期不同,而使用浮点型进行...

    java基础学习——类型转换.doc

    本文主要讨论了 Java 中的三种类型转换:强制类型转换、自动升级类型转换以及表达式的升级类型转换,同时也提到了自动包装和解包的概念。 1. 强制类型转换: 强制类型转换是程序员明确指定将一个数据类型转换为另...

    秋北师大七年级数学上册有理数的加减混合运算PPT学习教案.pptx

    在这个学习教案中,主要讨论的是正负整数、正负分数以及零的加减混合运算。 2. **加减法统一成加法**:在有理数的运算中,加减法可以统一成加法。例如,`a + b - c` 可以转化为 `a + b + (-c)`,这样所有的运算都...

    简便运算教学设计分享.pdf

    分配型是指将乘法应用于括号内的加减运算,提取型则是提取公共因数简化计算。 9. 计算小技巧:除了基本的运算定律,还可以利用一些计算技巧,如巧借数字特性(如9999+9)、拆分和组合等方法,来简化复杂的运算。 ...

Global site tag (gtag.js) - Google Analytics