子程序是程序的一个独立部分,它有一个名字并解决它自己的独立任务。子程序位于主程序的开头,可以通过指定名称从主程序启动(调用)
使用子例程可以避免代码重复,以防您需要在程序的不同位置编写相同的代码。
导入到程序中的库(例如,数学库 Math)包含已经由某人编译的子例程。程序员不需要考虑他们实现了什么算法,而只是简单地应用它们,只考虑他们到底在做什么。这是一个很大的节省时间。没有必要去写别人已经写好的算法。
每个例程
应该只做一个任务, 要么只是计算一些东西,要么输出一些数据,要么做其他事情。
有两种类型的子例程 -
过程和
函数
子过程执行一些动作,例如,将结果以某种形式显示在屏幕上(一个简单的例子,运算符
println()
是一个标准的子过程,将信息打印到屏幕)
函数子程序
返回一个结果(数字、字符串等),我们可以在主程序中使用。
让我们尝试编写一个简单的程序:
假设我们需要在屏幕上显示字符串“Error”每次由于用户的错误(例如,当他输入不正确的数据)而导致代码中出现错误时
这可以通过编写语句来完成
System.out.println("错误");
而现在想象一下,在程序的很多地方都需要插入这样一行。当然,你可以到处写。但是这个解决方案有两个缺点。
1)这个字符串会多次存入内存
2) 如果我们想改变错误的输出,我们将不得不在整个程序中改变这一行,这是相当不方便的
对于这种情况,需要程序。
带有过程的程序可能如下所示:
...
static void printError() // 过程描述
{
System.out.println("错误"); // 过程主体 - 过程将执行的命令
}
public static void main(String[] args)
{
...
printError() // 开始执行程序。我们只需指定要执行的过程的名称。
...
打印错误()
...
}
该过程以单词 void
开头。 过程名称后有空括号。
在过程中执行的所有语句都是缩进的。
程序写在main函数之前 main()
要执行一个过程,您需要在主程序中调用它按名称并记住写括号!
您可以多次调用程序中的过程。