预习和总结
方法
作用:在类中定义方法的语法 完成某一特定功能(如:求和,统计数量等)的**代码块
方法的定义:语法格式
定义方法必须要考虑的两个点: 返回值类型,和参数列表
[修饰符] 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2....)
{
方法体;
[return 返回值;] //如果返回值类型为void 则不用 return
}
//格式分析
1:修饰符: private 缺省 protected public static
2:返回值类型: 可以是基本数据类型也可以数引用数据类型
3:方法名称:命名和标识符一样
4:形式参数: 可以有多个 然后可以在方法内使用 方法外填写
5:方法体:就是代码执行的地方
6:return 有数据类型就用 为void就不写否则就写
7:递归就是自己调用自己的方法
//注意事项
1:方法必须在类中 因为java中最小的程序单元就是类
2:一个类可以定义多个方法
3:方法中不能创建方法 且没有先后顺序
方法如何调用
//语法: 有static的 类名.方法名(实际参数/有写没有不写);
//语法: 无static的 对象.方法名(实际参数/有写没有不写);
//方法分为两种形式一种为有返回值的一种为无返回值的
//1:有返回值的 用一个数据类型接收方法返回的值(不用可以不接收)
public class Sum{
//在此定义一个有返回值的求两个数字相加之和
public int sum(int a,int b){
int c = a + b;
//返回a+b之和
return c;
}
}
public class SumDemo(){
public static void main(String[] args){
//创建Sum的对象
Sum s = nwe Sum();
//利用对象调用Sum的方法 然后使用他的sum的方法
//注意:此时形式参数存调用方法的时候要填对应数据
//要用数据接收 因为有返回值
int a = s.sum(1,2);
//打印数据a
System.out.println(a); //结果 3
}
}
//2:无返回值 直接调用就好
public class Sum{
//在此定义一个无返回值的求两个数字相加之和
public void sum(int a,int b){
//直接打印a+b的结果
System.out.println(a+b);
}
}
public class SumDemo(){
public static void main(String[] args){
//创建Sum的对象
Sum s = nwe Sum();
//利用对象调用Sum的方法因为无返回值且方法内部为打印
//所以直接调用就好
is.sum(1,2); //结果 3
}
}
//小结 创建方法的时候想 我需要什么(需不需要返回值) 形式参数需要
// 几个 其实就可以了
方法的可变参数
作用:就是一个可以改变的数组 可以传入一个参数 两个参数或更多
可变参数就是为了减少我们程序的开发
//代码奉上 各位大佬
public void changeable(int a,int..... i){
/* 此时填入这个参数的 可以是一个元素 可以是两个 多了也可以填入
数组
调用这个int...i的时候需要遍历调用 因为底层是数组 是一个可变
的数组
*/
}
//代码
//利用可变参数定义数组
public void getSum1(double d, double... arr) {
//遍历arr 然后 并赋值
// for(double ele:arr){ }
//遍历的方法去获取可变参数的值
for (int i = 0; i < arr.length; i++) {
//判断 并打折
arr[i] = arr[i] * d;
}
//赋值完事之后就可以打印数组了
System.out.println(java.util.Arrays.toString(arr));
}
//注意:
//1:一个方法只能定义一个可变参数 且只能在最后边
方法的重载
作用:屏蔽了同一功能的方法由于参数不同所造成方法名称不同。
//方法重载遵循的两同一不同原则
两同:在一个类中 方法名相同
一不同:形式参数列表 参数个数 参数顺序任一个不同就好
注意:方法的重载和返回类型无关 一般相同就可以
方法参数的值得传递机制
//文字解释
基本数据类型传递机制:
|就是当在主方法中调用一个方法得时候并用主方法
|的参数填写形式参数时内存是在方法栈帧中把主方法
|的值直接赋值给方法的变量
引用类型的参数传递机制:
|当主方法调用方法的时候,并把自己的数组赋值给他就是在 堆和栈中
|操作 当赋值的时候 就是main方法中 把自己数组的引用地址 引用给
|方法中的数组引用
小结:
传递基本类型参数:传递参数值
传递引用类型参数:传递参数所引用的堆空间地址值