一个基础的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) ...
随机推荐
- 【翻译】Ext JS 6.2 早期访问版本发布
原文:Announcing Ext JS 6.2 Early Access 非常开心,Sencha Ext JS 6.2早期访问版本今天发布了.早期访问版本的主要目的是为了让大家进行测试并评估Ext ...
- java的list几种实现方式的效率(ArrayList、LinkedList、Vector、Stack),以及 java时间戳的三种获取方式比较
一.list简介 List列表类,顺序存储任何对象(顺序不变),可重复. List是继承于Collection的接口,不能实例化.实例化可以用: ArrayList(实现动态数组),查询快(随意访问或 ...
- JSP自定义标签之简单标签入门
在sun官方文档上有下面这样一段话. 官方文档声明 public interface SimpleTag extends JspTag Interface for defining Simple Ta ...
- (NO.00004)iOS实现打砖块游戏(六):反弹棒类
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 打砖块游戏另一个要素是反弹棒,我们在这篇类来实现反弹棒类. 创建 ...
- 如何在Cocos2D 1.0 中掩饰一个精灵(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 掩饰一个精灵:实现代码 打开HelloWorldLayer.m并 ...
- Java进阶(一)Java内存解析
栈.堆.常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同.本文将深入Java核心,简单讲解Java内存分配方面的知识. 首先我们先来讲解一下内存中的各个区域. stack(栈) ...
- IT职场: 选择外企利与弊
前几天有个同学打电话问我选择国内企业与外企的利弊,很可笑的是他是学机械的:既然和我完全不在一个行业,因此我只是说了我们IT外企的利与弊,毕竟隔行如隔山. 首先简单自我介绍一下,我所在的公司是美资500 ...
- C语言中字符串常用函数--strcat,strcpy
strcpy 原型声明:extern char *strcpy(char* dest, const char *src); 头文件:#include <string.h> 功能:把从src ...
- Leetcode_19_Remove Nth Node From End of List
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41778305 Given a linked list, r ...
- 8、Preferences
(官网:www.libgdx.cn) Preferences是保存简单数据的一种很好的方式,比如用户设置,游戏状态等.Preferences原理像hash map,使用字符串作为键值,多种类型作为值. ...