在 java 中,return语句用于从当前方法中返回一个值(如果方法有返回值类型)或者直接结束方法的执行(如果方法返回类型为void)。
1. 有返回值类型的方法
当一个方法声明了返回值类型(除了void之外的任何类型,比如int、string、object等),就必须在方法体内部使用return语句来返回一个与声明的返回值类型匹配的值。
例如,下面是一个简单的方法,用于计算两个整数的和并返回结果:
public class main {
public static int addnumbers(int num1, int num2) {
int sum = num1 + num2;
return sum;
}
public static void main(string[] args) {
int result = addnumbers(3, 5);
system.out.println("两数之和为:" + result);
}
}在addnumbers方法中:
- 首先计算了
num1和num2的和,并将结果存储在sum变量中。 - 然后使用
return语句返回了sum的值。因为addnumbers方法声明的返回值类型是int,所以返回的sum值(也是int类型)与方法的返回值类型相匹配。
在main方法中,调用了addnumbers方法,并将返回的结果赋值给result变量,最后打印输出。
2. 提前返回(多条件判断场景)
在一些方法中,可能会根据不同的条件判断来决定是否提前返回结果。例如,下面是一个方法,用于判断一个整数是否为偶数,如果是偶数则返回true,否则返回false:
public class main {
public static boolean iseven(int num) {
if (num % 2 == 0) {
return true;
}
return false;
}
public static void main(string[] args) {
int number = 4;
boolean result = iseven(number);
system.out.println("该数是否为偶数:" + result);
}
}在iseven方法中:
- 首先通过
if语句判断num除以2的余数是否为0。如果是,说明num是偶数,此时就使用return语句提前返回true,方法执行到此就结束了,不会再执行后面的代码。 - 如果
num除以2的余数不为0,则执行到方法末尾的return false语句,返回false。
这种提前返回的方式在处理复杂的条件判断逻辑时非常有用,可以使代码更加清晰和高效。
3. 返回对象
除了返回基本数据类型,还可以返回对象。例如,下面是一个简单的类和方法,用于创建并返回一个person对象:
class person {
private string name;
private int age;
public person(string name, int age) {
this.name = name;
this.age = age;
}
public string getname() {
return name;
}
public int age() {
return age;
}
}
public class main {
public static person createperson(string name, int age) {
return new person(name, age);
}
public static void main(string[] args) {
person person = createperson("alice", 25);
system.out.println("创建的人名为:" + person.getname() + ", 年龄为:" + person.age());
}
}在createperson方法中,使用return语句返回了一个新创建的person对象。因为createperson方法声明的返回值类型是person,所以返回的对象与方法的返回值类型相匹配。
4. 方法返回类型为void
当一个方法的返回值类型声明为void时,return语句仍然可以使用,但它的作用只是提前结束方法的执行,而不返回任何值。
例如,下面是一个方法,用于打印一些信息,然后提前结束方法:
public class main {
public static void printmessage() {
system.out.println("这是一条消息。");
return;
}
public static void main(string[] args) {
printmessage();
}
}在printmessage方法中,先打印了一条消息,然后使用return语句提前结束了方法的执行。虽然这里的return语句没有返回任何值,但它起到了在需要的时候提前终止方法运行的作用。
return 语句会结束整个程序的执行吗?
- 当
return语句在一个非main方法(普通方法)内部使用时,它只会结束当前方法的执行,而不会结束整个程序。public class main { public static int add(int a, int b) { return a + b; } public static void main(string[] args) { int result = add(3, 5); system.out.println("结果是:" + result); system.out.println("程序继续执行"); } } - 在这个例子中,
add方法中的return语句只是返回a + b的结果并结束add方法的执行。main方法中的代码会继续执行,在获取add方法的结果后,会继续打印输出 “程序继续执行”。
在
main方法内部的情况
- 当
return语句在main方法内部使用时,它会结束整个程序的执行。因为main方法是 java 程序的入口点,当main方法结束时,程序也就结束了。public class main { public static void main(string[] args) { system.out.println("程序开始"); return; system.out.println("这行代码不会执行"); } }在这个
main方法中,return语句在打印 “程序开始” 之后就结束了整个程序的运行,所以后面的 “这行代码不会执行” 不会被输出。不过在实际应用中,main方法中的return语句通常用于返回一个表示程序执行状态的值(如0表示正常结束),并且在一些复杂的程序结构中可能会根据条件判断来决定是否提前结束程序运行。
附:java中return怎么返回多个值
在java中,一个方法只能返回一个值。但是可以通过不同的方式返回多个值,例如:
- 使用数组或集合:可以将多个值保存在数组、列表或其他集合中,然后将该数组或集合作为方法的返回值返回。
public static list<integer> getmultiplevalues() {
list<integer> values = new arraylist<>();
values.add(1);
values.add(2);
values.add(3);
return values;
}
- 使用自定义对象:可以定义一个包含多个值的自定义对象,然后将该对象作为方法的返回值返回。
public class customobject {
private int value1;
private int value2;
public customobject(int value1, int value2) {
this.value1 = value1;
this.value2 = value2;
}
public int getvalue1() {
return value1;
}
public int getvalue2() {
return value2;
}
}
public static customobject getmultiplevalues() {
return new customobject(1, 2);
}
- 使用map:可以使用map来存储多个键值对,然后将该map作为方法的返回值返回。
public static map<string, integer> getmultiplevalues() {
map<string, integer> values = new hashmap<>();
values.put("value1", 1);
values.put("value2", 2);
return values;
}
这些是一些常见的方法,可以用来返回多个值。根据具体的需求,选择适合的方式来返回多个值。
总结
到此这篇关于java中return语句的几种用法举例的文章就介绍到这了,更多相关java中return用法内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论