Java num+=1、num++与num=num+1的区别(通俗易懂,附带例子)

.NET中也是同理。

知识预热:(看到最后有彩蛋)
1、在Java中,默认的整形常量的类型是int类型。
2、如果int类型转换为short类型,那么不强制转换必定会报错。

那么问题来了:
已知条件:

short num=10

情况一:

num=num+2

情况二:

num+=1

请问上面的两种情况是否会报错?如果不会那么结果是多少呢?

情况一:
在这里插入图片描述

情况二:
在这里插入图片描述

总结:
1、情况一:因为在Java中常量的默认数据类型是int类型,则相当于把short类型与int类型的数据进行运算,得到的结果是int类型,但是将一个int类型的数据在不经过强制转换的情况下赋值给short类型,那么编译时必定会报错。
2、情况二:但是num+=2;它是不改变变量本身的数据类型,所以它不会报错。

彩蛋:

short number=1;
short result=0;

情况一:

result=number+1

情况二:

result=number++

该结果与正文中的结果一样。

感谢您的阅读,希望我的分享对您有所帮助。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
好的,我来尝试用通俗易懂的语言解释一下。 在 C++ 中,类是一种自定义的数据类型,可以将多个数据和函数封装在一起,形成一个完整的实体。如果我们需要实现一个计数器,可以定义一个类 `Counter`,其中包含一个私有成员变量 `n`,表示计数器的值。 ```cpp class Counter { private: int n; public: // 构造函数 Counter(int num) : n(num) {} // 加法运算符重载函数 Counter operator+(const Counter& c) const { return Counter(n + c.n); } }; ``` 在上面的代码中,我们定义了一个类 `Counter`,其中包含一个私有成员变量 `n`,用于存储计数器的值。我们还定义了一个构造函数,在创建对象时初始化计数器的值。此外,我们还重载了加法运算符 `+`,以实现两个计数器对象的相加操作。 在 `operator+` 函数中,我们通过传入一个常量引用参数 `c`,表示另一个操作数。由于我们不希望改变操作数的值,因此使用了 `const` 关键字进行修饰。接着,在函数体中,我们创建了一个新的 `Counter` 对象,其值为两个操作数的和,然后将其返回。 使用这个类的时候,可以先创建两个 `Counter` 对象,然后使用 `+` 运算符将它们相加,得到一个新的 `Counter` 对象,如下所示: ```cpp Counter c1(5); // 创建计数器对象 c1,初始值为 5 Counter c2(10); // 创建计数器对象 c2,初始值为 10 Counter sum = c1 + c2; // 将 c1 和 c2 相加,得到新的计数器对象 sum ``` 在上面的示例中,我们先创建了两个 `Counter` 对象 `c1` 和 `c2`,分别表示计数器的初始值为 5 和 10。然后,我们使用 `+` 运算符将它们相加,得到一个新的计数器对象 `sum`,其值为 15。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值