根本原理:

//模拟 a++
function afterAdd(){
var temp = a;
a = a+1;
return temp;
} //模拟++a;
function beforeAdd(){
a = a+1;
return a;
}

所以网上找了几个面试题,大家看看:

题目一:输出i的值是多少?

public void test(){
int i = 0;
i=i++;
System.out.println(i);
}

题目二:输出y 和i的值分别是多少?

public class Test3 {
public static void main(String[] args) {
int y=0;
int i =0;
y=++y;
y=++y;
y=++y;
y=++y;
y=++y;
System.out.println("y="+y);
i=i++;
i=i++;
i=i++;
i=i++;
i=i++;
System.out.println("i="+i); } }

第三题:js中 console.log出来的结果分别是什么

var a = 5,
     b;
b = a++ +1;
console(b,a);
a = 5;
c = a-- + --a;
console(c,a);
a = 5;
d = --a + a++;
console(d,a);

第一题的答案是:0

第一题解析:i= i++;i++原理是:

int temp = i;
i = i+1;
return temp;

也就是说:i++执行的过程是:temp = 0;  i=1;返回 temp ;即返回0;回到实际的代码里面:i=i++;即 i=0;

注意:这里原理里面的 i= i+1; 的最后i的结果被 实际的代码给覆盖掉了。所以这句话一直是被覆盖。

第二题答案:5,0

第二题的解析:++y,比较好理解,所以y=5; x的部分跟第一题是类似的;i++ 结果是 0,

int temp = i; //代入i  int temp = 0;
i = i+1;// 代入i i= 1
return temp;// 返回 0;

回到代码:

i=i++; 即 i=0;
重复多次后 i=0,所以 输出 i = 0; 第三题的答案:第一个console.long (b,a):6,6;  第二个:console.long (c,a):8,3 ;第二个:console.long (d,a):8,5
第三题的解析:b = a++ +1; a++ 的结果:即
int temp = a; //代入i  int temp = 5;
a = a+1;// 代入i i= 1 a = 5+1; 即a = 6;
return temp;// 返回 5; 即 a++ 为 5;

a++的结果是5,所以 b = 5+1 所以=6;

a的结果是,6;       

第二个:console.long (c,a) :c = a-- + --a;   a--的结果

int temp = a; //代入i  int temp = 5;
a = a-1;// 代入i i= 1 a = a - 1; 即a = 4;
return temp;// 返回 5; 即 a-- 为 5;

--a ,当前 a =4,--a 即 a= 3; 所以 c = 5+3 所以 c = 8,a = 3;

第二个:console.long (d,a) :d = --a + a++;   --a的结果,4; a++的结果:

int temp = a; //代入i  int temp = 4;
a = a+1;// 代入i i= 1 a = 4 + 1; 即a = 5;
return temp;// 返回 4; 即 a++为 4;

a++ 为 4,d= 4+4 所以d=8 a = 5;

