本文记录我从0基础自学的过程,希望能帮助到大家:
一、方法:
1)快捷键,先调用方法,在alt + 回车;
2)什么是方法:
A)现实中:做某件事所固有的一个流程。
B)java中:可以将“一段功能代码”封装成一个独立的“代码块”,并且起个“名字”,当其他的代码需要这段功能,就可以通过“名字”来调用这段代码!调用一次,方法中的代码就会被执行一次。
二、方法的特点:
A)流程相对固定;
B)可以反复使用。
1)、方法的作用:提高代码的重用性;
2)、方法的访问方式:方法名();
三、方法定义的位置与格式:
A)位置:类体中,方法外!
B)格式:
public static 某种返回值类型 方法名(【形参列表】){
方法体内容;
}
【注意】main和自定义的方法没有前后顺序!
四、参数:就是“方法”从外部接收的一个“入口”。
1)参数的分类:
A)形参:形式上的参数,在定义方法时设置的参数
格式: 数据类型 变量名,(数据类型可以是java任何类型)
B)实参:实际的参数,调用方法时传递的数据
格式: 字面量值/变量/表达式(实参的类型、数量必须和形参一致,兼容也行)
五、方法的返回值:
A)如果一个方法有“结果数据”,那么就应该定义返回值;
B)如果方法定义了非void的返回值类型,那么此方法内部的任何代码分支,必须返回一个此类型数据,而且只能返回一个此类型的数据;
C)调用的代码,可以接收,也可以不接收方法的返回值。
六、方法调用的三种形式:
A)直接调用:可以调用“无返回值的方法”,也可以调用“有返回值的方法”;【注】无返回值的方法常用直接调用。
格式:方法名();
B)赋值调用:必须用于有返回值的方法;
格式: 变量类型 变量名 = 方法名;
C)打印调用:必须用于有返回值的方法。
格式:System.out.println(方法名());
【注】参数类型和返回值类型没有关系!
七、方法的重载:
A)定义:
java允许在一个类中定义多个“同名的方法”,但“形参列表”不能完全相同。这种方式叫:方法的重载
B)重载与哪些因素无关:
1)与“形参名字”无关;
2)与”返回值类型“无关;
1)方法重载的好处:
使调用的代码,就好像调用在同一个方法一样,不用记那么多的方法名。
2)基本类型参数和引用类型的参数:
A)基本类型的参数传递的是值的副本,在方法内部可以更改副本,对原件没有影响。
B)引用数据类型的参数传递的是地址,使方法可以通过这个地址访问这个对象中的数据,可以修改对象中的数据。
通过下面的代码将更加深入的让你了解方法的魅力:
下面是初次简单调用java不带参数的方法来输出四次 “月薪过万!”
// 方法的调用:
public class Demo01 {
public static void main(String[] args) {
method();
}
public static void method(){
for (int i = 0; i < 4; i++) {
System.out.println("月薪过万!" + i);
}
}
}
输出结果为:
下面是方法的三种不同调用方法:
public class Demo01 {
public static void main(String[] args) {
// 直接调用(适用于有参和无参的方法,无参数的多用此方法)
print();
// 赋值调用(只能用于有参数的方法)
int max = getMax(10,20);
System.out.println("采用赋值调用打印出的值:" + max);
// 打印调用(只能用于有参数的方法)
System.out.println("用打印调用的方法打印的最大值为:" + getMax(10,20));
}
// 无参
public static void print(){
System.out.println("无参数的方法常用直接调用!");
}
// 有参
public static int getMax(int a,int b){
return a > b ? a : b;
}
}
结果为:
下面是通过方法的重载来实现输出不同个数、不同类型数据的和:
public class Demo01 {
public static void main(String[] args) {
System.out.println("和为: " + getSum(10,3));
System.out.println("和为: " + getSum(10.2,10.3,10.4));
System.out.println("和为: " + getSum(10,3.2));
System.out.println("和为: " + getSum(10.2,3));
}
public static int getSum(int a,int b){
return a + b;
}
public static double getSum(double num1,double num2,double num3){
return num1 + num2 + num3;
}
public static double getSum(int a,double b){
return a + b;
}
public static double getSum(double a,int b){
return a + b;
}
}