【发布时间】:2018-08-26 17:28:06
【问题描述】:
为什么会打印下面的代码
float called long called 20.0 21
而不是
float called 20.0 long called 21
代码如下:
public class Test5 {
static float fun(int a) {
System.out.print("float called ");
return a;
}
static long fun(long a) {
System.out.print("long called ");
return a;
}
public static void main(String[] args) {
System.out.println(fun(20) + " " + fun(21L));
}
}
【问题讨论】:
-
你不返回
String"float called #" 你打印float called并返回 #。同样与long called.... 所以打印味精 1. 打印味精 2. 然后打印味精 3. 不打印一个味精。此外,您正在使用int调用您的float函数。 -
如果你能解释一下你在哪个部分有困难就好了。目前还不清楚您想要解释哪一部分。是方法重载吗?
main是如何工作的?println是如何工作的?或者为什么它输出一个带小数点的浮点数?或者21l是什么意思(顺便说一句。请使用大写的L,看起来像1否则)?或者,+在字符串上的含义可能是什么?或者+与数字和字符串一起使用时如何工作?
标签: java string-concatenation operator-precedence