public class NewMain
{
public static void main(String[] args)
{
long num = 100;
System.out.println(xMethod(5,1000000000000L));
}
public static int xMethod(int n, long x)
{
System.out.println("int, long");
return n;
}
public static long xMethod(long n, long x)
{
System.out.println("long, long");
return n;
}
}
對我來說,這看起來很模糊。如何區分int和long?
一個整數範圍內的數字可以是一個long,用num的聲明來演示。
我很好奇如果我有兩個不同的參數兩種方法會發生什麼。
顯然,在編寫參數時,數字必須在末尾有一個L來表示它很長,而在聲明num時,這不是必需的。 這是爲什麼?
我首先想到,如果它在int範圍內,它會自動將其視爲一個int,並且當它超出該範圍時,它將被用作long。 但是,用我的第二個參數,它不會通過,除非我放置L.它說它不在int的範圍內。
有人可以給這個明確的規則嗎?
我明白了。所以除非有後綴,默認情況下是int? –
並帶有小數點,是默認的雙精度型嗎? –
@JohnDoe是的。類似地,帶浮點的文字(如1.0)是雙精度的。 – Eran