当i = 9时,执行到i++ < 10,此时9<10,于是执行i++ < 10里面的i++,此时i=10,然后继续循环,执行后面的i++,此时i= 11,继续下一循环,到i++ < 10这一块,11<10,不成立,于是执行执行i++ < 10里面的i++,此时i= 12,然后到打印语句,先执行++i,此时i就是13了,再打印i,就是13
这道题目主要是考察你对i++和++i的理解。一旦一条语句中有i++的出现,你可以这样理解,把i++所在的语句拆分成两条:第一条就是在原语句不变的基础上,去掉++二字;第二句就是i = i+1。以i++<10为例,即:i<10;i++;。System.out.println(i++);就是:System.out.println(i);i=i+1;。而对于++i的理解就相对容易了,也是拆分成两条语句:第一条就是i = i + 1;;第二句就是在原语句不变的基础上去掉++二字。按这个理解,你再看看能不能捋顺。
看你的loop觉得你想要的结果是:1-9吧,你的loop有两个错:第一,for()里第一个参数是专门针对loop里的运算进行指定的,loop外的一律起不到作用,写的话只能这么写:for(int i=o;i<10;i++);第二,println里没必要写++i。 欢迎追问