Java面试题求解,该如何解决
Java面试题求解
今天面试 面试官出了一道简单的面试题,但是我不会。
int i=1,n=1;
i = i ++ + + n ;
i是多少?
请问红色部分是什么意思?
i ++ 能理解 + 能理解, 但是没见过 +n 的,这种是什么表达式?
------解决方案--------------------
年轻人,那是正数的标志
+1,-1没见过?
------解决方案--------------------
出这种题的都是SB
------解决方案--------------------
------解决方案--------------------
i = (i++) + (+ n) ; //+n就是正1。这写法除了增加出错风险和阅读难度一点意义都没有。包括I=I++;
------解决方案--------------------
对的啊 实际上那个可以替代为
i=(i++) + (+n);
所以结果应该是2;
今天面试 面试官出了一道简单的面试题,但是我不会。
int i=1,n=1;
i = i ++ + + n ;
i是多少?
请问红色部分是什么意思?
i ++ 能理解 + 能理解, 但是没见过 +n 的,这种是什么表达式?
------解决方案--------------------
+1,-1没见过?
------解决方案--------------------
出这种题的都是SB
------解决方案--------------------
public static void main(String[] args)
{
int i = 1;
int j = 1;
//可以通过编译的:
//通俗点讲:++只能是紧挨着i,或紧挨着j,否则的++就编译不过;
i = i + + j; //++写道一块就是错的;
System.out.println(i);
//++写到i的后面;
i = 1;
j = 1;
i = i ++ + j;
System.out.println(i);
i = 1;
j = 1;
i = i ++ + + j;
System.out.println(i);
i = 1;
j = 1;
i = i ++ + + + j;
System.out.println(i);
i = 1;
j = 1;
i = i ++ + + + + j;
System.out.println(i);
//例如,不能通过编译的:i = i ++ ++ + j;
System.out.println("--------------");
//++放到j的前面
i = 1;
j = 1;
i = i + ++ j;
System.out.println(i);
i = 1;
j = 1;
i = i + + ++ j;
System.out.println(i);
}
------解决方案--------------------
i = (i++) + (+ n) ; //+n就是正1。这写法除了增加出错风险和阅读难度一点意义都没有。包括I=I++;
------解决方案--------------------
对的啊 实际上那个可以替代为
i=(i++) + (+n);
所以结果应该是2;