Java 默认参数
本教程介绍了如何在 Java 中实现默认参数。
如果不传递任何值,则使用默认参数。当我们要在方法接受多个参数的同时传递有限的参数时,这将很有帮助。例如,一个方法接受三个参数,但是如果我们希望在方法调用期间仅传递两个参数,则 Java 编译器将使用第三个参数的默认值来避免任何编译错误。
Java 不支持默认参数值,但是我们可以使用一些内置解决方案来实现它,例如 var-args 或方法重载。让我们看一些例子。
Java 中的默认参数
在此示例中,我们使用方法重载方法来设置默认参数值。但是,这不是一个好的解决方案,但可以用作替代方案。注意,在调用 add()
方法时,我们将 0 作为默认值。
如果我们有两个相同类型的可选参数,则该方法无效,并且可以省略其中的任何一个。
public class SimpleTesting{
int add(int a, int b) {
return a+b;
}
int add(int a, int b, int c) {
return a+b+c;
}
public static void main(String[] args) {
SimpleTesting test = new SimpleTesting();
int val1 = 10;
int val2 = 20;
int result1 = test.add(val1, 0);
int result2 = test.add(val1, 0, val2);
System.out.println("resutl1 : "+ result1);
System.out.println("resutl2 : "+result2);
}
}
输出:
resutl1 : 10
resutl2 : 30
在 Java 中使用 var-args 设置默认参数
这是我们使用可变 args 功能设置默认参数的另一种方法。var-args
允许传递可变长度的相同类型的参数。请参见下面的示例。
public class SimpleTesting{
int add(int a, int... b) {
int b2 = b.length>0?b[0]:0;
return a+b2;
}
int add(int a, int b, int c) {
return a+b+c;
}
public static void main(String[] args) {
SimpleTesting test = new SimpleTesting();
int val1 = 10;
int val2 = 20;
int result1 = test.add(val1);
int result2 = test.add(val1, 0, val2);
System.out.println("resutl1 : "+ result1);
System.out.println("resutl2 : "+result2);
}
}
输出:
resutl1 : 10
resutl2 : 30
在 Java 中将默认参数设置为空字符串
对于字符串参数,我们可以为参数设置一个空字符串。但是,此字符串将 null 保留为默认值。请参见下面的示例。
public class SimpleTesting{
String defaulPara(int a, String str1, String str2) {
return str1+str2+a;
}
public static void main(String[] args) {
SimpleTesting test = new SimpleTesting();
int val1 = 10;
String result1 = test.defaulPara(val1,"","second");
String result2 = test.defaulPara(val1,"first","");
System.out.println("resutl1 : "+ result1);
System.out.println("resutl2 : "+result2);
}
}
输出:
resutl1 : second10
resutl2 : first10
在 Java 中使用带有任意数量参数的 var-args 设置默认参数
在使用 var-args 的情况下,我们可以在调用方法时随意提供任意数量的参数。因此,如果你只想提供有限的参数,那么它将很好地工作。请参见下面的示例。
public class SimpleTesting{
int defaulPara(int... a) {
int sum = 0;
for (int i : a) {
sum+=i;
}
return sum;
}
public static void main(String[] args) {
SimpleTesting test = new SimpleTesting();
int val1 = 10;
int val2 = 20;
int result1 = test.defaulPara();
int result2 = test.defaulPara(val1);
int result3 = test.defaulPara(val1, val2);
System.out.println("resutl1 : "+ result1);
System.out.println("resutl2 : "+result2);
System.out.println("resutl3 : "+result3);
}
}
输出:
resutl1 : 0
resutl2 : 10
resutl3 : 30
相关文章
在 Java 中扩展 Comparable
发布时间:2023/10/19 浏览次数:96 分类:Java
-
本教程展示了如何在 Java 中清除 StringBuilder 本指南将了解在 Java 中扩展 Comparable 接口。它写成 Comparable
。它是一个由 Java 中的许多类实现的接口。
Java 中的 Predicate 是什么
发布时间:2023/10/19 浏览次数:106 分类:Java
-
本文介绍 Java 8 中的 Predicate 接口。本教程通过 Java 示例介绍 Predicate 接口。Predicate 是 Java 中的一个接口,用作 lambda 表达式或方法引用的目标赋值。
Java 中的 parameter 与 argument
发布时间:2023/10/19 浏览次数:79 分类:Java
-
本文介绍 Java 中 parameter 和 argument 的区别。本教程通过 Java 中的示例介绍 parameter 和 argument 之间的区别。
在 Java 中画一个圆
发布时间:2023/10/19 浏览次数:176 分类:Java
-
本教程介绍如何在 Java 中使用几个函数画圆在本文中,我们将介绍如何使用用于创建 GUI 组件的库 java.awt 和 javax.swing 在 Java 中绘制一个圆。
在 Java 中画一个三角形
发布时间:2023/10/19 浏览次数:124 分类:Java
-
本教程介绍了如何在 Java 中画一个三角形。在本文中,我们将学习如何在 Java 中绘制一个三角形。我们使用 AWT(Abstract Window Component Toolkit),这是最早的 Java 开发包,
用 Java 画一条线
发布时间:2023/10/19 浏览次数:86 分类:Java
-
本文介绍了如何使用 Applet 在 java 中绘制线条。Java 中的 Java.awt.Graphics 类构成了许多此类绘图和图形功能的基础。
Java 中的消息框
发布时间:2023/10/19 浏览次数:146 分类:Java
-
本文介绍如何在 Java 中显示消息框。Java 中的消息框是出现在屏幕上的弹出窗口,用于显示一些消息并等待用户确认。
使用 JProgressBar 类创建 Java 进度条
发布时间:2023/10/19 浏览次数:83 分类:Java
-
本教程演示了如何使用 JProgressBar 类创建 Java 进度条。本教程旨在了解我们如何在 SWING 应用程序中使用 JProgressBar 类创建 Java 进度条。我们还将学习如何根据进度条填充的级别来显示数字和文本