java面试代码题分享,运算符题

下面给大家分享两道经典的java面试代码题,主要是和运算符问题相关的内容,一起来看看具体的题目答案吧。

题目一

1、题目

运算符优先级问题

下面代码的结果是多少?

public class Test
{
    public static void main(String[] args)
    {
        int k = 0;
        int ret = ++k + k++ + ++k + k;
        // ret的值为多少 
        System.err.println(ret);
    }
}

2、答案

这道题目主要考察的是++i和i++的区别。

++在前则先自增再赋值运算,++在后则先赋值再自增运算。

所以,结果为8。

题目二

1、题目

运算符问题

下面的代码分别输出什么?

public class Test { 
 
    public static void main(String[] args) { 
 
        int i1 = 10, i2 = 10; 
 
        System.err.println("i1 + i2 = " + i1 + i2); 
 
        System.err.println("i1 - i2 = " + i1 - i2); 
 
        System.err.println("i1 * i2 = " + i1 * i2); 
 
        System.err.println("i1 / i2 = " + i1 / i2); 
 
    } 
 
}

2、答案

这道题目主要考察的就是运算符的优先级、字符串与数字中的+为连接符号。

在第1条当中,都是都是相加,那么,从前到后的顺序运算,字符串与数字相加,连接为一个字符串,再与后面的数字相加,再次连接为字符串,所以,结果为“i1 + i2 = 1010”。

第2条编译是错误的,字符串不能和数字用减号连接。

第3条、第4条当中,乘除的优先级高,会先运算,而后再和字符串连接,所以,结果分别为:“i1 * i2 = 100”、“i1 * i2 = 1”。

以上两道经典的java面试代码题你都了解了吗?

更多java经典面试代码题,请继续关注奇Q工具网的面试题栏目了解吧。

推荐阅读:

携程java面试题分享,后台开发面试题整理

java面试题2019最新答案详解

redis常见面试题有哪些?redis集群面试题及答案整理