01_javaSE面试题:自增变量

开启刷面试题,都是根据视频进行刷面试题的

自增变量,只要记住两点

  • i++ 是先赋值后计算
  • ++i 是先计算后赋值

看下面的代码

        int i = 1;
        i = i++;
        int j = i++;
        int k = i + ++i * i++;
        System.out.println("i="+ i);
        System.out.println("j=" +j);
        System.out.println("k="+ k);

这里要注意两点

  1. 自增变量的算法
  2. 运算符的优先级

运行结果如下

i=4
j=1
k=11

我只害怕一样,那就是配不上我所受的痛苦 !

原文地址:https://www.cnblogs.com/zhenghengbin/p/11145043.html

时间: 2024-08-11 17:46:10

01_javaSE面试题:自增变量的相关文章

JavaSE 笔试题: 自增变量

JavaSE 笔试题 自增变量 public class Test { public static void main(String[] args) { int i = 1; i = i++; int j = i++; int k = i + ++i * i++; System.out.println("i=" + i); System.out.println("j=" + j); System.out.println("k=" + k); }

面试题(一)自增变量

1 int a = 1; 2 a = a++; 3 int b = a++; 4 int c = a + ++a * a++; 5 System.out.println(a);//4 6 System.out.println(b);//1 7 System.out.println(c);//11 自增变量:解析 第一步:int a = 1中,将a放入到局部变量表中,此时为a=1. 第二步:a=a++中,先算右边部分,由于++在右边,所以先将a的值压入到操作数栈中为1,然后a进行自增操作,局部变量

获取ACCESS数据库中自增变量的值

/// <summary> /// 获取自增变量值 /// </summary> /// <returns>自增变量值</returns> public int getReturnIdentity() { //Conn_Open(); string strCMDtext = @"select @@identity"; OleDbCommand cmd_sql = new OleDbCommand(strCMDtext, conn_1);

织梦dedecms自增变量autoindex标签的使用(转)

织梦dedecms自增变量autoindex标签的使用 例1: {dede:arclist titlelen='120' row='8' typeid='2'}         <li class="li[field:global.autoindex/]"><a href="[field:arcurl /]" title="[field:title/]" target="_blank" >[field:

线程系列07,使用lock语句块或Interlocked类型方法保证自增变量的数据同步

假设多个线程共享一个静态变量,如果让每个线程都执行相同的方法每次让静态变量自增1,这样的做法线程安全吗?能保证自增变量数据同步吗?本篇体验使用lock语句块和Interlocked类型方法保证自增变量的数据同步. □ 线程不安全.数据不同步的做法 class Program { static int sum = 0; static void Main(string[] args) { Stopwatch watch = new Stopwatch(); watch.Start(); Parall

js在for循环里边定义函数用到自增变量产生的问题

笔者最近做了很多的应聘笔试题,其中有一个让我印象特备深刻,关于在一个for循环里边些函数运用到for循环里边定义的变量的问题,废话不多说,先上代码,大家可以看看这段代码最后的结果是什么: var array=[];//定义一个数组,空的 for(var i=0;i<3;i++){     array[i]=function(){         alert(i);     } } array[0](); array[1](); array[2](); 初学者可能咋一看,想,这不是很简单吗?依次弹

Fastdb 之定义cli_autoincrement 自增变量报错

最近在尝试使用fastdb进行开发,c++版本下测试基本ok,由于项目组采用C#开发,所以转用C#开发fastdb,结果发现C#版本各种阉割,如果定义变量自增,则会发生类型定义错误报错,一番追查下来发现是在fastdb 取值时未定义cli_autoincrement造成的. 由于fastdb对cli_autoincrement的处理方式类似于int4,所以对其进行类似int4类型的类型转换 修改代码如下: protected unsafe virtual Object getValue(Type

java中 ++前后差别试题及静态变量一旦赋值不可改变

package javaTest; public class Increment { private static int k=0; public static void main(String[] args) { int j=0; int n=0; for(int i=0;i<100 ;i++){ j=j++; k=k++; n=++n; } System.out.println(j); System.out.println(k); System.out.println(n); } } 结果:

java中 ++前后区别试题及静态变量一旦赋值不可改变

package javaTest; public class Increment { private static int k=0; public static void main(String[] args) { int j=0; int n=0; for(int i=0;i<100 ;i++){ j=j++; k=k++; n=++n; } System.out.println(j); System.out.println(k); System.out.println(n); } } 结果: