Java函数优化疑问:为何min方法需用参数c、d而非复用a、b?
关于Java方法参数命名的问题
当然可以把min方法的参数改成a和b,这么做完全可行,而且代码逻辑和原版本完全一致,不存在冗余问题。
核心原因:变量的作用域隔离
Java里,方法的参数属于方法级别的局部变量,和main方法里定义的a、b是完全独立的两个东西——哪怕名字一模一样,它们的作用范围只限于各自所在的方法内部,互相不会产生任何影响。
原课程代码里用c、d作为参数名,只是一种示例写法,目的可能是为了让初学者更清晰地看到“调用方变量”和“方法参数”是不同的变量,但这绝对不是必须的规范。
补全你改写后的完整代码
你给出的改写代码没写完else分支,补全后是这样的:
public class MethodCall { public static void main(String[] args) { int a = 5, b = 7; int m = min(a, b); System.out.println("Minimum is "+ m); } public static int min(int a, int b) { int m2; if (a < b) m2 = a; else m2 = b; return m2; } }
运行这段代码,输出结果和原代码完全一样:Minimum is 5。
甚至你还能进一步简化min方法的写法,比如直接返回判断结果,更简洁:
public static int min(int a, int b) { return a < b ? a : b; }
内容的提问来源于stack exchange,提问作者noob_saibot
相关产品推荐
相关产品推荐

