文档

Java™ 教程-Java Tutorials 中文版
问题和练习
Trail: Learning the Java Language
Lesson: Language Basics

问题和练习:运算符

问题

  1. 考虑下面的代码片段。
    arrayOfInts[j] > arrayOfInts[j+1]
    
    代码包含哪些运算符?
  2. 考虑下面的代码片段。
    int i = 10;
    int n = i++%5;
    
    1. 代码执行后,in 的值是多少?
    2. 如果不是使用后缀递增运算符(i++),而是使用前缀版本(++i),in 的最终值是多少?
  3. 要反转 boolean 的值,你将使用哪个运算符?
  4. 使用哪个运算符来比较两个值 ===
  5. 请解释以下代码示例:result = someCondition ?value1 : value2;

练习

  1. 更改以下程序以使用复合赋值:
    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);
         }
    }
    
    
  2. 在下面的程序中,解释为什么连续两次打印值 "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"
        }
    }
    

检查一下你的答案


Previous page: Summary of Operators
Next page: Expressions, Statements, and Blocks