zoukankan      html  css  js  c++  java
  • JAVA-初步认识-第四章-函数-细节-错误格式定义思想错误

    一. 

    从函数的功能三来看,(无输入,无输出),当很多次输出时,我们将其功能函数化,可以提高代码的复用性。

    当一句代码重复使用两次以上时,就要考虑提高复用性。

    二. 函数的好处

    注解: 函数结果返回调用者,交由调用者处理。这点尤为重要,这是一个规范,不是规则,但是要尽可能的这么做。

    重点:封装+复用

    函数的级别是同一级别的,在类中地位相同。

    注意:返回调用是重点,没看懂

    注解:这个是属于有输入,无返回值么? 将值放在了执行语句中。

    封装的时候,功能个数有限制。加法是个功能,输出也是个功能。应该封装一个功能。

    这里为什么会有void关键字,这不是有返回值么?→错了,这不是返回值,这是加法+输出的功能化函数。核心在输出上,所以用void的来作为add的关键字,而不是数值型关键字。而且这不是返回值,这是输出值,在调用时,add前面没有任何关键字,修饰符(void对应的是System.out.println)。万不得已不要做这么多的功能。同时,在主函数写的是add(3, 5)没有将其进行赋值。

    上面说的都是注意的第二项。因此,在调用函数的时候,输出就由程序自己操作,而不是在调用函数里直接操作完了。

    输出语句里面要么什么都不写,要么里面就是具体的数值。这里add(3, 5)调用是没有结果的。

    思想误区主要是两个:多个功能封装;输出语句里的无返回值。

    针对思想误区做一个了解,如下

    这是一个多功能封装的问题,我觉着不要多功能封装就在于,可以将封装的函数的使用范围扩大。如果程序调用的是加法和其他的组合,那么定义的这个函数就废了。

    这个就是将无返回值的给了输出语句,也是个错误。这个错误其实有点不懂?void修饰的不是一个返回值,和输出语句对自己括号里的要求相冲突

     主函数里的输出想要成立,必须保证调用的功能函数有结果,但是这里定义的功能函数是没有结果的。

    补充:

    你可以把一个方法想想成一个黑盒子,不知道里面的具体业务实现方式。你想通过该方法得到什么类型的值就在前面写什么类型,在方法内部return什么类型。如果这个方法你觉得没有必要返回值,就写void了。

    总结:如果我的理解没错的话,三种情况已经完全展现出来了。有输入,有返回值这个是没有问题的;有输入,无返回值是在多功能封装里出现了,将加法和输出函数化;无输入,无返回值对应的就是myprint的例子。

  • 相关阅读:
    数据类型装换
    变量及数据类型
    27 网络通信协议 udp tcp
    26 socket简单操作
    26 socket简单操作
    14 内置函数 递归 二分法查找
    15 装饰器 开闭原则 代参装饰器 多个装饰器同一函数应用
    12 生成器和生成器函数以及各种推导式
    13 内置函数 匿名函数 eval,exec,compile
    10 函数进阶 动态传参 作用域和名称空间 函数的嵌套 全局变量
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/7528718.html
Copyright © 2011-2022 走看看