本学习内容来着b站:黑马程序员
注:打卡的第二天,一天学习下来,感觉自己会了,但是让我仔细回忆,还是记不起来几条,应该是自己代码敲得太少了,所以我愈发觉得写博客的重要性,尽管它会占用我一部分时间,毕竟现在我的时间不多了,但是我相信付出一定会有收获。如果你看到了这篇文章能对你有所帮助,给我点个赞或者评论也是对我更新的最大动力!感谢,内容如果有错误,欢迎各位兄弟姐妹批评指正!!!
一:方法的定义
方法是一种语法结构,它可以把一段代码封装成一个功能,方便被重复调用,以此来提高代码的复用性,提高开发效率,让程序逻辑更清晰。
二:学习方法要明白几点
1.方法的格式
1.1方法定义的完整格式
代码实现:
/*
目标:能够说出使用方法的优点
1.可以提高代码的复用性和并发效率
2.让程序逻辑更清晰
*/
public class MethodDemo1 {
public static void main(String[] args) {
//陈工
int c1=sum(10,30);
System.out.println(c1);
//小工
int c2=sum(310,30);
System.out.println(c2);
}
public static int sum(int a , int b){
int c = a + b;
return c;
}
}
1.2方法的其他写法
方法如果不需要返回结果,不需要接收参数, 用void
代码实现:
public class MethodDemo3 {
public static void main(String[] args) {
//目标:学会方法定义的其他形式,并理解其流程
print();
}
//无参数无返回值的方法
public static void print(){
//快捷键Ctrl +alt+t
for (int i =0; i <=500;i++) {
System.out.println("我爱你");
}
}
}
2.方法的调用
方法必须要被调用,否则不会被执行。调用格式:方法名称();
代码实现:
public class MethodDemo2 {
public static void main(String[] args) {
//目标:学习方法的完整定义格式,并理解其调用和执行流程
int c = add(100,200);
System.out.println("和是:" + c);
System.out.println("=====================");
int c1 =add(555,666);
System.out.println("和是:" + c1);
}
public static int add(int a, int b){
int c = a+b;
return c;
}
}
2.1有返回值的方法调用
有返回值方法调用有三种:1.赋值调用:定义一个变量接收方法的结果
2.输出调用:放在输出语句中调用
3.直接调用:方法还是会执行,只是不要返回结果
2.2无返回值方法调用
无返回值方法调用 就直接调用以下 。
以上实现在3.方法注意事项的代码
2.3方法调用的流程
一个一个方法执行出去,直到内存清空
3.方法的注意事项
代码实现:
/*
1、方法的编写顺序无所谓
2、方法与方法之间是平级关系,不能嵌套定义
3、方法的返回值类型是void(无返回值),方法内不能使用return返回数据,如果方法的返回值类型
写了具体类型,方法内部则必须使用return返回对应类型的数据。
4、return语句下面,不能编写代码,因为永远执行不到,属于无效代码。
5、方法不调用就不执行,调用时必须严格匹配方法的参数情况。
6、有返回值的方法调用时就可以选择定义变量接收结果,或者直接输出调用
甚至直接调用,无返回值方法的调用只能直接调用一下。
*/
public class MethodAttentionDemo4 {
public static void main(String[] args) {
//选择定义变量接收结果
int a = sum(10,20);
System.out.println(a);
//输出调用
System.out.println(sum(10, 20));
//*直接调用 (只是调用方法,让方法跑一下,但是方法返回的结果它不要了)
sum(10,20);
//无返回值方法的调用只能直接调用一下。
print();
}
public static void print(){
System.out.println("Hello world");
System.out.println("Hello world");
System.out.println("Hello world");
}
public static int sum(int a, int b){
return a+b;
}
}
4.方法的重载
4.1方法重载的识别技巧![](https://img-blog.csdnimg.cn/5c6fb0eabbb84a40934a4eb73f4623a7.png)
4.2方法重载的好处:
对于相似功能的业务场景:可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计
代码实现demo1:
public class MethodDemo1 {
public static void main(String[] args) {
//目标:是识别方法重载的形式,并理解其调用的流程,最后需要知道使用方法重载的好处。
give();
give("杭州");
give("杭州 ",99);
}
public static void give(){
System.out.println("送一束花给女朋友");
}
public static void give(String location){
System.out.println("送一束花在" + location +"给女朋友");
}
public static void give(String location,int number){
System.out.println("送"+ number +"束花在" + location +"给女朋友");
}
}
代码实现demo2:
public class MethodDemo2 {
//新方法
public static void open(){}
//重载方法
public static void open(int a){}
//重载方法
public static void open(int a, int b){}
//重载方法
public static void open(double a, int b){}
//重载方法
public static void open(int a, double b){}
//重复方法
//public static void open(int i, double b){}
//新方法
public static void OPEN(){}
}
5.方法的参数传递机制
代码实现:
public class MethodDemo1 {
public static void main(String[] args) {
//目标:理解Java的基本类型的参数传递:值传递
int a = 10;//实参a
change(a);
System.out.println(a);//10
}
public static void change(int a){//形参a
System.out.println(a);//10
a = 20;
System.out.println(a);//20
}
}
代码实现:
public class MethodDemo2 {
public static void main(String[] args) {
//目标:理解引用类型的参数传递机制:值传递,区分其不同点
int[] arrs = {10,34,55};
System.out.println(arrs[1]);//34
change(arrs);
System.out.println(arrs[1]);//555
}
public static void change(int[] arrs){
System.out.println(arrs[1]);//34
arrs[1] = 555;
System.out.println(arrs[1]);//555
}
}
6. return关键字
代码实现:
public class ReturnDemo {
public static void main(String[] args) {
//目标:明确return关键字的作用
System.out.println("main开始");
chu(10,0);
System.out.println("main结束");
}
public static void chu(int a,int b){
if(b==0){
System.out.println("您输入的数据有问题,除数不能为0!!!");
return;//立即跳出当前方法,并结束当前方法的执行。
}
int c = a / b;
System.out.println("结果是:" + c);
}
}
三、总结