一个基础的for循环面试题
下面的这段程序主要考察的就是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循环面试题的更多相关文章
- 前端基础进阶(六)-大厂面试题问题:循环闭包与setTimeout
我在上一篇闭包的文章中留下了一个关于setTimeout与循环闭包的思考题. 利用闭包,修改下面的代码,让循环输出的结果依次为1, 2, 3, 4, 5 for (var i = 1; i <= ...
- 把一个数组向右循环移动k位要求时间复杂度为O(n)
今晚做了下某公司的网络笔试题,好久没刷题了,现在渣得要死,里面有道程序设计题是 把一个数组向右循环移动k位要求时间复杂度为O(n) 给的方法定义为 public void solution(int a ...
- python基础:python循环、三元运算、字典、文件操作
目录: python循环 三元运算 字符串 字典 文件操作基础 一.python编程 在面向过程式编程语言的执行流程中包含: 顺序执行 选择执行 循环执行 if是条件判断语句:if的执行流程属于选择执 ...
- 如何在ASP.NET Core中实现一个基础的身份认证
注:本文提到的代码示例下载地址> How to achieve a basic authorization in ASP.NET Core 如何在ASP.NET Core中实现一个基础的身份认证 ...
- [转]如何在ASP.NET Core中实现一个基础的身份认证
本文转自:http://www.cnblogs.com/onecodeonescript/p/6015512.html 注:本文提到的代码示例下载地址> How to achieve a bas ...
- 用一个下午从零开始搭建一个基础lbs查询服务
背景 现在做一个sns如果没有附近的功能,那就是残缺的.网上也有很多现成的lbs服务,封装的很完整了. 我首先用了下百度lbs云,但是有点不适合自己的需要,因此考虑用mongodb建一个简单的lbs服 ...
- Python基础 条件、循环
1.条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. if if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的 ...
- 一个基础的CURL类
/** * 一个基础的CURL类 * * @author Smala */ class curl{ public $ch; public $cookie = '/cookie'; public $rs ...
- C#基础课程之三循环语句
for循环: ; i < ; i++) { Console.WriteLine("执行"+i+"次"); } while循环: while (true) ...
随机推荐
- qualcomm memory dump 抓取方法
Memory dump是系统出现crash时常用的分析故障原因的方法,qualcomm 各子系统运行时,为方便debug,都会开辟ram log和debug variable用于保存各系统运行信息及健 ...
- volatile适用场合
volatile适用场合 要在多线程中安全的适用volatitle变量,必须同时满足: 1.对变量的写入操作不依赖其当前值 不满足:number++.count = count * 5等 ...
- IOC 控制反转(Inversion of Control,英文缩写为IoC)
在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 在这样的齿轮组中,因为是协同工作,如果有一个齿轮出了问题,就可能会影响到整个齿 ...
- Java将网络地址对应的图片转成本地的图片
只知道浏览器使用的是HTTP协议,那么如何将网络资源使用JavaHTTP下载下来呢! 这只是一个非常简单的小示例,只是不想每次碰到关于此方面的内容忘了就无从下手! 示例创建HttpURLConn ...
- Libgdx 1.5.2发布
[1.5.2] - 修复问题 #2433 - 修复LWJGL在Mac OS X的本地载入问题 [1.5.1] - Gradle 升级到 2.2 - Android Gradle 工具升级到 1.0.0 ...
- python一行写不下,变多行
python里一行写不下,拆成多行, \和() 两种方法 在一行末尾 加上" \",也就是空格加上\ a= 'sdfaf' \ 'test' 注意两个对象都要独立,字符串 ...
- 网站开发进阶(二十八)初探localStorage
初探localStorage 注: localStorage经典项目应用案例 HTML5中提供了localStorage对象可以将数据长期保存在客户端,直到人为清除. localStora ...
- Xcode相关常用快捷键搜集
command + L: 跳转到指定行 control + i: 格式化代码 command + control + 上/下 在*.h和*.m之间切换. command + control ...
- 【面试笔试算法】Program 4 : Best Compression Algorithms(网易游戏笔试题)
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 易信是由网易和电信联合开发的一款即时通讯软件.除了语音聊天,免费电话等新功能以外,传统的文字信息聊天功能也得以保留,因此每 ...
- Java-Cookie源码
public class Cookie implements Cloneable { private static final String LSTRING_FILE = "javax.se ...