函数:
函数是一段可以反复使用的完成特定功能的代码
应定义在类的内部,其他的任何函数的外面。一个类中,多个函数的顺序是无关紧要的
函数:由代码构成,完成特定的任务
语法
声明函数并实现
修饰符 返回值类型 函数名(参数列表){
//实现代码块
}
Eg:public static void printLine(){}
函数的位置
类之内,其他函数之外
调用
需要使用自己定义的函数的位置
函数名(参数列表);
Eg:printLine();
函数的调用流程
遇到函数调用,根据函数名和参数列表找到相对应的函数
先执行函数内部的实现代码,执行完毕
重新回到函数调用处
继续主函数执行
参数
多数情况下,调用者与函数之间都会有数据的交互,只有调用者传入对应的数据,函数才会执行相应的功能,调用者传入的数据叫做参数
语法:
修饰符 返回值类型 函数名(参数列表){//告知调用者执行这段函数需要什么数据
//实现代码块
}
(形参):参数可以使所有类型的数据,相当于声明局部变量 数据类型 变量名
函数名(实参);实参相当于给函数的形参赋值,类型必须和形参保持一致
形参可以是所有的数据类型,不限制个数,赋值时必须对应类型和长度进行复制,多个参数间,用 , 隔开
声明除:(Int a, double b, boolean c)
调用处:(10,11.0,true)
注:函数调用处的实参到函数声明处的形参,可以进行自动类型转换的可以认为是对应类型
函数的形参相当于函数内部有效的局部变量 。
形参,形式参数。 多个形参用逗号隔开;
如果两个形参是相同类型的,不能省略
函数返回值:
语法:
修饰符 返回值类型 函数名(参数列表){//返回值类型可以是所有数据类型
//实现代码块
Return 数值;//return后面跟的数值必须符合返回值类型
}
调用处语法:
返回值类型 变量名=函数名(实参);
用在有返回值的函数中,表示指定返回某个值
用在没有返回值的函数中,表示结束当前函数
一个函数只能有一个return值,且return语句放在函数的最后一句
如果函数中出现分支结构,每个分支都需要有返回值
函数的三要素分别是返回值类型、函数名、参数表 。
函数执行流程:
调用函数:函数名(实际参数);
实参会依次给形参赋值调用函数,程序流程会进入函数,函数返回,程序流程会返回到函数调用点。
调用函数可以看成一个表达式,eg:int result = add(10,20);
实参给形参赋值,进入调用的函数,再返回到程序中
使用函数的作用:
避免重复代码
提高程序的可维护性
提高程序的重用性
提高程序的灵活性
写一个函数 add,接受两个整数作为参数,返回这两个整数的和 。
public class TestF{
//9.(编程)写一个函数 add,接受两个整数作为参数,返回这两个整数的和 。
public static void main(String[] args) {
System.out.println(add(10,5));
}
public static int add(int a,int b){
return a+b;
}
}
写一个函数,接受一个整数参数 n,输出 n 个 HelloWorld 。
public class TestF2{
//写一个函数,接受一个整数参数 n,输出 n 个 HelloWorld 。
public static void main(String[] args) {
pr(5);
}
public static void pr(int n){
int i=1;
while(i<=n){
System.out.println("HelloWorld");
i++;
}
}
}
写一个函数,判断这个整数是质数还是合数,如果是质数,就打印“质数”如果是合数,就打印“合数”。
import java.util.Scanner;
public class zhishu{
//写一个函数,判断这个整数是质数还是合数,如果是质数,就打印“质数”如果是合数,就打印“合数”。
public static void main(String[] args) {
//定义输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数:");
int x=sc.nextInt();
//调用函数
zhi(x);
}
public static void zhi(int n){
//先判断n小于2时的情况;
if (n<2) {
System.out.println("合数");
}
//循环判断是否为质数,除1和它本身外没有余数为质数
for (int i=2;i
if (n%i !=0) {
System.out.println("质数");
}else{
System.out.println("合数");
//一旦发现是合数,直接跳出循环
break;
}
}
}
}
编程思想:
构建程序结构
解题思路
面向过程:从程序执行的过程入手,将完整的过程细分成多个子过程,再将子过程细化,逐步完成代码;
非结构化编程:goto,
结构化编程:引用函数的编程;
特点:自顶向下,逐步求精
面向对象思想:一切从事物对象本身作为问题出发点;