A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黑马宋浩 于 2012-11-19 00:01 编辑

Java基础第03天-13函数应用中的
/*
这个功能定义思想有问题,为什么呢?因为只为完成加法运算,至于是否要对和进行打印操作,那是调用者的事,不要在该功能中完成。

public static void get(int a,int b)
{
       System.out.println(a+b);
       return;
}
*/
我能理解老师说的意思是,函数只要把它的功能体现出来就可以了,要不要打印要看调用者,但是这个例子用的void返回值类型,那么不写打印语句那么怎么体现结果呢?要怎么写?还是说老师举的的这个例子不适合这个解释?求解!!

点评

不必过分纠结于这种问题 。  发表于 2012-11-18 00:20

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
本帖最后由 李计伟 于 2012-11-16 21:50 编辑

变成这样啊 public static int get(int a,int b)然后return个int型结果 .
回复 使用道具 举报
本帖最后由 刘腾 于 2012-11-16 21:57 编辑

想要体现两个整数和 这样一个结果,因为结果也是个整数,那么返回值类型就应该是int型。
求和函数只需要把份内的事做好就行了,所谓份内的事就是把和求出来,至于打不打印,不需要操心。
  1. class Demo
  2. {
  3.         public static int getSum(int a,int b)//求和的功能函数
  4.         {
  5.                  return a+b;
  6.         }
  7.         public static void main(String[] args)
  8.         {
  9.                
  10.                 int sum=getSum(4,5);//想要求和就调用函数
  11.                 System.out.println(sum);//这个打印根据你的需要如果需要打印就写这个语句
  12.         

  13.         }
  14. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
本帖最后由 刘腾 于 2012-11-16 22:00 编辑

你帖子中定义的是一个求和并打印的功能函数
  1. class Demo
  2. {
  3.        
  4.         public static void getSumPrint(int a,int b)//如果需要求和并打印结果 可以定义这样一个功能函数
  5.         {
  6.                 System.out.println(a+b);
  7.         }
  8.         public static void main(String[] args)
  9.         {
  10.                
  11.                
  12.                 getSumPrint(4,5);//调用此功能函数
  13.        

  14.         }
  15. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
public static void get(int a,int b)
{
       System.out.println(a+b);
       return;
}
首先你的明白在java中函数的定义方式,
修饰符 返回值类型 函数名(参数)
    语句;
  return  返回值;

在这里格式中通常有两种显示:
一 你的函数中的语句所得的结果的具体值需要被你定义的其他函数拿去调用,这时你return 后的返回数据的类型,就需要你在上面定义函数时确定返回值得类型,如下:
   public  int  show()
{
     int  a=2;
    int b=3;
  return a+b;(这时你所需要返回的值需要被其他的方法调去用,这个在你写程序时应该明确这一点)!
}
二  你的函数中的语句不需要做一个数值来参与其他方法来运算,只是作为一个功能被其他函数调用的时候,这时你的函数上面定义的不需要返回值,这时你就只能使用void的,
import java.util.Arrays;
class Demo
{
public static void main(String []args)
{
  int []arr={1,3,5,2,7,4};
     show(arr);
  String s=Arrays.toString(arr);
  System.out.println(s);
  
}
public static void show(int []arr)
{
  for (int i=0;i<arr.length ;i++ )
  {
   for (int j=i+1;j<arr.length ;j++ )
   {
    if (arr[i]>arr[j])
    {
     int temp=arr[i];
     arr[i]=arr[j];
     arr[j]=temp;
    }
   }
  }
  return;(这里可写可不写)
}

}

在这里函数show没有返回值只是作为一个功能被其他函数调用,在void没返回值的函数之中最后的return,可写可不写,你看到的很多例子没写,那是一种习惯,因为在这里它没有什么作用!再就是方便,大家都给省掉了!

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
个人认为你理解错了,老师的意思应该是想说void 返回类型的方法也是可以有返回值的,只不过什么都没有。
回复 使用道具 举报
打印也是一种存在,这个方法就是要把结果打印出来,所以使用了输出语句。
使用return是对的,当不能写其他值。,一个方法如果是void的,即使不写return默认的返回值也是什么都没有。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马