方法
什么是方法?
循环操作的主要完成的任务
(
目的
) :
解决一些重复性操作的问题,重复做某一件事
重复是有一定规律的,语句的格式是相同的
当前的重复是针对某一种功能的重复,循环就无法完成需求,
此时最好用的就是[方法]
方法就是一段功能代码-->完成某种需求 例如发射小鸡
方法可以使代码的可读性和可维护性提高
DRY 原则 -- -- > 不要重复自己的代码
ps*
现阶段所定义的方法都要添加一个关键字static -->类和对象的概念
ps*
不区分函数和方法的叫法,函数就是方法,方法就是函数
函数的名称和由来是写在数学中, 只有面向对象语言才使用函数这个名称
在面向对象语言中只叫 [方法]
方法的格式
语法:
public static void mian (String[] agrs)
访问权限修饰符 [ 其他修饰符] 返回值类型 方法名 (参数类型 参数名,
参数类型 参数名........)
{
方法体: [ 功能代码 ]
return;
}
方法解释:
1.访问权限修饰符: piblic 公有的,所与人都可以访问;
2.其他修饰符:
2.1 使用[]的形式括起来 ----->其他修饰符可以省略不写
但没有接触类和对象的时候,不能不写;
2.2 static 静态的 ,静态的属于类,通过类名的方式来调用这个方法
3:返回值类型:可以在当前方法中获取一个返回值(可以得到你想要的东西)
3.1 void 关键字 没有返回值 ( 什么也得不到 )
3.2 有返回值类型: 可以根据当前的方法中所提供的的功能得到的结果
提供返回值类型
值类型( 基本数据类型 ) byte short int long float double
char boolean
引用类型: 数组 ( 在堆中开启空间)
3.3 返回值类型和方法中所使用的一个关键字有关联 ----> return
4.方法名 : 方法的一个代号 , 方法名用来调节这个方法,
直到当前方法属于谁(某个人的名字)
4.1 : 方法命名规则:
4.1.1 : 满足标识符的命名规则
字母,数字,下划线,$组成,但不能以数字开头
4.1.2: 驼峰规则:
大驼峰 : 在定义类名,接口名,枚举
首字母大写,后续所有单词的首字母都要大写
小驼峰 :( 波浪规则 ) : 方法名
首字母小写,后续所有单词的首字母都要大写
public static void shoeInFos();
5.(参数类型 参数名 ):参数列表 为当前方法提供所使用的参数
相当于在()中定义了一个变量,等待赋值
public static void mian (String[] srgs)
5.1 两种书写形式:
5.1.1 当前方法不使用任何参数 --- >> ( )什么都不写
5.1.2 当前方法中使用参数 ---->> ( ) 定义相对应的参数 , 个数不限 ,
但是若多个参数请用 ,逗号隔开
ps**
方法签名:
方法名称 + 方法参数列表 --->> 方法签名,并且这个签名是唯一的
public static void mian (String[] args) ---------->> mian(String[] args)
若方法名不唯一 ,编译报错
6. {} -----> 方法体,只要是括号就要成对出现 ,
对需求的所有功能代码实现都在这个{}来书写.
7 . return 关键字详解:
7.1return关键字的第一个作用 : 结束一个方法
7.2return关键可以将方法中的返回值带回给调用者,并且结束这个方法
7.3return的使用关系返回值类型
7.3.1若当前方法是void,当前方法可以使用
return关键字,但是不能再return关键字的后面添加任何参数
也可以不用 return
ps
:建议不写
public static void show(){
return;
//return 1; 错误因为当前return带有返回值了
}
7.3.2若当前方法带有返回值类类型(值/引用),当前方法
必须使用return关键,并且要带回[一个]与返回值类型一致的值
public static int show()
{
return 1;
}
7.3.3 一个方法只能有一个return存在,若当前方法方法中需要
使用多个return,请使用分支语句加以区分
public static double show(){
return 1.1;
}
public static boolean show(int a){
if(a == 3){
return true;
}else{
return false;
}
}
方法的位置:
1.在Java中最小的程序单元是[类]
2.方法需要定义在类中,并且方法与main是兄弟关系平级
3.自定方法需要写在main 方法的外面
ps:方法定义先后顺序不会有影响,方法的调用
ps:若何定义/设计方法:
1.到底需要定义什么功能的方法
2.是否需要由返回值
2.1在调用中当前方法的返回值会被使用
2.2方法被调用调用时会被传入到另外一个方法
2.3纯打印,(输出数组中的元素,打印图形)不需要返回值
3.是否需要参数列表
3.1纯打印考虑不需要参数列表
3.2方法的通用性,并且方中需要使用外部传入参数作为计算值必须添加参数
4.为了提高方法的可读和可维护,一般建议一个方法中书写的功能代码
行数最好<=30行
方法的调用过程
方法是条狗,谁叫跟谁走
在一个方法若想调用另外一个方法,只需写当前方法的名字即可
1.在同一个类中,使用static定义的方法,可以直接调用方法名.而不是用类的方式调用
调用static的方法:
类名.(the)方法名(); --> Math.random();
方法名();[同一个类中] --> random();
2.若调用的方法没有返回值类型,即当前方法定义时使用是void
千万不能接收当前方法,只能调用
3.若调用的方法有返回值类型
3.1可以使用对应的数据类型来接收当前方法的返回值
int x = Math.random();
3.2可以不接收当前方法的返回值
Math.random();
ps:只要能用过System.out.println()打印出调用结果的方法
那么当前方法一定有返回值
形参:形式参数 ---> 参数列表
在方法中的参数列表重定义了一些变量等待赋值,在方法没有调用之前,没有任何空间也不存在
实参:实际参数 ---> 调用者调用方法时,给形参赋值 的参数值
方法调用者调用方法时,实际赋值给方法参数列表中形参的值,实参实际存在
实参名可以和形参名相同