i++ 和++i 的理解 以防面试的更多相关文章

  1. 干货,阿里P8浅谈对java线程池的理解(面试必备)

    线程池的概念 线程池由任务队列和工作线程组成,它可以重用线程来避免线程创建的开销,在任务过多时通过排队避免创建过多线程来减少系统资源消耗和竞争,确保任务有序完成:ThreadPoolExecutor ...

  2. 30K入职腾讯,全靠这份606页的Android面试指南

    前言 光阴似箭,日月如梭,时间真的过得飞快. 加上实习,从事 Android 开发,差不多有 5 年了.在上家公司职务.薪酬感觉已经到达了天花板,没有上升的余地.而且在这家公司过于安逸了,想换个有挑战 ...

  3. 一个五年 Android 开发者百度、阿里、聚美、映客的面试心经

    花絮 也许会有人感叹某些人的运气比较好,但是他们不曾知道对方吃过多少苦,受过多少委屈.某些时候就是需要我们用心去发现突破点,然后顺势而上,抓住机遇,那么你将会走向另外一条大道,成就另外一个全新的自我. ...

  4. 面试体验:Facebook 篇(转)

    http://www.cnblogs.com/cathsfz/archive/2012/11/05/facebook-interview-experience.html 2012-11-05 08:2 ...

  5. ABC: Always Be Coding——程序员面试必

    本文作者@guitardave24 ">David Byttow 是一名程序员,曾在 Google 和 Square 等公司工作过. 在正文之前,先让我们回答几个简单的问题:第一,你面 ...

  6. Steve Yegge:Google面试秘籍

    我憋了很长时间想写点关于去Google面试的秘籍.不过我总是推迟,因为写出来的东西会让你抓狂.很可能是这样.如果按统计规律来定义"你"的话,这文章很可能让你不爽. 为啥呢?因为啊- ...

  7. 360大牛:全面解读PHP面试

    让大家了解基本面试流程和面试的核心要求以及意义是什么并理解PHP面试考点主要以基础为核心,说明PHP面试考察范围. 有需要联系:QQ:1844912514

  8. 年底Android面试整理(附答案)

    面试,无非都是问上面这些问题(挺多的 - -!),聘请中高级的安卓开发会往深的去问,并且会问一延伸二.以下我先提出几点重点,是面试官基本必问的问题,请一定要去了解! 基础知识 – 四大组件(生命周期, ...

  9. ios面试心得

    第一部分:面试题   注意,下面这些题只是我准备的题库.在实际面试的时候我会根据面试者的水平抽出相应的题目来出的. 技术 基础   为什么说Objective-C是一门动态的语言? 讲一下MVC和MV ...

随机推荐

  1. Python中的集合set

    >>> help(set) Help on class set in module __builtin__: class set(object) | set(iterable) -- ...

  2. 安装mysql提示This application requires .NET framework 4.0.

    问题描述:安装MySQL社区版时遇到This application requires .NET framework 4.0. 解决方法:在http://search.microsoft.com/zh ...

  3. 数据结构期末复习( はち)--VOA图关键路径求法

    题目如下图: 注:将123456当成abcdef. 事件最早发生事件求法:找从原点到该事件的最长路径(从前往后推) 对a:Ve=0 对b:Ve=max{ 2 , 15+4 }=19 对c:Ve=15 ...

  4. Openstack搭建(流水账)

    Openstack管理三大资源:1.网络资源2.计算资源3.存储资源 Keystone 做服务注册 Glance 提供镜像服务 Nova 提供计算服务 Nova scheduler决策虚拟主机创建在哪 ...

  5. 【解决】ERROR in xxx.js from UglifyJs

    当我们运行打包脚本npm run build或者打包iosweexpack build ios有可能会遇到以下报错 ERROR in index.js from UglifyJs ![](https: ...

  6. Laravel 打印已执行的sql语句

    打开app\Providers\AppServiceProvider.PHP,在boot方法中添加如下内容 5.2以下版本 // 先引入DB use DB; // 或者直接使用 \DB:: DB::l ...

  7. python正则表达式入门篇

    文章来源于:https://www.cnblogs.com/chuxiuhong/p/5885073.html Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. ...

  8. Word 2013发布博客测试

    Hello world ! I am from word2013! 测试修改 这里添加一行文字.   参考 1在 Word 中建立博客的相关帮助 2使用Word2013发布随笔到博客园 PS: 参考2 ...

  9. HBase(0.94.5)的Compact和Split源码分析

    经过对比,0.94.5以后版本主要过程基本类似(有些新功能和细节增加) 一.       Compact 2.1.   Compact主要来源 来自四个方面:1.Memstoreflush时:2.HR ...

  10. 《鸟哥的Linux私房菜》学习笔记(7)——grep及正则表达式

    一.grep命令 grep:根据模式搜索文本,并将符合模式的文本行显示出来 模式:由文本字符和正则表达式的元字符组合成的匹配条件 命令格式:grep [options] [file...] [root ...