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);

相关文章推荐

C4 - Item 30 了解prototype,getPrototypeOf以及__proto__的区别

译文对象(object)是Javascript的基本数据结构。直观上来说,对象表示的是一个关联字符串和值的表。但是当你深度挖掘下去,会发现有很多机制包含在对象当中。 就像很多面向对象语言一样,Jav...

[互联网面试笔试汇总C/C++-4] 进程和线程的区别

简而言之,一个程序至少有一个进程,一个进程至少有一个线程.  线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序...

【Xcode学C-4】进制知识、位运算符、变量存储细节以及指针的知识点介绍

默认是十进制。八进制前面加0,即int num1=015;是13。十六进制前面加0x/0X,即int num1=0xd,结果是13。二进制前面是0b/0B,即int num1=0b1101,结果是13...

log4c日志库的用法,再封装及其完整例子

找了多篇文章,发现都讲的不怎么简明。自己摸索了下,记录如下: Log4c中有三个重要的概念, Category, Appender, Layout。 Category用于区分不同的Logger, 其实...
  • fdl19881
  • fdl19881
  • 2012年11月16日 21:51
  • 12025

在C/C++代码中使用SSE等指令集的指令(4)SSE指令集Intrinsic函数使用

在http://blog.csdn.net/gengshenghong/article/details/7008682里面列举了一些手册,其中Intel Intrinsic Guide可以查询到所有的...

小米4C直接解锁、刷入TWRP、CM13和Gapps

小米4C直接解锁、刷入TWRP、CM13和Gapps
  • ztguang
  • ztguang
  • 2016年10月16日 07:45
  • 5684

c/c++(疑4) 指针数组和数组指针之间关系

指针数组和数组指针概述(数组指针(指向数组的指针)与指针数组(存放指针的数组)) 指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。 数...

【密码学】RC4加解密原理及其Java和C实现算法

RC4历史RC4由Ras Rivest于1987年由RSA Security设计。当它被正式称为“Rivest Cipher 4”时,RC首字母缩略词被理解为代表“Ron’s Code”。RC4最初是...

solidwork做的模型能在C4D中渲染

软件要求:windows xp sp3、SolidWorks 2010、CINEMA 4D R11.51、打开SolidWorks 2010,画一个圆柱体,抽壳一个罐子,尺寸无所谓; 2、点击如图所示...

开源日志系统 log4c 使用心得+总结

本人最近研究了一下开源的日志系统log4c。简单总结一下: 一、安装: 我看网上好多人介绍log4c安装的时候都说有两个步骤:先下载expat安装包并安装expat,然后下载log4c安装包...
  • Sky_qing
  • Sky_qing
  • 2012年01月18日 11:00
  • 24753
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: c+=4和c=c+4的区别
举报原因:
原因补充:

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