最近在看一些基础知识,发现自己以前忽略掉了很多东西,而这些东西恰恰是面试笔试中最常考到的

1.i=i+1

这个是最简单,最明了的一个表达式

2.有关于i++和++i的区别

i++和++i都是代表i=i+1的意思;

i++指的是i++所在的语句运行后,i再自增1;

++i指的是++i所在的语句运行前,i先自增1;

其实这个大家都懂,就不在阐述;

同时加一道题目,大家看看

int i=0;

i=++i + i++ + i++ + i++;

结果i等于多少?

首先,“++i” 后此时i= 1;然后第一个“i++” 后,i 依然等于1;但是第二个“i++”的时候,由于第一个“i++”的滞后自增,此时i=2;

到了第三个“i++”的时候,由于第二个滞后自增,此时i=3;所以i=1 + 1 + 2 + 3 = 7

3. i=i++;

如果基础不好的人,很容易和前面的表达式混淆,以为上面表达的意思是i=i++和i=i+1等价,其实差别很大的,

原因是java中有中间缓存变量的机制,所以i=i++等价于:

temp=i;

i=i+1;

i=temp;

所以如果有使用到i的值的时候,其实i的值是不变的

下面给一道面试题

    public static void main(String[] args) {
        int j =0;
        for (int i=0 ; i<100; i++){
            j = j++;
            //java使用了中间缓存变量
            //j= j ++;相当于
            //temp = j;
            //j = j + 1;
            //j = temp;
        }
        System.out.println(j);

}

其实最后j还是等于0,而不是想象中的100。

希望能帮助到大家。。。

有关于i++,i=i++等符号的笔记的更多相关文章

  1. 四.js 正则表达式

    一.正则表达式 1.定义:对字符串规则的描述 2.作用:可以检查字符串是否符合规则,可以按规则来截取字符串 3.定义: a.简单模式:var reg = /hello/; b.复杂模式:var reg ...

  2. Linux特殊符号浅谈

    Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可 ...

  3. VS2010 VS2012 VS2013 VS2015启动调试时老是提示正在下载公共符号

    VS2010 VS2012 VS2013 VS2015启动调试时老是提示正在下载公共符号,下载一些.dll文件,点取消后也能继续调试,但特别慢.解决方法:工具-选项,或者调试-选项和设置,将调试下的& ...

  4. url中的特殊符号含义

    1. # 10年9月,twitter改版.一个显著变化,就是URL加入了"#!"符号.比如,改版前的用户主页网址为http://twitter.com/username改版后,就变 ...

  5. [No0000A0]批处理命令学习之:常用的特殊符号

    学习要点:1.>.>>重定向符2.| 命令管道符3.&.&&.|| 组合命令4.^ 转义字符5.% 变量引导符6."" 界定符—————— ...

  6. 在ASP学习当中对双引号,单引号以及&符号的理解

    在我的Web安全学习的开始需要对ASP的代码有一定的熟悉程度但是在查看源码的时候经常性的看到双引号,单引号以及&号.并且对他们的用法经常产生疑惑的地方,这里是我搜集的一些理解和感悟,以期对AS ...

  7. js控制文本框只能输入中文、英文、数字与指定特殊符号.

    先在'' 里输入 onkeyup="value=value.replace(/[^\X]/g,'')" 然后在(/[\X]/g,'')里的 X换成你想输入的代码就可以了, 中文u4 ...

  8. latex均方极限符号l.i.m在lyx下的输入方法

    $\mathop{l.i.m}\limits_{x\to +\infty}$ 命令说明: 1.指定数学环境$$ 2.\mathop{l.i.m}指数学符号自定义为l.i.m 3.\limits_{x\ ...

  9. xml中处理大于小与符号

    原符号   <    <=    >    >=     &      '       " 替换符号 < <= > >= & ...

随机推荐

  1. 带你探索关于飞机Wi-Fi服务的神奇科学

    资料来源: Colin Anderson制片公司/ Getty图片社 在35000英尺的高空冲浪?哇哦,这当然是我们现在所期望的飞行方式了.根据2018年全球旅行者研究(2018 Global Tra ...

  2. PSI-BLAST|PHI-BLAST|UniProt|IGV|Galaxy|clustalx

    生物信息学软件: NCBI:BLAST,设定k-mer 默认是全局比对,Blastn是局部比对. PSI-BLAST最灵敏的BLAST,选中部分矩阵后在数据库中查找相应蛋白. PHI-BLAST找氨基 ...

  3. POJ - 1127 Jack Straws(几何)

    题意:桌子上放着n根木棍,已知木棍两端的坐标.给定几对木棍,判断每对木棍是否相连.当两根木棍之间有公共点或可以通过相连的木棍间接的连在一起,则认为是相连的. 分析: 1.若线段i与j平行,且有部分重合 ...

  4. 51nod 1393:0和1相等串

    1393 0和1相等串 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等. I ...

  5. torch.Tensor文档学习笔记

    A torch.Tensor is a multi-dimensional matrix containing elements of a single data type. 张量(torch.Ten ...

  6. Cordova搭建环境与问题小结

    1.Cordova介绍: Apache Cordova是一套设备API,允许移动应用的开发者使用JavaScript来访问本地设备的功能,比如摄像头.加速计.它可以与UI框架(如jQuery Mobi ...

  7. 19 01 03 css 中 reset 模块 设置

    主要就是让到时候 打入代码时候  把一些bug去除   或者 让一些固有的格式取消 /* 将标签默认的间距设为0 */ body,p,h1,h2,h3,h4,h5,h6,ul,dl,dt,form,i ...

  8. C#调用C++系列二:传结构体

    这一篇记录下C#调用C++的结构体的方式来使用OpenCV的数据格式,这里会有两种方式,第一种是C#传一个结构体和图像的路径给C++,然后C++将图像加载进来,再把传进来的结构体填满即可,第二种是C# ...

  9. i春秋-web-爆破-1

    题目内容:flag就在某六位变量中. 题目 include "flag.php"; $a = @$_REQUEST['hello']; if(!preg_match('/^\w*$ ...

  10. kotlin黑马影音项目学习笔记

    1.包布局 --------model--------presenter----------------impl----------------interf--------view--------ui ...