黑马程序员技术交流社区

标题: 函数的返回值类型 [打印本页]

作者: basonchen    时间: 2014-4-16 16:12
标题: 函数的返回值类型
函数的返回值类型怎么明确
作者: 程序爱好者    时间: 2014-4-16 17:07
返回类型根据你要返回的东西的类型来决定,这和决定一个变量的类型是一样的,你要返回一个字符串,那返回类型就是String,你要想返回一个整数,那返回类型就是一个int,如果什么都不想返回,那返回类型就是void。。。看你的需要。。。
作者: luoyang316    时间: 2014-4-16 17:11
毕老师说的很明确啦:明确一:这个功能的结果是什么?明确二:这个功能实现的过程中是否需要未知内容参与运算?
比如说:
一..写一个两个整数相加的方法,返回结果!你觉的它的返回值类型是什么?按照毕老师说的两点分析下看?
思路:
1.首先是整数相加,并返回结果,那么,整数加整数肯定是整数,总不可能变成小数撒.所以他的返回值类型肯定是int.
2.其次,两数相加,方法肯定要接受两个整型参数.
代码如下:
public int add (int a,int b){
      return a + b;
}
二:写一个两个整数相加的方法,把结果赋给C.
思路:
1.首先,两个整数相加.并没有要求返回值.所以返回值为void
2..其次,两数相加,方法肯定要接受两个整型参数.
代码如下:
public void add(int a, int b){
                int c = a  + b;
}
作者: iloveyou    时间: 2014-4-16 18:00
本帖最后由 iloveyou 于 2014-4-16 18:03 编辑

1.首先来讲,函数的返回值的确定是根据函数所要完成的具体功能来实现的。例子如下
2.比如需要一个函数完成各种算数运算并且返回结果,那么函数  <返回值类型>yunsuan(参数列表)
                 函数中实现算数运算,比如+ - x  % /
                 位运算       & | ~。。。
                 比较运算    返回值为布尔类型
                 函数要完成某一功能,(譬如打印某一句话,链接某一文件,创建某一目录。。。)并不需要返回某一特定的结果是就可以选择 void 返回值类型。

作者: 苍穹的雨    时间: 2014-4-16 18:06
函数的返回值类型当然要根据你想要得到的结果来定了。
例如:你写了一个method方法
1.你想通过这个方法得到一个字符串数据,那么你就要在定义方法时写上
public String method(参数){
--代码--
return 字符串类型的数据
}
2.如果你想什么也不想返回得到,只是定义了功能,例如输入输出,那么你就可以定义返回值类型为空的,这样函数最后也不用写return语句
public void method(参数){
--代码--
}
3.需要其他的数据类型的返回值方法如方法1,只需要改定义时的数据类型和return语句中的返回值类型就行了,够详细吧~~
作者: alucard    时间: 2014-4-16 18:16
1、既然函数是一个独立的功能,那么该功能的运算结果是什么先明确。因为这是在明确函数的返回值类型。
2、在明确定义该功能的过程中是否需要未知的内容参与运算。因为这是在明确函数的参数列表(参数的类型和个数)。
  1. class FunctionDemo2
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int sum = getResult();
  6.                 System.out.println("sum="+sum);
  7.         }
  8.         public static int getResult()
  9.         {
  10.                 return 3+4;
  11.         }
  12. }
复制代码

3、如果函数返回值类型是void,是不能在输出语句中输出的。因为该功能没有返回具体的值,打印功能不知道打印什么。

  1. class FunctionDemo5
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println(getSum(4,5));
  6.         }
  7.         public static void getSum(int a, int b)
  8.         {
  9.                 System.out.println(a+b);
  10.         }
  11. }
复制代码





作者: vincentgood    时间: 2014-4-16 18:20
简单点说就是 假如你调用这个方法后 希望能从这个方法里获得某个值的话 那么这时就需要你的方法返回一个值了。这个值的类型就是你需要返回的值的类型。比如:你需要这个方法返回一个字符串 那么返回值类型那儿 就是string类型;如果你的方法里返回一个数字 那么返回值类型就是int。
如果你的方法不需要返回值,那就写成void。
作者: show_play    时间: 2014-4-16 18:28
你要明白为什么写这个方法,这个方法有啥用?用途是根据你的需求而定。
作者: basonchen    时间: 2014-4-16 22:20
感谢各位的解答很详细,需要说明一下视频刚看,不会的就问问加深印象,也许问题很简单但是不能问了吗??
作者: 微笑=.一瞬间    时间: 2014-4-16 22:43
函数的返回值类型 是根据你方法的功能来定的  如果你生命以对象调用这个函数希望得到 一String类型 就将函数的返回值类型定义为String 类型 如果你调用函数是想得到一个int 类型就定义为int类型。 这主要是在你,和函数的功能来决定的
作者: 田富丰    时间: 2014-4-16 22:46
其实明确一个函数的返回值很简单,第一你要知道这个函数是做什么的?第二你要知道这个函数最终的结果是什么?如果结果是需要返回给调用者,那就要明确这个返回值的类型,如果只是一种操作,不需要返回给调用者,就返回一个null,也就是说void,这个null是可以省略不写,但是写上也不会报错,因为在运行时,JVM会自动加上return null这句话!
作者: 张志成    时间: 2014-4-17 02:56
你在定义一个方法时:要考虑方法执行完后,有可能有结果
如果有,结果的数据类型是什么? 类型确定了,那方法上的返回值类型就是该类型
作者: 张志成    时间: 2014-4-17 02:57
张志成 发表于 2014-4-17 02:56
你在定义一个方法时:要考虑方法执行完后,有可能有结果
如果有,结果的数据类型是什么? 类型确定了,那方法上 ...

最重要的是你要这结果来干什么
作者: thinkervsruler    时间: 2014-4-18 01:04
函数是具有特定功能的代码块,是功能的封装,返回值类型就要看要实现什么功能即要干嘛,若是求整数的加减乘除,则一般返回值就为int,若是要打印显示一些东西,则返回值为void,所以您要明确函数功能是做什么的,返回值也就会明确的
作者: Без_тебя    时间: 2014-6-12 21:45
修饰符 和方法名中间定义,如果没有返回则用void,如果有返回类型就在修饰符 和方法名中间表明,比如:
//有返回值
public String getName(){
    return "name";
}
//无返回值
public void getName(){
    System.out.println("name");
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2