簡體   English   中英

system.out.prinln()中的正確語法

[英]proper syntax in system.out.prinln()

今天開始學習Java,我需要幫助來消除我的疑問。

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

為什么會這樣呢?

另外,為什么我們在class JavaAapplication1之前寫一行import java.util.Scanner

PS這一系列視頻Video Link是否適合學習Java?

我懷疑重要的是操作順序

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

第一個操作是"The sum is:"+f因此+運算符將一個字符串和一個double用作操作數,並且f變量將強制轉換為其字符串值。 然后,第二個+運算符取“和為:2” +0.5,然后我們又從雙精度轉換為字符串。

但是,在

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

我們首先計算出f + s,它是兩個雙精度數之間的加法,然后是一個串聯。

我希望這是有道理的。

BODMAS規則代表方括號,訂單,除法,乘法,加法,減法

由於您沒有將它們添加在方括號中,因此它會添加(連接)字符串。 它評估括號內的所有內容

("string" + f + s)

除非您特別添加括號

("string" + (f + s))

在這種情況下,首先評估內部括號,然后評估外部。

另外,為什么我們在類Java應用程序1之前寫一行import java.util.scanner?

為了在類中使用導入的內容,您需要在類之前導入,這樣編譯器就知道了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM