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的例子。

  • 相关阅读:
    iOS 日历控件
    iOS签发者无效
    Swift3
    GitHub管理代码-随笔
    iOS10 适配问题-Xcode8
    iOS 性能调试
    bug
    贝塞尔曲线(UIBezierPath)属性、方法汇总
    webView 自适应高度 document.body 属性
    iOS-集成支付宝支付、微信支付简单总结
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/7528718.html
Copyright © 2011-2022 走看看