`
scarlettli
  • 浏览: 57363 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

关于+=运算符的小细节

    博客分类:
  • java
阅读更多
    当使用+=、-=、*=、/=、%=、运算符对基本类型进行运算时,遵循如下规则:
    运算符右边的数值将首先被强制转换成与运算符左边数值相同的类型,然后再执行运算,
且运算结果与运算符左边数值类型相同。
    比如+=运算的时候其实就相当于int x=10;
                                x+=10;与x=x+10;是一样的效果的。
    但是short类型中,在运算的时候就需要注意了
比如:short s=10;
      s+=10;这样可以编译通过,但是这时如果写 s=s+10;编译时就会报错了,这是因为s是short类型的,而10是int类型的,右边的s与10运算完了以后short类弄会自动转换成int类型,而左边的s是个short类型的变量,右边的int类型的值是不能赋给左边的short类型的s的,这时需要将右边的值强制类型转换成short类型,将之改为:
    short s=10;
      s=(short)(s+10);这样就可以了。
分享到:
评论

相关推荐

    第二十六讲 运算符重载2(课件+源代码).

    在"运算符重载2.ppt"这个课件中,可能会详细讲解如何重载各种运算符,包括复合赋值运算符(如 "+=")、比较运算符(如 "==" 和 "!=")以及流输入输出运算符(如 "和 ">>")。这些运算符的重载通常涉及到操作数的类型...

    cpp代码-写一个3D矢量类CVector3D,要求含三种构造函数,并有拷贝,点积,叉积,求模,单位化 等操作,并实现”+; -; =; ==; +=; -=; *; [ ]” 等运算符的重载。(用C++实现)

    5. `+=` 运算符:实现向量的累加,将右侧向量加到左侧向量上,然后返回左侧向量的引用。 6. `-=` 运算符:实现向量的累减,将右侧向量从左侧向量中减去,然后返回左侧向量的引用。 7. `*` 运算符:根据上下文有不同...

    JAVA程序设计课件-JAVA运算符.pptx

    (2)除了“=”,其它的都是特殊的赋值运算符,以“+=”为例,x += 3就相当于x = x + 3,首先会进行加法运算x+3,然后将运算结果赋值给变量x。-=、*=、/=、%=赋值运算符都可依此类推。 (3)在使用+=、-=、*=、/=、...

    重载运算符,测试输入的长度能否构成一个三角形

    "readme.txt"文件通常包含关于项目的说明,如如何编译和运行代码,以及可能的设计决策和实现细节。 为了实现这个功能,开发者可能首先定义了一个类,如`Triangle`,它有三个属性表示三角形的边长。然后,他们定义了...

    练习题(逻辑运算符+比大小)

    然而,不同编程语言的具体语法细节可能会有所不同,这对于初学者来说是一个需要逐渐适应和掌握的过程。在实际编写程序的过程中,也需要注意错误处理和边界情况,比如输入的数据类型应正确,以及对于极端值或异常输入...

    java变量数据类型运算符

    5. **赋值运算符**:=、+=、-=、*=、/=、%=。赋值运算符用于将右边的值赋给左边的变量。复合赋值运算符则结合了运算和赋值。 6. **条件运算符**:三元运算符(? :)。这是Java中的一个特殊的运算符,用于根据条件...

    使用C++实现矩阵运算(运算符重载)

    在编写此类矩阵类时,还需要考虑一些设计上的细节,如异常处理(确保矩阵运算不会超出合理的范围,比如非法的矩阵乘法)、内存管理(正确地分配和释放内存)以及友元函数(可能需要友元函数来实现流输出,以便于调试...

    03.C语言的运算符.pdf

    复合赋值运算符是基本赋值运算符与其他二元运算符的组合,如 +=、-=、*=、/=、%= 等。 三、其他运算符 C语言中还有一些其他类型的运算符: 1. 位运算符:对操作数的二进制位进行操作,包括位与(&)、位或(|)、位...

    C++运算符重载友元函数实例

    在C++编程语言中,运算符重载是允许我们为已存在的运算符赋予新的含义或功能的一种机制。这个实例将探讨如何通过成员函数和非成员函数两种方式来重载运算符,以及如何结合友元函数来实现特定的操作。首先,让我们...

    javaSE基础运算符相关内容-7

    Java还提供了一些复合赋值运算符,如`+=`、`-=`、`*=`、`/=`和`%=`, 它们分别代表加法赋值、减法赋值、乘法赋值、除法赋值和取模赋值。例如,`x += 3`等同于`x = x + 3`,将x的当前值增加3并重新赋值给x。 理解这些...

    c++运算符重载例子

    根据提供的实验报告,我们可以深入探讨C++中的运算符重载技术以及其实现细节。运算符重载是C++中的一项重要特性,它允许用户自定义已存在的运算符在用户自定义类型的操作。通过运算符重载,我们可以为自定义类型提供...

    C++中的矩阵类,实现了运算符。_C++_下载.zip

    - **+= 和 -= 运算符**:这些运算符在原地修改矩阵,分别实现矩阵的加法和减法操作。 - ***= 运算符**:用于矩阵与标量的乘法,将矩阵的每个元素乘以一个标量值。 - **运算符**:用于输出矩阵到标准输出流,方便...

    快速区分一元运算符i++和++i.docx

    在JavaScript编程语言中,一元运算符`i++`和`++i`是常见的自增操作,它们在处理变量的值时有不同的行为和顺序。理解这两种运算符的区别对于编写高效和无误的代码至关重要。 首先,`i++`称为后置自增运算符。它的...

    条件运算符中的细节

    三目条件运算符: 表达式1 ? 表达式2 :表达式3 表达式1是一个boolean类型的值。 一 表达式2和表达式3都是变量: 返回值的类型 往两者类型大的方向转(byte) //特殊情况(含char类型) char和一个byte/short/int...

    C++运算符重载函数作为类成员函数和友元函数.docx

    比如,对于复数类,用户可以直接使用`+`、`-`、`*`、`/`等运算符进行复数运算,而无需关心这些运算背后的函数实现细节。如果在类声明时已经对这些运算符进行了重载,那么使用者在编程时会感到非常方便。 需要注意的...

    运算符优先级总结(C++)

    #### 三、分类及优先级细节 在中间优先级的运算符中,还可以进一步细分为算术、关系、逻辑等几大类,并且每类内部也有一定的优先级排序。 1. **算术运算符**: - `*`、`/`、`%`的优先级高于`+`、`-`。 - 移位...

    C程序设计(第三版)答案

    - **赋值运算符**:`=`, `+=`, `-=`等。 - **示例**: ```c int a = 12; a += a; // 相当于 a = a + a a -= 2; // 相当于 a = a - 2 a *= 2 + 3; // 相当于 a = a * (2 + 3) a /= a + a; // 相当于 a = a / ...

    [C#基础知识]之.netframerwork中的事件.docx

    如果需要添加更多的处理程序,只需再次使用`+=`运算符即可。 ```csharp this.button1.Click += new EventHandler(button2_Click); ``` 这样,当按钮被点击时,`button1_Click`和`button2_Click`两个方法都将被执行...

    运算符重载实验报告共10页.pdf.zip

    在“运算符重载实验报告共10页.pdf.zip”这个压缩包中,我们可以期待找到关于如何在实际项目中应用运算符重载的详细步骤、案例分析、遇到的挑战以及最终的实验结论。这份报告可能是学习和理解运算符重载概念、实践...

    C程序设计快速进阶大学教程:第6章 运算符与表达式.ppt

    3. 赋值运算符:基础的赋值运算符是`=`,扩展赋值运算符如`+=`、`-=`、`*=`、`/=`和`%=`则分别用于加、减、乘、除和取模后赋值。例如,`x += 3`相当于`x = x + 3`。 4. 类型转换运算符:用于显式地将一种数据类型...

Global site tag (gtag.js) - Google Analytics