a+=f为啥输出的是1

int a=13
int b =14
int f=2.3
a+=f
System.out.println(a)

f是int类型,你赋值了一个浮点数。但这也不可能a+=f后a值是1啊。你完整代码贴出来

这个代码不可能编译通过,也不可能输出1,
因为2.3是float,是不可能赋值给int型的f的

int f=2.3; 这句运行不通过吧。

img

public class Main {
    public static void main(String[] args) {
       int a=13;
       int b =14;
       int f=(int)2.3; // double f=2.3; 输入的结果也是15
       a+=f;
       System.out.println(a);
    }
}

img