方法的返回值

为什么要有带返回值的方法呢?

调用处拿到方法的结果之后,才能根据结果进行下一步操作

带返回值方法的定义和调用:

  1. 如果在调用处,要根据方法的结果去编写另一段代码逻辑

  2. 为了在调用处拿到方法产生的结果,就需要定义带有返回值的方法

    1.带返回值方法定义的格式:

public static 返回类型 方法名 (参数) {
方法体;
return 返回值;
}

eg:

public static int getSum(int a,int b){
int c = a + b;
return c;
}

2.带返回值方法的调用格式:

  1. 直接调用:

    方法名(实参);
    1. 赋值调用:

      整数类型 变量名 = 方法名(实参);
      1. 输出调用:

        System.out.println(方法名(实参));

eg:

package com.itheima.Method;
public class Demo07 {
public static double getSum(int num1,int num2,int num3) {
int sum = num1+num2+num3;
return sum;//返回给方法的调用处
}
public static void main(String[] args) {
//直接调用
getSum(10,20,30);//不会显示结果,一般使用在没有返回值的方法当中 //赋值调用
double sum = getSum(10,20,30);
System.out.println(sum); //输出调用
System.out.println(getSum(10,20,30));
}
}

运行结果:

60.0

60.0

练习1:

package com.itheima.Method;
//需求:定义一个方法,求一家商场每个季度的营业额。
//根据方法结果再计算出全年营业额。
//掌握带返回值方法方法定义和调用格式
public class Demo08 {
public static double getSum(int num1, int num2, int num3) {
double sum = num1 + num2 + num3;
return sum;//返回给方法的调用处
}
public static void main(String[] args) {
double sum1= getSum(10,20,30) ;
System.out.println("第一季度的营业额为:"+sum1);
double sum2= getSum(14,25,30) ;
System.out.println("第一季度的营业额为:"+sum2);
double sum3= getSum(21,35,10) ;
System.out.println("第一季度的营业额为:"+sum3);
double sum4= getSum(45,27,38) ;
System.out.println("第一季度的营业额为:"+sum4);
double All = sum1+sum2+sum3+sum4;
System.out.println("全年营业总额为:"+All);
}
}

运行结果:

第一季度的营业额为:60.0

第一季度的营业额为:69.0

第一季度的营业额为:66.0

第一季度的营业额为:110.0

全年营业总额为:305.0

练习2:

package com.itheima.Method;

//需求:定义方法,比较两个长方形的面积
public class Demo09 {
public static double getArea(double length, double width) {
double Area = length * width;
return Area;
}
public static void main(String[] args) {
double Area1 = getArea(5, 6);
double Area2 = getArea(6, 9);
System.out.println("第一个长方形的面积是:" + Area1);
System.out.println("第二个长方形的面积是:" + Area2);
if (Area1 > Area2) {
System.out.println("第一个长方形的面积更大");
} else {
System.out.println("第二个长方形的面积更大");
}
}
}

运行结果:

第一个长方形的面积是:30.0

第二个长方形的面积是:54.0

第二个长方形的面积更大

方法的注意事项:

  1. 方法不调用就不执行

  2. 方法与方法之间是平级关系,不能互相嵌套定义(自己定义的方法不能放入主方法里面,否则程序会报错)

  3. 方法的编写顺序和执行顺序无关(谁先被调用,谁就先被执行)

  4. 方法的返回类型为void,表示该方法没有返回值。没有返回值的方法可以省略return语句不写。如果要编写return,后面不能跟具体的数据。

  5. Return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。

return关键字:

  1. 方法没有返回值:可以省略不写,如果书写表示结束方法

  2. 方法有返回值:必须要写,表示结束方法和返回结果

