system.out.prinln()中的正确语法

时间:2016-04-05 15:38:10

标签: java

今天开始学习Java,我需要帮助来消除疑虑。

textField.text

当我写import java.util.Scanner; public class JavaApplication1 { public static void main(String[] args) { Scanner leo = new Scanner(System.in); double f, s; System.out.println("Enter first number: "); f = leo.nextDouble(); System.out.println("Enter second number: "); s = leo.nextDouble(); System.out.println("The sum is " + f + s); } } 时,两者都被视为+f+s

String

但是当我写Enter first number: 2 Enter second number: 5 The sum is 2.05.0 时,它们被视为(f+s)(这是期望的结果)。

doubles

为什么会这样?

另外,为什么我们在Enter first number: 3 Enter second number: 4 The sum is 7 之前写一行import java.util.Scanner

P.S。这一系列视频Video Link是否适合学习Java?

2 个答案:

答案 0 :(得分:3)

我怀疑重要的是操作顺序

System.out.println("The sum is:"+f+s)

第一个操作是"The sum is:"+f所以+运算符将一个字符串和一个double作为操作数,并将f变量强制转换为其字符串值。然后第二个+运算符取"总和为:2" +0.5并且我们再次从double转换为string。

然而,在

System.out.println("The sum is:"+(f+s))

我们首先计算f + s,它是两个双打之间的加法,然后是连接。

我希望这是有道理的。

答案 1 :(得分:2)

BODMAS规则代表括号,订单,分部,乘法,加法,减法

由于你不在括号中添加它们,它会添加(连接)字符串。它评估括号内的所有内容

("string" + f + s)

除非你专门添加括号

("string" + (f + s))

在这种情况下,首先评估内部括号,然后评估外部括号。

  

另外我们为什么要在之前编写行import java.util.scanner   class java application 1?

为了在类中使用导入的东西,你需要在class之前导入,所以编译器知道。