A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 咪咪 黑马帝   /  2011-11-8 18:16  /  1602 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int i=0;
system.out.println(i++);可以运行

system.out.println((i++));可以运行
system.out.println((i++)++);报错,为什么啊?

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 没研究过,求解。

查看全部评分

9 个回复

正序浏览
泼孩 黑马帝 2011-11-10 19:42:51
10#
编写代码前为神马不想清楚自己想要神马结论呢?进行下需求分析,了解自己的需求后再去试着编写代码吧
回复 使用道具 举报
李龙龙 黑马帝 2011-11-9 02:07:26
9#
自增,自减为单目运算符,要求只能用于变量,不能用于常量或表达式。结合方向从右到左。
回复 使用道具 举报
你(i++)后面的+就会被编成看做连接符这样写就行了System.out.println((i++)+(i++))
回复 使用道具 举报
804404980 黑马帝 2011-11-9 00:35:09
7#
system.out.println((i++)++);  可以改成system.out.println((i++)+"+");  右面就多一个加号了。  
回复 使用道具 举报
你这叫jvm情何以堪,是运算i++这个式子还是当作连接符
回复 使用道具 举报
你是不是想让 i++后在加一次?你可以这样(i++)+1,这样是可以的
回复 使用道具 举报
本帖最后由 肖瑞军 于 2011-11-8 23:02 编辑

system.out.println((i++)++);   JVM编译器会把(i++)后的第一个 + 当做连接符,输出语句从左向右执行代码 。+ 之后没有连接到任何东西 反而又连接一个 + ,当然编译通不过了!!  
回复 使用道具 举报
qy 黑马帝 2011-11-8 18:39:28
藤椅
i++本来就是一个运算式,那么运算式怎么可以自己加自己呢
回复 使用道具 举报
编译器不通过.System.out.println((i++)++);+号可以用来运算,也当作连接符,那你这样写你说编译器是要进行运算好呢,还是当作连接符呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马