`
yinchunjian
  • 浏览: 284161 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

简单赋值与复合赋值区别

    博客分类:
  • java
阅读更多

short s1=1;

1例->   s1=s1+1; //出错                  2例->    s1+=1;//正常
1例 使用简单赋值运算

2例 使用复合赋值运算

 

1例中的 ' 1 ‘为int类型,不会自动转换为short型 ,这样可以:s=(short)(s+1);但可能会损失精度

 

而简单赋值运算和复合赋值运算的最大差别就在于:复合赋值运算符会自动地将运算结果转型为其左操作数的类型!   

这就是1例编译不通过,2例编译却能通过的原因。

 

精度取决于他们相加的结果是否超过short所能表达的最大值,超过就丢精度  反之不丢~~

分享到:
评论
1 楼 liujiaoshui 2010-07-27  
而简单赋值运算和复合赋值运算的最大差别就在于:复合赋值运算符会自动地将运算结果转型为其左操作数的类型!    一直找不到原因,你牛!!!  

相关推荐

    python学习记录(数值运算与赋值快捷方式)

    赋值快捷方式(或称为复合赋值操作符)是一种简化代码的方法,可以更高效地进行数值运算并重新赋值。例如,在原始代码示例中: ```python a = 2 b = 3 a = a * 3 # 等价于 a *= 3 b *= 3 # 等价于 b = b * 3 print...

    赋值运算符的大数据分析.pptx

    在某些情况下,可以使用其他复合赋值运算符来替代简单赋值运算符,以提高代码的可读性和简洁性。例如,`x += 5` 等价于 `x = x + 5`。 ##### **1.2 复合赋值运算符的特点** 复合赋值运算符(+=、-=、*=、/=、%=等...

    编译原理 赋值语句的翻译

    在实际操作中,可能会遇到各种挑战,例如处理复杂的表达式、处理不同类型的赋值(如复合赋值“+=”,“-=”等)、处理类型转换以及理解作用域和生命周期等。这个实验项目提供了一个绝佳的机会,让你亲手构建一个...

    1.2命题公式及其赋值.docx

    在命题逻辑中,简单命题,即原子命题,是研究的基础,它们的真值是固定的,被称为命题常项。命题变项则代表可以取真或假两种值的变量,它们是用来构建更复杂命题的元素。 合式公式是通过联结词(如与、或、非、蕴含...

    程序设计-赋值运算.pptx

    除了基本的赋值运算符,还有复合赋值运算符,如 `+=`、`-=`、`*=`、`/=`、`%=`、`>>=`、`、`&=`、`|=` 和 `^=`。这些运算符可以同时进行算术运算和赋值,例如 `a += 7 + 5` 等同于 `a = a + (7 + 5)`,这将增加 `a` ...

    基于数据类型结构观点的C语言中赋值运算教学方法.pdf

    其中,赋值运算符是C语言中使用最频繁的运算符之一,涉及简单赋值、复合算数赋值以及复合位运算赋值等三种类型共11种具体的赋值运算。然而,由于C语言的赋值运算与数据类型紧密相关,对初学者而言,复杂数据类型赋值...

    07-对象赋值.md

    例如,`a.x=a={n:2}`是一个复合赋值表达式,它涉及到对象属性的动态创建和赋值。 8. 堆栈模型的应用:在理解和解释代码时,了解变量的存储方式是非常重要的。在JavaScript中,变量存储在栈中,而对象存储在堆中。...

    Python程序基础:Python中的运算符.pptx

    赋值运算符用来给变量赋值,Python提供的赋值运算符可分为简单赋值与复合赋值两大类。;关系运算符又称比较运算符,用于比较运算符两侧的值,比较的结果是一个布尔值,即True或False。;Python的逻辑运算符包括and(与...

    Java中赋值运算符.pdf

    除了基本的赋值运算符外,Java还提供了一组复合赋值运算符,它们结合了数学运算和赋值操作,简化了代码。这些运算符包括: 1. 加法赋值运算符(+=):例如,`x += 6` 相当于 `x = x + 6`,它会将x当前的值加上6,...

    整理Python中的赋值运算符

    通过上述介绍,我们可以清楚地了解到Python中的赋值运算符不仅包括基本的简单赋值,还包括一系列复合赋值运算符,如加法赋值、减法赋值等。掌握这些运算符不仅能提高编程效率,还能让代码更加简洁明了。希望本文能够...

    c语言之赋值运算符共2页.pdf.zip

    除了基本赋值外,C语言还提供了复合赋值运算符,如`+=`, `-=`,`*=`,`/=`和`%=`等。这些运算符结合了算术运算和赋值操作,使得代码更为简洁。例如,`a += 3;` 相当于 `a = a + 3;`,在保持原有值的基础上对变量a...

    第二天 04赋值运算符【千锋Python人工智能学院】1

    本节我们将详细探讨Python中的基本赋值运算符和复合赋值运算符。 首先,我们来看基本赋值运算符,它是最简单的赋值方式,用`=`表示。这个运算符将右侧的值传给左侧的变量。例如,`num = 1 + 2 * 3` 这个语句会计算...

    PHP程序设计-3期(KC016) 2.5.2赋值运算符课后习题.doc

    这是一个复合赋值运算的例子,它将 `x` 的当前值与 `y` 相加,然后将结果重新赋值给 `x`。假设 `x` 原来为 5,`y` 为 3,那么 `x = x + y` 执行后,`x` 的新值将是 8。 接下来,PHP还提供了一些其他的复合赋值...

    python-赋值表达式(1).docx

    Python还提供了多种复合赋值表达式,它们允许我们在赋值的同时进行算术运算。这些复合赋值表达式包括: 1. **加法赋值**(Addition Assignment):`+=`,用于将右侧的值与左侧的变量值相加,然后将结果赋给左侧的...

    C++中赋值运算符与逗号运算符的用法详解

    复合赋值运算符是在赋值运算符“=”前加上其他运算符,如 "+="、"-="、"*="、"/="、"%=" 等,它们分别表示加法赋值、减法赋值、乘法赋值、除法赋值和取模赋值。例如,`a += 3` 相当于 `a = a + 3`,这使得a的值增加3...

    java代码-例2-4 理解复合赋值运算符。

    在`main.java`文件中,很可能是通过一个简单的示例程序来演示这些复合赋值运算符的用法,可能包含变量初始化、循环以及使用各种复合赋值运算符更新变量的值。这有助于开发者直观地理解每种运算符的效果。 `README....

    递归下降自上而下的赋值语句语法分析器.zip

    在C++中,赋值语句不仅限于简单的变量赋值,还包括复合赋值操作、引用赋值以及对象成员赋值等。在设计语法分析器时,需要考虑C++的这些特性。 压缩包内的**main.cpp**文件很可能是项目的主程序,包含了解析器的核心...

    Makefile文件中的等号左右两边能不能有空格

    - 特点:复合赋值与简单赋值类似,但在赋值时会进行变量替换,即如果等号右侧包含其他已经定义的变量,则这些变量会被替换为其对应的值。 - 注意事项:与简单赋值一样,复合赋值时等号右侧也不能有任何空格。 3. ...

    C语言中《赋值运算》[参照].pdf

    然而,C语言还提供了复合赋值运算符,这些运算符结合了算术运算和赋值操作,使得代码更加简洁。复合赋值运算符包括: 1. 加赋值运算符“+=”:例如,`a += 3+1`等同于`a = a + (3+1)`,会先计算右侧的表达式,然后...

    python中的变量和算术运算符以及赋值运算符.docx

    - **复合赋值运算符**:包括加法赋值 (`+=`)、减法赋值 (`-=`)、乘法赋值 (`*=`)、除法赋值 (`/=`)、整除赋值 (`//=`)、取模赋值 (`%=`) 和幂赋值 (`**=`)。这些运算符允许您执行运算并立即重新赋值给变量。例如 `x ...

Global site tag (gtag.js) - Google Analytics