java 面试for循环_一个基础的for循环面试题
下面的這段程序主要考察的就是for循環的基礎,輸出什么??????
1、 public class test {
2、
3、 /**
4、 * @param args
5、 */
6、 public static void main(String[] args) {
7、 // TODO Auto-generated method stub
8、 int i = 0;
9、 for (i++; i++
10、 System.out.println(++i);
11、 }
12、
13、 }
結果輸出是:13,為什么,我第一次看到這個面試題的時候真的是有點蒙的。13是如何得到的?
分析過程:for循環的基本格式for(A;B;C){}
首先執行A,并且A只執行一次(這個地方容易出錯),然后執行B,符合條件就執行循環體,若不存在循環體就直接執行B;不符合條件就直接跳出循環體。
對于這個題目:
首先要明白++i和i++的區別:i++,在執行完后i=i+1;++i,在執行前i=i+1
對于這個循環可以這樣寫for(i=i+1;i<10,i=i+1;i++)
開始i=0;
第一次循環:i++;則判斷條件是1<10,i=i+1;成立,執行循環體(若加一個輸出語句System.out.println(i)則為2),循環體不存在,執行i=i+1此時i為3
第二次循環:判斷條件是3<10,i=i+1;成立,執行循環體(若加一個輸出語句System.out.println(i)則為4),循環體不存在,執行i=i+1此時i為5
第三次循環:則判斷條件是5<10,i=i+1;成立,執行循環體(若加一個輸出語句System.out.println(i)則為6),循環體不存在,執行i=i+1此時i為7
第四次循環:則判斷條件是7<10,i=i+1;成立,執行循環體(若加一個輸出語句System.out.println(i)則為8),循環體不存在,執行i=i+1此時i為9
第五次循環:則判斷條件是9<10,i=i+1;成立,執行循環體(若加一個輸出語句System.out.println(i)則為10),循環體不存在,執行i=i+1此時i為11
第六次循環:則判斷條件是11<10,i=i+1;不成立,跳出循環,此時i為12
外面的輸出語句System.out.println(++i);等價于:i=i+1;System.out.println(i); 因此輸出的是13.
https://www.cnblogs.com/baiduligang/category/653781.html
總結
以上是生活随笔為你收集整理的java 面试for循环_一个基础的for循环面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打印矩阵 java_【Java】 剑指o
- 下一篇: java浏览文件夹_一个用java实现简