AIDE手机编程初级教程(零基础向) 2.4 Java基础四 函数

第二章 第一个游戏

系列教程导航

2.4 Java基础四 函数


文章目录




打印语句

    我们经常使用打印语句来在控制台上输出一些内容,这样就可以方便地查看程序中的一些内容。但是,你有没有想过这个打印的功能究竟是怎么实现的呢?

    事实上,要实现打印语句的功能,需要写数十行代码!也就是说,假如没有打印语句,我们在程序里面随便实现几个打印功能就可能需要写下数百行代码!尽管很多内容可以复制粘贴,这也给程序的编写和纠错带来了极大的麻烦。

    于是,函数这个概念就出现了。简单来说,我们可以把实现打印功能的这数十行代码全部放进一个函数里,然后每当我们想要打印的时候,只需要执行这个函数就好了。

    事实上,打印语句就是在执行这个函数,所以我们才能仅仅用一句代码实现打印的功能。

    函数的好处还远远不止上面说到的那一点。接下来,你将会具体学习到函数的知识。




函数

    定义:定义在类中的具有特定功能的一段独立小程序,也可以叫做方法

    定义里面提到了这个词,目前你还没有学,所以忽略即可,不影响理解。

    格式:

修饰符 返回值类型 函数名(参数类型1 形式参数1, 参数类型2 形式参数2, ...)
{
	执行语句;
	return 返回值;
}

    上面的格式里面有很多名词,这里给出一些简单的解释:

  1. 修饰符,也就是给函数加的各种表修饰的关键字。修饰符可以没有,也可以有很多
  2. 返回值类型,函数运行后的结果的数据类型(这个词是必填的,如果没有返回值,则填void)
  3. 参数类型,对应的形式参数的数据类型
  4. 形式参数,其实就是一个变量,用于储存调用函数的时候传递给函数的实际参数
  5. 实际参数,传递给形式参数的具体数值
  6. return,关键字,用于返回返回值并结束函数
  7. 返回值,该函数运算后的结果,该结果会返回给函数的调用者

    函数的格式很复杂,所以即使上面的格式没有完全看懂也没有关系,我们接下来会以几个例子来进行具体说明:

例1:

public static void main(String[] args){
	System.out.println("...");
}

    有没有一种很熟悉的感觉!是的,你可以去看看你的AIDE里的那个Java程序,里面就有这个函数。它的名字叫做主函数,是整个Java程序的入口。也就是说,(按照目前的知识来讲)Java程序是从主函数开始执行的。

    我们逐步分析一下这个主函数的格式:

  1. public,这就是主函数的一个修饰符,它是一个权限修饰符,加上它之后,这个函数可以随处使用
  2. static,这也是主函数的一个修饰符,代表静态。我们暂时不用了解静态的知识,故此处不细讲
  3. void,这是主函数的返回值类型,void代表函数没有返回值
  4. main,这是主函数的函数名
  5. String[],这是主函数的形式参数的参数类型
  6. args,这是主函数的形式参数
  7. 注意到我们没有写return语句。这是因为主函数的返回值类型是void,也就是没有返回值,所有说可以不写return,此时函数会一直执行到该函数的最后一行。如果你想要在中途结束函数的话,也可以使用return;提前结束函数(后面不要写任何语句,因为执行不到)

    顺便提一下,在这个函数里面,我们调用了一个函数,它的函数名是println,接受了一个字符串类型的形式参数。这个函数就会将这个字符串打印在控制台上。

例2:

int add(int a, int b){
	int c = a + b;
	return c;
}
  1. int,这是该函数的返回值类型,是整数类型
  2. add,这是该函数的函数名
  3. 后面的两个int是形式参数a和b的参数类型
  4. a和b也就是add函数的形式参数,可以在函数里面使用
  5. return c;将c的值作为返回值返回给函数的调用者。

    这是一个非常简单的计算两个整数的和的函数。它接受两个整数类型的参数,并计算它们的和,然后返回这个和。

    接下来我们在AIDE里面真正的写一个函数,并调用它,体验一下定义函数和使用函数的整个过程。

    为了方便,我们创建一个新的Java程序。如果你忘记了的话,可以回顾一下这篇文章

    删除多余的语句,只留下这个部分

图

    我们按照例2的方式定义一个add函数:

