c+=4和c=c+4的区别

转载 2006年06月17日 01:29:00

String abc="aaa";
char c=abc.charAt(i);
c+=4;

以上如果把:c+=4; 改成:c=c+4;
就不正确。


********************************************************************************************************************************************************************************************************************************************************************

c+=4;
c=c+4;

当c是int类型的时候,这两个表达式是一样的,但是c不是int时,这两个表达式是不一样的。

这两个表达式都被称为赋值表达式。第二条语句使用的是简单赋值操作符(=),而第一条语句使用的是复合赋值操作符。(复合赋值操作符包括 +=、-=、*=、/=、%=、<<=、>>=、>>>=、&=、^=和|=)Java语言规范中讲到,复合赋值 E1 op= E2等价于简单赋值E1 = (T)((E1)op(E2)),其中T是E1的类型,除非E1只被计算一次。
换句话说,复合赋值表达式自动地将它们所执行的计算的结果转型为其左侧变量的类型。


所以要让c=c+4 编译能通过,得
int a=c;
c=(char)(a+4);
System.out.println(c);

c+=4和c=c+4的区别。

String abc="aaa";char c=abc.charAt(i);c+=4; 以上如果把:c+=4; 改成:c=c+4;就不正确。******************************...
  • ruanruoshi
  • ruanruoshi
  • 2006年05月08日 10:36
  • 1235

Java和C的区别

C语言是面向过程的语言,执行效率高。 Java是面向对象的语言,执行效率比C语言低。 C语言比Java多了指针,Java的多线程机制使程序可以并行运行。 Java程序多用于网络。C语言的安全性不...
  • u012482647
  • u012482647
  • 2016年02月17日 10:54
  • 466

新手须知 C、C++和VC++之间的区别

下面介绍的是C、C++、VC++ 三者之间的区别。供大家参考。 C语言是一种古老而又经久不衰的计算机程序设计语言,大约诞生于上个世纪60年代。由于它的设计有很多优点,多年以来深受广大程序设计人员的喜爱...
  • QQ1449301756
  • QQ1449301756
  • 2015年08月12日 12:53
  • 1552

自己理解的C和OC的本质区别

C和OC的区别 OC使用消息结构(messaging structure),C使用函数调用(function calling) 消息结构:运行时所执行的代码由运行环境决定(动态绑定)函数调...
  • u010438187
  • u010438187
  • 2015年04月19日 21:22
  • 657

C/C++的class和struct的区别

转载来源:http://blog.csdn.net/yangzhiloveyou/article/details/8536793 这里有两种情况下的区别。 (1)C的struct与C++的clas...
  • u010575592
  • u010575592
  • 2016年08月10日 21:50
  • 689

c语言与C++的区别

c语言与C++的区别有很多: 1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。  2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函...
  • shangguan_1234
  • shangguan_1234
  • 2016年03月30日 22:54
  • 2398

C#里面的值类型与引用类型的区别

C#里面把数据类型分为两大类,分别为值类型和引用类型,值类型包括基本数据类型(int ,double等),结构和枚举,,,引用类型包括接口,数组,Object类型,类,委托,字符串,null类型等,那...
  • u013360022
  • u013360022
  • 2014年01月04日 14:11
  • 6714

关于++运算符在java与c里面的区别

关于++运算符在java与c里面的区别 初学java,发现了++使用有点奇怪。贴上java代码public class Blog { public static void main(Str...
  • yongheng_1999
  • yongheng_1999
  • 2016年07月28日 10:55
  • 460

指针问题:C语言中 int*p[4] 和 int(*p)[4]的区别 等等

指针问题
  • kuailexiaoziwqx
  • kuailexiaoziwqx
  • 2016年10月17日 19:10
  • 759

Qt 5的学习--与Qt 4的几点区别

Qt5对Qt4的模块进行了重构,最明显的是对Qt Gui模块的修改,在Qt 5 中,Qt Gui不再包含有关界面的所有类。所有的图形界面程序需要的QApplication以及最重要的基类QWidget...
  • hudfang
  • hudfang
  • 2017年07月25日 23:00
  • 770
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: c+=4和c=c+4的区别
举报原因:
原因补充:

(最多只允许输入30个字)