gpt4 book ai didi

java - float 到 double 以及 int 到 long 转换

转载 作者:行者123 更新时间:2023-12-01 12:46:55 26 4
gpt4 key购买 nike

当float自动取double时,int应该被认为是long吧?但 int 被视为 int。谁能解释一下这种行为。

public class Test
{
void met (int x){
System.out.println("int called");

}

void met (long x){
System.out.println("long called");

}
public static void main(String[] args){
Test t= new Test();
t.met(10);
}

}
Output : int is called.
******************************************************************************************
public class Test
{
void met (float x){
System.out.println("float called");

}

void met (double x){
System.out.println("double called");

}
public static void main(String[] args){
Test t= new Test();
t.met(10.0);
}

}

output : double called.

最佳答案

http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.2

A floating-point literal is of type float if it is suffixed with an ASCII letter F or f; otherwise its type is double and it can optionally be suffixed with an ASCII letter D or d (§4.2.3).

An integer literal is of type long if it is suffixed with an ASCII letter L or l (ell); otherwise it is of type int (§4.2.1).

要更改类型,您可以分别使用 10.0F10L 调用方法

为了进一步添加内容,默认类型是最常用的类型(?)

关于java - float 到 double 以及 int 到 long 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24605880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com