tu

    接着,我们在主函数里面使用这个函数,并打印它的返回值:

图

    这里就出现了问题:由于主函数有一个static修饰符,所以说它所调用的函数都需要是静态的,也就是需要被static关键字修饰。所以我们给add方法加上static关键字

图

这里简单提示一下,不要傻乎乎的敲整个词,善于使用AIDE的提示框

    好啦,现在我们的程序就没有问题了。我们运行一下这个程序,结果如下:

图

    OK!任务完成!




函数的重载

    不知道你发现没有,在上面的例子里面我使用输出语句打印了一个整数。要知道,我们之前打印的一直都是字符串。这难道不是很奇怪吗?

    我们在前一个部分提到过,函数的形式参数都有对应的参数类型,而println这个函数自然也不例外。它可以接受一个字符串类型的参数,并将其打印在控制台上。但是我们传入一个整数类型的参数,它照样打印了。这是为什么呢?

    这种现象被称为函数的重载。它的概念是,在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。

    函数的重载有什么好处呢?举个例子,打印函数println可以接受很多类型的值,并将它们打印在控制台上。所以说我们如果想要实现打印的功能的话,只需要记住这一个函数名,然后往里面传入想要打印的数据就行了。假如没有重载,我们就需要记住各种不同的打印函数名以及对应的参数。

    这里我给出一个小练习:由于上面例子中的add方法只能计算两个整数的和,请利用函数的重载,定义一个add方法,计算三个整数的和并将其返回。




后记

    学完本节之后,相信你对函数已经有了初步的认识。接下来,我简单地说一下函数的特点:

  • 封装功能代码(想一想你的手机为什么要把各种元件用手机壳包起来)
  • 便于复用功能,函数一般可以多次重复调用
  • 只有被调用才会被执行
  • 提高了代码的复用性(可以重复调用)

    使用函数的时候要注意,函数里面只能调用函数,不能定义函数。

    函数是非常重要的基础知识,请你一定要掌握。在后面的教程里面,我们也会频繁的定义函数和使用函数,相信你会变得越来越熟练。

感谢你的阅读!本教程会长期不定时更新。本人不是大神,也会犯错,如果有建议或者提问的话,欢迎评论留言!


系列教程导航

作者头像

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
了解AIDE(3课) 本来以前做PyS60教程是没有介绍开发工具这一节的,由于AIDE专业名词很多,且无可用汉化版(其实汉化版在论坛上是有的,但汉化组们汉化的AIDE由于破坏了软件原有的签名,虽然安装之后可以打开,但写的程序无法run运行,这个大家可以去试试。。) 这里,我开始向大家介绍AIDE的使用和功能,有些截图是截的汉化版的,方便大家对照。 进入主界面如下图: 有的手机第一次打开AIDE时会提示新建一个android项目,可以点不。如上图,点击电脑图标后,会弹出出AIDE的工作区,如下图: 默认工作区弹出的内容是AIDE的项目文件管理器,值得一提是AIDE的项目文件管理器的默认文件目录是在sd卡下的AppProjects目录下的,新建安卓项目最好新建在这个目录下。 工作区里的内容或者说功能可以通过手机菜单键>More(更多)进行切换,More(更多)的内容如下图: 为了防止AIDE以后有更多功能,图片不好对照。下面我给出常用的英文翻译对照: 1、主菜单 Files-->文件夹 GoTo-->跳转 Forward-->前进 Save-->保存 Run-->运行 More-->更多 . 2、More(更多) Go Premium!-->无用的,不管 Show Errors -->显示错误 Show Search Results-->显示搜索结果 Show LogCat-->显示LogCat Show File Location-->显示文件位置 Show Open Files-->显示打开的文件夹 Search in Files-->在文件中搜索 GoTo Class-->跳转到类 GoTo Line-->跳转到行 Export APK-->导出APK Refresh Build-->刷新工程 Refresh Code Analysis-->刷新代码分析 Close Project-->关闭工程 Community-->社区(跳转网页)SDK Help-->社区(跳转到android官方开发帮助) Settings-->设置 Exit-->退出 . 我希望大家在编写第一程序之前先好好的了解一下的我们的开发工具AIDE,还好很多没翻译到的地方可以自己摸索一下,好了,这一节就到这里。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值