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