请解释这个java代码

时间:2011-11-23 20:40:27

标签: java

在这个程序中如果我输入10表示输入一个值是什么输出? num1变为10,而num2为6,我不明白num1 = num1是什么意思? 10 = 10 + 2 = 12

我想我明白了,用户花了10分钟,然后num1分配了num1 + 2的值,即num2,然后变为num112然后12/6 = 2

输出:2

import java.util.*;

public class Calculate
{
    public static void main (String[] args)
    {
        Scanner sc = new Scanner(system.in);
        int num1, num2;
        num2 = 6;
        System.out.print("Enter value");
        num1 = sc.nextInt();
        num1 = num1 + 2;
        num2 = num1 / num2;
        System.out.println("result = " + num2);
    }
}

8 个答案:

答案 0 :(得分:4)

它将num1 + 2的值分配回num1

是的,如果num1 = 10,则值12将存储在num1中。

然后将6除以2

此外,它永远不会说num1 = num1,你不能隔离这样一个语句的部分 - 语句,一个赋值,是num1 = num1 + 2

答案 1 :(得分:1)

您必须了解的是num1不会成为固定数字(例如10),它仍然是变量。根据定义,变量会有所不同。

当您说x = 10然后x = x+1时,真正发生的事情是这样的:y = x + 1然后是x = y

答案 2 :(得分:1)

int num1, num2; 
num2 = 6; // Now num2 has value 6
System.out.print(Enter value"); 
num1 = sc.nextInt(); // Now num1 has value 10, which you just entered
num1 = num1 +2; // num1 is being assigned the value 10 + 2, so num1 becomes 12
num2 = num1/num2; // Now num1 = 12 and num2 = 6; 12/6 = 2
System.out.println("result = "+num2); 

你应该得到2的输出;见上述评论......

答案 3 :(得分:1)

public class Calculate  {
    public static void main (String[] args) {
        Scanner sc = new Scanner(system.in);  // Whatever you read from System.in goes into the "sc" variable.
        int num1, num2;                       // num1 = 0.  num2 = 0.
        num2 = 6;                             // num2 = 6.
        System.out.print(Enter value");
        num1 = sc.nextInt();                  // Read in the next integer input and store it in num1.
        num1 = num1 +2;                       // num1 gets 2 added to it and stored back in num1.
        num2 = num1/num2;                     // num1 gets divided by num2 and the (integer) result is stored in num2.
        System.out.println("result = "+num2); // Print out the result which is stored in num2.
    }
}

答案 4 :(得分:0)

在Java中,等号=是赋值运算符。它评估右侧的表达式,并将结果值赋给左侧的变量。因此,如果num1在语句10之前具有值num1 = num1 + 2;,那么在该语句之后它将具有值12

答案 5 :(得分:0)

num1 = sc.nextInt();
num1 = num1 +2;
num2 = num1/num2;

在这些语句中,=赋值运算符,而不是相等运算符。当你阅读它时,不要说“等于”,而是“指定”的值:

num1 is assigned the value of sc.nextInt().

所以,num1现在是10。

num1 is assigned the value of num1 + 2

所以,num1现在是12

num2 is assigned the value of num1 / num2, or
num2 is assigned the value of 12 / 6

所以,num2现在是2。

答案 6 :(得分:0)

  1. 需要用户输入数字。
  2. 将2添加到用户输入的数字。
  3. 将此值除以6并将结果添加到num2变量。
  4. 向用户打印“result = some number”。

答案 7 :(得分:0)

num1 = num1 +2;

表示您在num1中添加2。这可以表示为

num1 += 2; //which means the same as above

您的计划结果将由您正在进行的整数除法确定:

num2 = num1/num2;