Java方法(三)方法返回值

上一节用到的方法都是无返回值的,我们现在来看一看有返回值的

public static int sum(){
	return 1;
	//这里如果不写return的话,就会报“缺少返回语句”
}

上边的代码中 int 就是返回值类型,这里不仅仅可以填int类型的,我们的基本数据类型(byte、short、int、float、double、boolean、char、String)和自定义类都可以。如果不需要返回任何数据,我们返回值类型直接写void关键字即可。


我们再来看看一段代码

public static int num(){
	return 100;
	System.out.println("方法返回值");
}

大家看看上面这段代码可以这样写吗?
答案是肯定不能这样写的,软件直接给你报“执行不到的代码”的错,给我们的解决方法就是删除
我们来看看为什么会这样,因为当调用这个方法时,执行到return这里的时候,它就返回到调用者那里了,这个方法就调用结束,所以在return语句后面是不能再写其它代码的。


public static int sum(){
	boolean flag = true;
	if(flag){			
		return 1;
	}
}

再来看看上面这段代码,这样写的话软件也是直接报“*这个方法必须返回一个int类型的结果 *”的错,有些人感觉不对啊,我们这里不是已经return了一个1回去了吗,怎么还会报错,我们这个return1是在if判断语句中的,假设判断结果为false,那这个方法是不是就没有了返回值,所以我们不能这么写
只需要在if判断语句外面return一个int类型的就不会报错

public static int sum(){
	boolean flag = true;
	if(flag){			
		return 1;
	}
	return 2;
}

还可以这样写

public static int sum(){
	boolean flag = true;
	if(flag){			
		return 1;
	}else{
		return 2;
	}
}

这样写也不会报错,因为if…else两个中必然会执行一个


public static void num(){
	return 0;
}

这段代码可以这样写吗?我们刚刚学习方法的返回值很容易碰到这样的错,答案是不能这样写的,因为我们这个方法中方法返回值是void(无返回值)
没有返回值我们不能强制给它一个返回值


public class MethodTest2 {	
	public static void main(String[] args) {
		for(int i=1;i<=10;i++){
			if(i==5){
				return;//结束方法的执行
			}
			System.out.println(i);
			//执行结果为: 1  2  3  4
		}
		System.out.println("hello java");
	}
}

return;是终止方法的执行,和我们之前学的break是不是觉得有点像,我们来一起对比一下

public class MethodTest2 {	
	public static void main(String[] args) {
		for(int i=1;i<=10;i++){
			if(i==5){
				break;终止循环
			}
			System.out.println("i ="+i);
		}
		System.out.println("hello java");
	}
}

它就会输出1、2、3、4、hello java
有没有看出return;和break的区别来
总结:return; 结束方法的执行 而break;是终止循环的执行


上面列举了方法返回值会遇到的大部分的错误,我们现在来看看方法返回值如何使用

public class MethodTest3 {
	public static void main(String[] args) {
		int res = sum(4,6);
		//因为方法的返回值是int类型的,我们这边接收一下输出
		System.out.println(res);//结果为:10
	}
	public static int sum(int a,int b){
		return a+b;
	}
}

这边还有一个需要注意的细节 不仅仅只能用int类型接收,还可以用float、double接收,因为小转大程序会自动转,如果我们用byte接收的话就需要强转

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Java调用方法返回值是指在调用一个方法后,方法会返回一个值给调用者。调用者可以使用该值进行后续的操作。 在Java中,方法可以有返回值,也可以没有返回值。如果方法返回值,需要在方法声明中指定返回值的类型,并在方法体中使用return语句返回值。如果方法没有返回值,可以使用void关键字来表示。 调用有返回值方法时,需要使用一个变量来接收方法返回的值。例如: ``` public int add(int a, int b) { return a + b; } int sum = add(2, 3); System.out.println(sum); // 输出5 ``` 在上面的例子中,add方法有两个参数a和b,返回值为它们的和。在调用add方法时,使用两个参数2和3,方法返回的值为5,然后将其赋值给变量sum。 Java方法调用返回值可以是基本类型、对象类型或者void类型。如果返回值是对象类型,则需要使用该对象的引用来访问对象的属性和方法。例如: ``` public class Person { private String name; public Person(String name) { this.name = name; } public String getName() { return name; } } public Person createPerson(String name) { return new Person(name); } Person p = createPerson("Alice"); System.out.println(p.getName()); // 输出"Alice" ``` 在上面的例子中,createPerson方法返回一个Person对象,该对象的name属性为传入的参数name。在调用createPerson方法后,返回的Person对象赋值给变量p,然后通过p.getName()方法访问该对象的name属性,输出"Alice"。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值