目录
什么是方法
方法的定义:方法是程序中最小的执行单元,
需求:用于输出语句描述
什么时候用到方法:重复的代码,具有独立功能的代码可以抽取到方法中。
方法的好处:可以提高代码的复用性,可以提高代码的可维护性
举例:main方法,就是可以调用的,程序最小的执行单元
方法:把一些代码打包在一起,用到的时候就调用
方法定义:把一些代码打包在一起,(方法比较害羞,需要调用才可以使用)
方法调用:方法调用后不是直接运行的,需要手动调用才能执行,该过程成为方法调用。
方法的定义格式:
最简单的方法定义格式:
格式:
public static void 方法名(){ 范例:public static void platGame(){
七个打印语句;
}
方法体(就是打包起来的代码);
}
方法调用:
格式:方法名();
看到方法进入方法,执行完毕回到调用处,先找main方法入口,再一句句分析
带参数的方法的定义和调用
格式:
public static void 方法名(参数){ 范例:public static void platGame(int a){
七个打印语句;
}
方法体(就是打包起来的代码);
}
方法调用:
格式:方法名(参数1,参数2);
注意!方法调用时,参数的数量和类型必须与方法定义中小括号里面的变量一一对应,否则程序将报错。
形参和实参
形参:形式参数,指方法定义的参数
实参:实际参数,指方法调用中的参数
注意!方法调用时,形参和实参必须一一对应,否则程序将报错。
方法定义的技巧:①我要干什么②我需要什么来完成这个任务
带返回值方法的定义和调用
方法的返回值其实就是方法运行的最终结果,也就是不带返回值的是直接打印在控制台,带返回值的直接发送到了调用处
原因:为了在调用处拿到方法产生的结果,就需要定义带有返回值的方法
格式:
public static 返回值类型 方法名(参数){ 范例:public static int platGame(int a){
七个打印语句;
return ;
}
方法体(就是打包起来的代码);
return 返回值;
}
带返回值方法的调用:
①直接调用
方法名(实参);
②赋值调用
整数类型 变量名 =方法名(实参);
③输出调用
System.out,println(方法名(实参));
1.方法的返回值是返回给调用处
2.什么时候用到有返回值的方法:
在调用处要根据方法的结果,去编写另外一段代码
3有返回值调用的调用格式
直接调用(无任何结果);赋值调用;输出调用
在以后实际开发中,我们一般是把重复的代码或者具有独立功能的代码抽取到方法中。写方法的时候,不要忘记根本!!!
方法不调用就不执行
方法与方法之间是平级关系,不能互相嵌套定义
方法的编写顺序和执行顺序无关,与调用顺序有关
return语句下面,不能编写代码,因为永远执行不到
return关键字:
方法没有返回值,可以省略不写,如果书写,表示结束方法
方法有返回值,必须要写,表示结束方法和返回结果
理解:(自己的解释,易于自己理解,可能有点绕,可以敲代码看一下区别)
如果方法定义是void,表示没有返回值,但是方法里面有打印输出语句,如
则只调用不用前面赋值就可以直接打印到输出控制台。
如果方法定义是int类型,而方法里面没有写打印语句,则值调用没有任何结果,如果里面有return返回语句,则直接调用没有任何结果,因为没有赋值,需要赋值语句才可以直接输出到控制台或者是直接调用。
方法的重载
方法的重载:
在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能
每个方法中具有不同的参数类型和参数个数,这些同名的方法,就构成了重载关系。
简单计:①同一个类中,②方法名相同,③参数不同的方法,与返回值无关。
参数不同指的是(个数不同;类型不同;顺序不同)
顺序不同可以构成重载,但是不建议!
JAVA虚拟机通过参数不同来区分同名的方法
方法的练习:
遍历数组
取最大值
max初始值一定是数组里面的数字
判断是否存在
return break 关键字的区别
return 跟方法有关①结束方法②返回结果
如果方法执行到了return,整个方法全部结束,里面的循环也随之结束
break
与方法无关,结束循环或者switch的
方法的内存分配
方法调用的基本内存原理
当方法进栈时,会一句一句依次执行,执行完毕之后就会出栈。
基本数据类型和引用数据类型
①变量中存储的是真实的数据
②数组是引用数据类型(new分配) 栈内存中的存放的地址值
引用:使用了其他空间中的数据
例子(自己花的自己的钱不够的情况下会借朋友的钱,此时朋友的钱就是引用)
总结
基本数据类型:
数据值是存储在自己的空间中,
特点:赋值给其他变量,也是赋的真实的值
引用数据类型:
数据值是存储在自己空间中,自己空间存储的是地址值。
特点:赋值给其他变量,赋的是地址值
方法的值传递
change方法调用完就出栈了哦,不会在留在栈内存中
传递基本数据类型时,传递的是真实的数据,形参的改变,不会影响实际参数的值
数组的址传递
(黑马程序员bi站)73
传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值
传递的真实的地址,真实的真实的地址地址地址!!!!!!!!!
总结
1、已看到69,接着看70(没看),坚持
2 、72节多看几遍
3、一点点敲代码,累计的过程,事情的发展道路是曲折的前途是光明的,上升的
4、74到80的练习题还没有做