`
show213
  • 浏览: 6612 次
社区版块
存档分类
最新评论

递增运算

    博客分类:
  • Java
 
阅读更多
关于递增的运算,虽然看起来没有什么难度,但在有些面试笔记中却常常出现:
首先我们来看看++的一个运算原理:

i++的工作原理,程序会首先保留i在执行自增运算之前的值,用来参与运算,然后将i的值增1。
k=i++
k=i
x=x+1

++i的工作原理,程序会首先将i加上1,然后把结果赋给自己,再放入到表达式中运算。  
k=++i          
i=i+1
k=i;

从以上的运算的一个结果可以看到一点,就是无论是前加加还是后加加,i的值始终都会加1.
下面来看一道变态的题:

int i=1,k=1,a=0,b=0;

a=2*i+++4+i++;
b=2*++k+4+(++k);

算出a和b分别是多少?
其实我们一般不会这么写,就算这么变态的题出现了,也是跟机器来运算的。但如果你静下心来算算,我敢打赌,10个人有8个人会算错,那剩下的两个人一个是出题的,一个是高手。
如果算不下去,可以放在eclipse里看看结果。


public class IncreasPlus {
	
	public static void main(String[] args) {		
		int i=1,k=1,a=0,b=0;
		
		a=2*i+++4+i++;//这个算式从左至右,首先,i*2进行运算,运算完成后i自加一次,然后,2+4进行运算=6,最后6+i,注意此时的i已经为2了,然后i再自加一次。	
		b=2*++k+4+(++k);//这个算式由于小括号的加入,给人第一眼的错觉好像是要先运算++k,如果是这样算就是12了,但其实括号在这里只是做一个分隔而已.
		System.out.println("a="+a+" "+"b="+b);
		System.out.println("i="+i+" "+"k="+k);
		// int b=2*++k+4+(++k);
		// int b=2* ++k + 4 + (++k);
		// int b=2* 2 + 4 + 3;
		// int b=4 + 4 + 3;				
		// int b=11;		
	}	
	
}



0
3
分享到:
评论

相关推荐

    递增递减运算,WPF技术。

    基于WPF技术的控件。可以递减运算,也可以递增运算。很方便的

    PHP对字符串的递增运算分析

    有同学问了一个问题: 复制代码 代码如下: <?php for($i = ‘A’; $i <= ‘Z’; $i++) { echo $i; } 输出是啥? 输出是: ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARAS……....

    PHP下对字符串的递增运算代码

    注意PHP对字符串的递增运算,需要的朋友可以参考下。

    Javascript入门学习第三篇 js运算第1/2页

     // 前递增运算,即先对运算数进行递增,然后再去计算。 //输出 i =2; j=2 ; i = 1 ; j = i ++; // 后递增运算,即先去计算,然后再对运算数进行递增。 //输出 i =2; j=1 ; 3,

    线性表及其运算(递增排序、插入)

    设已建立了一个元素个数为10递增排序的线性表:12,14,16,22,25,27,29,32,43,70。若将待插入数据28插入到合适位置,首先将线性表的末尾元素与之比较。如果该元素小于待插入元素,则直接将插入元素放到线性表...

    第9讲:算术运算 递增减 上升下降沿_S7-200 PLC培训教程.flv

    第9讲:算术运算 递增减 上升下降沿_S7-200 PLC培训教程flv,算术运算 递增减 上升下降沿!ADD_I 整数相加整数加法指令即两个整数类型的数据进行相加,结果传到目标处(目标也为整数)。ADD_DI 双整数相加双整数加法...

    数学递加运算计算器v1.0绿色免费版

    数学递加运算计算器适用于数字递增累加计算,在一些数学计算中,经常会遇到一些累加计算的问题,用这款计算器,只需输入首尾数字即可算出所有数字递增累加的结果。方便实用! 工具使用1、用于递加运算。 2、例如计算...

    利用单链表创建多项式,并实现多项式的加减乘法运算,以及对多项式根据指数进行递增排序

    利用单链表创建多项式,创建的多项式的每一项的第一个元素表示对应项的系数,第二个元素表示对应项的指数,实现多项式的加减乘法运算,以及对多项式根据指数进行递增排序

    PHP100视频教程 3:常用PHP运算类型介绍与应用.rar

    软件介绍 PHP100视频教程 3 之 常用PHP运算类型介绍与应用 1、算术运算 2、赋值运算 3、比较运算 4、逻辑运算 ...5、递增递减运算 视频长达27分钟,语言清晰易懂,配PPT课件,是初学者的好教程。

    JavaScript 递增、递减运算符实例

    递增、递减运算符实例,基础Js代码范例,新手可参考哦。

    数据结构实验——线性表及其运算

    实验内容:有一个已按递增次序排好序的顺序表,今输入一个数,要求按原来的排序规律将它插入到顺序表中。

    一元稀疏多项式的表示以及加法运算

    (1) 多项式以指数递增的顺序输入,或者以乱序输入。 (2) 设计的数据结构应有利于表示任意一元稀释多项式。 (3) 输出原始多项式及运算结果。 原本在VC2008编译器先编译 (2) 用户可以输入任意多行,每一行代表稀疏...

    数学集合间基本运算

    (3)编写集合元素输出函数,对建立的集合链表按非递增方式输出; (4)编写求集合A、B的交C=A∩B的函数,并输出集合C的元素; (5)编写求集合A、B的并D=A∪B的函数,并输出集合D的元素; (6)求集合A与B的对称差...

    《数据结构》实验

    内容:1、设线性表存放在向量A[arrsize]的前elenum个分量中,且递增有序。试设计一算法,将x插入到线性表的适当位置上,以保持线性表的有序性。 2、用向量作存储结构,试设计一个算法,仅用一个辅助结点,实现将...

    度量空间上规范二元运算的连续乘

    度量空间上规范二元运算的连续乘,吴小宁,,每个正实数都等价于一个递增的整数序列. 在此基础上, 本文引入了度量空间上规范二元运算的双叠概念, 并利用双叠页序列定义了左连续

    算法与数据课设参考题目

    算法与数据课设参考题目,一、职工信息的综合运算 有一个职工文件emp.txt,职工记录包含职工编号、姓名、部门号和工资数,设计一个程序实现以下功能 1)从emp.txt文件中读出职工记录,建立一个带头节点的单链表L 2)...

    线性表的运算

    #include #include void insl(int v[],int m,int*n,int i,int b) //插入函数 { int j; if(*n==m) //存储空间已满时,出现"上溢"错误,不能进行插入 { printf("overflow\n"); return; } if(i>*n) i=*n+1;...}

    数据结构实验一

    内容:1、设线性表存放在向量A[arrsize]的前elenum个分量中,且递增有序。试设计一算法,将x插入到线性表的适当位置上,以保持线性表的有序性。 2、用向量作存储结构,试设计一个算法,仅用一个辅助结点,实现将...

Global site tag (gtag.js) - Google Analytics