问题和练习的答案:运算符

问题答案

  • 考虑以下代码片段:
arrayOfInts[j] > arrayOfInts[j+1]

问题: 代码包含哪些运算符?
答案: >+

  • 考虑以下代码片段:
int i = 10;
int n = i++%5;
  • 问题: 执行代码后in的值是什么?
    答案: i为 11,而n为 0.

    • 问题: 如果您使用前缀版本(++i))而不是后缀增量运算符(i++),则in的final值是多少?
      答案: i是 11,而n是 1.
  • 问题: 要反转boolean的值,您将使用哪个运算符?
    答案: 逻辑补运算符“!”。

  • 问题 :哪个运算符用于比较===两个值?
    答案: ==运算符用于比较,而=用于分配。

  • 问题: 解释以下代码示例:result = someCondition ? value1 : value2;
    答案: 这段代码应理解为:“如果someConditiontrue,请将value1的值分配给result。否则,将value2的值分配给result。”

Exercises

  • 更改以下程序以使用复合分配:
class ArithmeticDemo {

    public static void main (String[] args){
          
        int result = 1 + 2; // result is now 3
        System.out.println(result);

        result = result - 1; // result is now 2
        System.out.println(result);

        result = result * 2; // result is now 4
        System.out.println(result);

        result = result / 2; // result is now 2
        System.out.println(result);

        result = result + 8; // result is now 10
        result = result % 7; // result is now 3
        System.out.println(result);

    }
}

这是一种解决方案:

class ArithmeticDemo {

    public static void main (String[] args){
        int result = 3;
        System.out.println(result);

        result -= 1; // result is now 2
        System.out.println(result);

        result *= 2; // result is now 4
        System.out.println(result);

        result /= 2; // result is now 2
        System.out.println(result);

        result += 8; // result is now 10
        result %= 7; // result is now 3
        System.out.println(result);

    }
}
  • 在下面的程序中,解释为什么将值“ 6”连续打印两次:
class PrePostDemo {
    public static void main(String[] args){
        int i = 3;
        i++;
        System.out.println(i);    // "4"
        ++i;                     
        System.out.println(i);    // "5"
        System.out.println(++i);  // "6"
        System.out.println(i++);  // "6"
        System.out.println(i);    // "7"
    }
}

代码System.out.println(++i);的计算结果为 6,因为前缀++的计算结果为递增值。下一行System.out.println(i++);求和为当前值(6),然后加 1.因此,直到下一行才打印“ 7”。