for循环的基础面试,确定能答对??
来源:互联网 发布:ag游戏平台源码 编辑:程序博客网 时间:2024/06/08 19:51
下面的这段程序主要考察的就是for循环的基础,输出什么??????
- public class test {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- int i = 0;
- for (i++; i++ < 10; i++);
- System.out.println(++i);
- }
- }
结果输出是: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.
- for循环的基础面试,确定能答对??
- MTK如此面试,你能答对多少
- MTK如此面试,你能答对多少
- MKT如果这样面试门,你能答对多少
- 你能答对吗??
- 看似简单,但不一定能答对的问题
- 简单的js问题,看你能答对吗?
- 关于java继承的一道题,你能答对吗?
- 据说下面两个问题都能答对的不到1%
- 听说能答对这十道题的都是python牛人
- 面试可以能遇到的基础算法
- 据说能答对5道题的人是天才,答对4道的是帅才,答对3道的是将才,答对2道的是奇才,答对1道的是人才
- 网易Java程序员两轮面试,这些问题你能答对几个?
- 经典的JS面试题目。看你答对了没?
- 经典的JS面试题目。看你答对了没?
- 经典的JS面试题目。看你答对了没?
- 敢说你java基础很好吗?你能答对几个?(Java基础知识点整理)
- 看看你能答对吗?
- Java继承中属性、方法和对象的关系
- Google的几个地理位置相关的API
- 一个js cookie操作类
- ibatis中SqlMapConfig的oracle数据库配置
- glib源码学习
- for循环的基础面试,确定能答对??
- 水利行业相关资料
- Securing Your Connection String in Windows Azure: Part 1
- cursor
- atoi函数实现
- 2012C++程序设计实验报告【9.2】
- 在Qt Creator中使用Opencv 2.3
- 李践版 绩效能力日志
- Oracle ROWID 方式访问数据库