Movatterモバイル変換


[0]ホーム

URL:


Documentation

The Java™ Tutorials
Trail: Learning the Java Language
Lesson: Language Basics
Home Page >Learning the Java Language >Language Basics
« Previous • TOC

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
SeeDev.java for updated tutorials taking advantage of the latest releases.
SeeJava Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
SeeJDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.

Answers to Questions and Exercises: Operators

Answers to Questions

  1. Consider the following code snippet:
    arrayOfInts[j] > arrayOfInts[j+1]
    Question: What operators does the code contain?
    Answer:>,+

  2. Consider the following code snippet:
    int i = 10;int n = i++%5;
    1. Question: What are the values ofi andn after the code is executed?
      Answer:i is 11, andn is 0.

    2. Question: What are the final values ofi andn if instead of using the postfix increment operator (i++), you use the prefix version (++i))?
      Answer:i is 11, andn is 1.

  3. Question: To invert the value of aboolean, which operator would you use?
    Answer: The logical complement operator "!".
  4. Question: Which operator is used to compare two values,= or== ?
    Answer: The== operator is used for comparison, and= is used for assignment.
  5. Question: Explain the following code sample:result = someCondition ? value1 : value2;
    Answer: This code should be read as: "IfsomeCondition istrue, assign the value ofvalue1 toresult. Otherwise, assign the value ofvalue2 toresult."

Exercises

  1. Change the following program to use compound assignments:
    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);    }}

    Here is one solution:

    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);    }}
  2. In the following program, explain why the value "6" is printed twice in a row:
    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"    }}
    The codeSystem.out.println(++i); evaluates to 6, because the prefix version of++ evaluates to the incremented value. The next line,System.out.println(i++); evaluates to the current value (6), then increments by one. So "7" doesn't get printed until the next line.
« PreviousTOC

About Oracle |Contact Us |Legal Notices |Terms of Use |Your Privacy Rights

Copyright © 1995, 2024 Oracle and/or its affiliates. All rights reserved.

Previous page: Questions and Exercises: Operators

[8]ページ先頭

©2009-2025 Movatter.jp