int count=0; int i =3; int j=0; do{ j=1; while(j<3){ count++; j++; } i--; }while(i>0); count=count+j 为什么java中for(int i=0;i<6;i++){

int count=0; for (int i = 0; i < 10; i++) { count=count++; } System.out.println(count);

1.\u8fd9\u91cc\u9762\u6709\u4e00\u4e2a\u8fd0\u7b97\u7b26\u4f18\u5148\u7ea7\u7684\u95ee\u9898
2.\u9996\u5148\u201c++ \u201d\u7684\u4f18\u5148\u7ea7\u9ad8\u4e8e\u201c=\u201d
3.\u7136\u540e\u6211\u4eec\u770b\u4ee3\u7801
4.\u8fdb\u5165\u5faa\u73af\uff0c\u5148\u6267\u884ccount++\uff0c\u6b64\u65f6conunt\u4e3a1\u4f46\u662fcount++\u4ecd\u7136\u4e3a0\uff0c
5.\u63a5\u7740\u628a0\u8d4b\u503c\u7ed9count\uff0ccount\u5c31\u4ece1\u53c8\u53d8\u62100\u4e86\uff0c\u5982\u6b64\u53cd\u590d\u5faa\u73af\u3002

\u6211\u4f30\u8ba1\u4e0a\u9762\u7b2c\u56db\u884c\u7684\u4f60\u53ef\u80fd\u8fd8\u662f\u60f3\u4e0d\u901a\uff0c\u4e0b\u9762\u5199\u7684\u662f\u7406\u89e3\u90a3\u53e5\u8bdd\u7684\u3002
\u629b\u5f00\u4f60\u7684\u4ee3\u7801,\u770b\u4e0b\u9762\u7684\u4e09\u884c\uff1a
int count=0;
System.out.println(count++); //\u8f93\u51fa0
System.out.println(count); //\u8f93\u51fa1
\u4f60\u53ef\u4ee5\u628acount=count++;\u770b\u6210\u662fcount=(count++);\u4e5f\u5c31\u662fcount=0\u3002
\u6ce8\u610fcount\u4e0ecount++\u5e76\u4e0d\u662f\u4e00\u4e2a\u4e1c\u897f\uff0c\u5b83\u4eec\u5728\u5185\u5b58\u4e2d\u7684\u5730\u5740\u662f\u4e0d\u4e00\u6837\u7684\u3002

\u65e2\u7136\u8bf4\u5230\u5185\u5b58\u5730\u5740\u4e86\u5c31\u518d\u626f\u70b9\u522b\u7684\uff0c\u4f60\u8981\u662f\u89c9\u5f97\u4e71\u5ffd\u7565\u5c31\u53ef\u4ee5\u4e86\u3002
\u6211\u4e5f\u662f\u83dc\uff0c\u53ef\u80fd\u6709\u9519\u8bef\uff0c\u5982\u679c\u771f\u6709\uff0c\u5e0c\u671b\u5927\u795e\u53d1\u73b0\u4e86\u80fd\u6307\u70b9\u51fa\u6765\u3002
\u201ccount=0;\u201d\u5728\u8fd9\u53e5\u4ee3\u7801\u4e2d \u201ccount\u201d\u5728\u5185\u5b58\u4e2d\u7684\u67d0\u5904\uff0c\u201c0\u201d\u5728\u5185\u5b58\u4e2d\u7684\u53e6\u5916\u67d0\u5904\uff0c\u201ccount\u201d\u6307\u5411\u201c0\u201d\u7684\u5730\u5740\u3002\u7136\u540e\u201ccount++\u201d\u4e86\uff0c\u751f\u6210\u4e00\u4e2a\u65b0\u7684\u6570\u503c1\uff0c1\u4e5f\u5728\u5185\u5b58\u4e2d\u7684\u67d0\u5904\uff0c\u201ccount\u201d\u6307\u5411\u4e86\u201c1\u201d\u7684\u5730\u5740\u3002\u800c\u539f\u6765\u201c0\u201d\u6240\u5728\u7684\u5730\u5740\u3001\u6240\u5360\u7528\u7684\u5185\u5b58\u7a7a\u95f4\u4ecd\u7136\u5728\u90a3\u91cc\uff0c\u5982\u679c\u6ca1\u4ec0\u4e48\u7528\u7684\u8bdd\u90a3\u5c31\u7b49\u7740\u5783\u573e\u56de\u6536\u5668\u56de\u6536\u5b83\u91ca\u653e\u5185\u5b58\u7a7a\u95f4\u4e86\u3002\u5728LZ\u7684\u4ee3\u7801\u4e2d\u201c0\u201d\u53c8\u628acount\u7684\u6307\u5411\u4ece\u201c1\u201d\u90a3\u91cc\u593a\u4e86\u56de\u6765\u3002

\u697c\u4e3b\u4f60\u597d\uff1a

\u7b2c\u4e00\u6b21for\u5faa\u73af\uff1ai=0\uff0c\u6267\u884cint K=++i\uff1b\u540ei\uff0ck=1\uff1b
\u7b2c\u4e00\u6b21while\u5faa\u73af\uff1a\u8f93\u51fa1\uff0ck=3\uff1b
\u7b2c\u4e8c\u6b21while\u5faa\u73af\uff1a\u8f93\u51fa1\uff0ck=5\uff1b
\u7b2c\u4e09\u6b21k\u4e0d\u5c0f\u4e8e5\uff0c\u8df3\u51fawhile\u5faa\u73af\u3002
\u7b2c\u4e8c\u6b21for\u5faa\u73af\uff1aI++\u540e\uff0ci=2\uff0c\u6267\u884cint K=++i\uff1b\u540ei\uff0ck=3\uff1b
\u7b2c\u4e00\u6b21while\u5faa\u73af\uff1a\u8f93\u51fa3\uff0ck=5\uff1b
\u7b2c\u4e8c\u6b21k\u4e0d\u5c0f\u4e8e5\uff0c\u8df3\u51fawhile\u5faa\u73af\u3002
\u7b2c\u4e09\u6b21for\u5faa\u73af\uff1ai++\u540e\uff0ci=4\uff0c\u6267\u884cint K=++i\uff1b\u540ei\uff0ck=5\uff1b\u6b64\u65f6\u65e0\u6cd5\u8fdb\u5165while\u5faa\u73af\uff0c\u540e\u9762for\u5faa\u73af\u4e5f\u5c06\u9000\u51fa\u3002
\u6240\u4ee5\u8f93\u51fa\u7ed3\u679c\u4e3a\uff1a113\uff1b
\u697c\u4e3b\u5982\u679c\u4e0d\u60f3\u81ea\u5df1\u770b\uff0c\u53ef\u4ee5\u7528\u65ad\u70b9\u8c03\u8bd5\uff0c\u5f88\u6e05\u6670\u7684\u770b\u5230\u7a0b\u5e8f\u7684\u6267\u884c\u6d41\u7a0b\u7684

首先我猜你题目里面最后一句代码为“count=count+j;”,这是一段循环嵌套的代码,我们首先来看最里层的循环“j=1; while(j<3){ count++; j++; }”,这段代码里面,循环会执行两次,也就是说这段代码每被执行一次则count的值会被加2,而j恒定为3,因为每次执行这段代码前j的值都会被赋为1,而满足条件的时候j被加了2,所以代码执行完后j恒定为3。我们再来看外层的循环“do{ ...; i--; }while(i>0);”,因为i的初始值为3,所以循环中被省略的代码会被执行三次,也就是里层循环会被执行三次,因此这是后count的值为2×3=6,而里层循环只要执行完j就为3,所以最后一句“count=count+j;”执行后,count的值为9。有几个关键点,首先是do{}while()语句是先执行后判断,而while(){}是先判断后执行,其次就是这段代码的j=1这个语句,使得其后的 while(j<3){ count++; j++; }始终都能完成两次循环。

1.这里面有一个运算符优先级的问题
2.首先“++ ”的优先级高于“=”
3.然后我们看代码
4.进入循环,先执行count++,此时conunt为1但是count++仍然为0,
5.接着把0赋值给count,count就从1又变成0了,如此反复循环。

我估计上面第四行的你可能还是想不通,下面写的是理解那句话的。
抛开你的代码,看下面的三行:
int count=0;
System.out.println(count++); //输出0
System.out.println(count); //输出1
你可以把count=count++;看成是count=(count++);也就是count=0。
注意count与count++并不是一个东西,它们在内存中的地址是不一样的。

既然说到内存地址了就再扯点别的,你要是觉得乱忽略就可以了。
我也是菜,可能有错误,如果真有,希望大神发现了能指点出来。
“count=0;”在这句代码中 “count”在内存中的某处,“0”在内存中的另外某处,“count”指向“0”的地址。然后“count++”了,生成一个新的数值1,1也在内存中的某处,“count”指向了“1”的地址。而原来“0”所在的地址、所占用的内存空间仍然在那里,如果没什么用的话那就等着垃圾回收器回收它释放内存空间了。在LZ的代码中“0”又把count的指向从“1”那里夺了回来。

int count=0;
int i =3;
int j=0;
do{
j=1;

while(j<3)
{
count++;
j++;
}

i--;
}while(i>0);

count=count++;
这样的代码结果是count=7,
不可能是9,
如果去掉最后这句count=count++;
结果就是6,刚好就是里外循环总共循环了6次
也就是外循环i从3到1,3,2 就是 2次
内循环,j从0到2,0,1,2 也就是3次
总循环次数就是3*2=6

经过外层循环4次,内层循环每次两次,总的=2*4=8,后面再加1,就是9了

扩展阅读:unsigned int count ... const double pi ... int a[3][2] ... int a[10] ... python for in count ... int a=2 ... int a=0 ... sql count1 ... int sum 0 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网