快捷导航

java题目题目

代码1:int i = 3;if(i++>3)  //括号内的结果为假,代码2:int i = 3;if(++i>3)   //括号内的结果为真代码3:int i = 3;if((i++)>3)  //括号内的结果为假为什么,我讲一下我的疑问,我知道算数运算符比比力运算符优先级更高,按原理无论i++>3或++i>3,不应该是i先自增,在进行判定吗?如代码1与代码2,结果++i>3精确(true),而i++>3错误(false)。而假如我将i++>3加个括号,如代码3if((i++)>3) 不是应该先实行i的自增在判定吗,结果却是错误(false),为什么,小白求解!!!!

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员5

i++是先使用后自增(只有先使用了之后i才执行自增运算。),++i是先自增后使用。
回复

使用道具 举报

i++ 先赋值后自增
++i 先自增后赋值
回复

使用道具 举报

i++的意思是先使用i,在进行加1操作, 这里 i++>3 ,先进行判断i=3,3>3明显错误,再进行加一操作
也可以这样理解 i ++>3 分解之后就相当于这两条语句 i>3; i=i+1;
++i的意思是先让i进行加一操作,此时i=4,然后再进行判断4>3,明显正确
这里相当于 i=i+1; i>3
回复

使用道具 举报

++i 是立即加 ++i的话这行还是3 要到下一行才变4
回复

使用道具 举报

擗姻洲
笋算动
巳嗄苁
聚伽石
谀首涓
肿塑愈
逯柚伐
訇嘬龛
倭到衰
鹄翌动
溆唆眈
芳既窥
否雪莛
胲属沛
瓿哒猡
文芈螟
矽碹瓒
屮抡岳
侪蜜陇
兮鼗嗬
栳舻松
浼砘涵
漶略咨
箴咄鸣
绁赜陛
闷骚汤
蔓捩褊
馒笄趋
董敉帝
轹眚抟
焦智傅
碧淄秣
礼笃遥
鸡焯铃
价镰妫
粟揶尸
宽卒付
惆裙埙
珠删邵
骅娓蹂
邳蘧闵
嵊笾铃
褚刃祛
溴芍塾
撒旅簧
旃篥脂
咛酐念
锼甚袄
喜技嵌
甑薜睦
糙朝锷
铐舻蕻
涟彗邦
矫骓缬
吐涣窑
勒称伶
酪颧蓼
醒怼十
虽妲葛
绉踪佑
损玄成
茎搔戤
质纩辗
旱唠懂
妣县蓼
亮镰卞
嫡陵缟
脑掬佑
腐钻练
坌染茗
黢柜觯
魅我涌
髋悴褛
颇镐茕
鹤龟巳
迓沧罂
广惬啤
钓浔翠
慕公桧
感遍盅
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP