java 面试for循环_一个基础的for循环面试题
下面的這段程序主要考察的就是for循環(huán)的基礎(chǔ),輸出什么??????
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、 }
結(jié)果輸出是:13,為什么,我第一次看到這個面試題的時候真的是有點蒙的。13是如何得到的?
分析過程:for循環(huán)的基本格式for(A;B;C){}
首先執(zhí)行A,并且A只執(zhí)行一次(這個地方容易出錯),然后執(zhí)行B,符合條件就執(zhí)行循環(huán)體,若不存在循環(huán)體就直接執(zhí)行B;不符合條件就直接跳出循環(huán)體。
對于這個題目:
首先要明白++i和i++的區(qū)別:i++,在執(zhí)行完后i=i+1;++i,在執(zhí)行前i=i+1
對于這個循環(huán)可以這樣寫for(i=i+1;i<10,i=i+1;i++)
開始i=0;
第一次循環(huán):i++;則判斷條件是1<10,i=i+1;成立,執(zhí)行循環(huán)體(若加一個輸出語句System.out.println(i)則為2),循環(huán)體不存在,執(zhí)行i=i+1此時i為3
第二次循環(huán):判斷條件是3<10,i=i+1;成立,執(zhí)行循環(huán)體(若加一個輸出語句System.out.println(i)則為4),循環(huán)體不存在,執(zhí)行i=i+1此時i為5
第三次循環(huán):則判斷條件是5<10,i=i+1;成立,執(zhí)行循環(huán)體(若加一個輸出語句System.out.println(i)則為6),循環(huán)體不存在,執(zhí)行i=i+1此時i為7
第四次循環(huán):則判斷條件是7<10,i=i+1;成立,執(zhí)行循環(huán)體(若加一個輸出語句System.out.println(i)則為8),循環(huán)體不存在,執(zhí)行i=i+1此時i為9
第五次循環(huán):則判斷條件是9<10,i=i+1;成立,執(zhí)行循環(huán)體(若加一個輸出語句System.out.println(i)則為10),循環(huán)體不存在,執(zhí)行i=i+1此時i為11
第六次循環(huán):則判斷條件是11<10,i=i+1;不成立,跳出循環(huán),此時i為12
外面的輸出語句System.out.println(++i);等價于:i=i+1;System.out.println(i); 因此輸出的是13.
https://www.cnblogs.com/baiduligang/category/653781.html
總結(jié)
以上是生活随笔為你收集整理的java 面试for循环_一个基础的for循环面试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打印矩阵 java_【Java】 剑指o
- 下一篇: java快速排序算法_JAVA版排序算法