Java方法的返回值及注意事项的更多相关文章

  1. java中Arrays类中,binarySearch()方法的返回值问题

    最近在复习Java知识,发现果然不经常使用忘得非常快... 看到binarySearch()方法的使用时,发现书上有点错误,于是就自己上机实验了一下,最后总结一下该方法的返回值. 总结:binaryS ...

  2. 为什么Java不能以返回值区分重载方法?

    读者可能会想:"在区分重载方法的时候,为什么只能以类名和方法的形参列表作为标准呢?能否考虑用方法的返回值来区分呢?" 比如下面两个方法,虽然他们有相同的名字和形式参数,但却很容易区 ...

  3. Java反射机制二 获取方法的返回值或参数的泛型信息

    在使用反射机制时,我们经常需要知道方法的参数和返回值类型,很简单  ,下面上示例,示例中的两个方法非常相似 package deadLockThread; import java.lang.refle ...

  4. Java连载27-有返回值的方法注意点

    一.方法注意点 (1)方法的调用不一定再main方法中,可以在其他方法中进行调用,只要是程序执行到的位置,都可以去调用其他方法. (2)方法调用的时候,实参和形参要求个数对应相同,数据类型对应相同,方 ...

  5. Android JNI之调用JAVA方法的返回类型签名

    从http://blog.csdn.net/lonelyroamer/article/details/7932787截取的 如何签名: 下面看看Sign签名如何写,来表示要取得的属性或方法的类型. 1 ...

  6. 在Java 线程中返回值的用法

    http://icgemu.iteye.com/blog/467848 在Java 线程中返回值的用法 博客分类: Java Javathread  有时在执行线程中需要在线程中返回一个值:常规中我们 ...

  7. SSM-SpringMVC-21:SpringMVC中处理器方法之返回值Object篇

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类: 1.返回值为Object数值(例如1) ...

  8. 7 -- Spring的基本用法 -- 10... 获取其他Bean的属性值;获取Field值;获取任意方法的返回值

    7.10 高级依赖关系配置 组件与组件之间的耦合,采用依赖注入管理:但基本类型的成员变量值,应直接在代码中设置. Spring支持将任意方法的返回值.类或对象的Field值.其他Bean的getter ...

  9. list中包含多个相同值时,List中的indexOf(Object o)方法的返回值

    查一下Java API,List下的indexOf(Object o)方法的返回值为list列表中首个元素出现位置的索引,找不到时返回-1

  10. Java多线程带返回值的Callable接口

    Java多线程带返回值的Callable接口 在面试的时候,有时候是不是会遇到面试会问你,Java中实现多线程的方式有几种?你知道吗?你知道Java中有可以返回值的线程吗?在具体的用法你知道吗?如果两 ...

随机推荐

  1. 【原创】android 7.0 通知报错 java.lang.SecurityException: You need MANAGE_USERS permission to: check if specified user a managed profile outside your profile group

    项目中在后台发送通知,突然某一天测出在Android 7.0上通知发送失败,那么根据提示,我们尝试加了MANAGE_USERS权限,看起来是个系统级别权限,验证后果然无效.接着在搜索后都无果,似乎大家 ...

  2. C 系列的暂停

    由于Mooc上有关C 的课程并不是很全面,网络上有关于C 的消息过于杂糅,所以暂时停止C的学习,重启时间暂定,等什么时候需要的时候再做重启.

  3. gensim

    官方文档: https://radimrehurek.com/gensim/models/word2vec.html 1.训练模型定义 from gensim.models import word2v ...

  4. C/C++ 数据结构使用数组实现队列的基本操作

    //使用数组实现队列 #include <iostream> #include <Windows.h> using namespace std; #define MAXSIZE ...

  5. Oracle查询优化经验

    1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. (低效,执行时间156 ...

  6. C语言基础题 22年5月

    (十六进制 %x  20.0f是%f  long 是%ld  unsigned int %#o  ) 编程题: 整数浮点数的上溢下溢 strcpy函数代码 int search(char *s, ch ...

  7. JS中报错处理 try catch finally的使用

    JS中标准报错处理通过 try catch finally ,使用格式 try { } catch (err) { } finally { } 代码1: try { console.log('顺序 1 ...

  8. python之序列化与反序列化

    #!/usr/bin/env python# -*- coding:utf-8 -*-#Author:QiFeng Zhang'''序列化反序列化之json应用'''import json #导入js ...

  9. Spring设计模式——代理模式[手写实现JDK动态代理]

    代理模式 代理模式(Proxy Pattern):是指为其他对象提供一种代理,以控制对这个对象的访问. 代理对象在客户端和目标对象之间起到中介作用,代理模式属于结构型设计模式. 使用代理模式主要有两个 ...

  10. MySQL学习(九)frm与ibd了解

    参考:https://cloud.tencent.com/developer/article/1533746 InnoDB: frm,ibd MyISAM: frm,myd,myi ibd是InnoD ...