方法就是函数:一个功能的包装,方法就是包装代码的壳子,为这片代码起一个名字,就可以通过名字调用。
1.代码重复问题
2.功能的封装
3.团队的合作
main方法:程序入口方法,运行一个操作类的时候 第一找的就是main方法,public static void main(String[] args){} 。
public static 返回类型void 方法名称(方法参数)throws ...{
代码说明
}
public? 作用域 static? 静态关键字
返回类型?:通过返回类型 声明要返回的数据类型 把数据返回到调用方法的使用者,执行结果,加密数据,void 就是无返回值方法。
方法名称?:要求起名字,前面字母必须小写
方法参数?:向方法调用者 要求传递相关资源,哪里可以申请方法,方法必须申请在 class的大括号范围内(位置无所谓),不可以申请到方法中,一个class中可以有N个方法
声明方法传参:参数个数不限制,参数类型不限制,参数格式 和变量申请格式一致,只要申请在方法的小括号中。
public class T6 {//方法说明的实验
public static void main(String[] args) {
T6 t6 = new T6();
t6.t1(15);//所有的方法都必须在main中调用
}
public static void t1(int num) {//public公开的意思 static静态的意思 void无返回值(在这里可以选择返回值任何类型都行)
//num 调用方法是需要传入一个参数
System.out.println(num);
}
}
返回值:只能写一个类型?因为接受者是一个,返回什么类型就用什么类型去接受,也可以类型转换,int i=mmm(); System.out.println(mmm());
如果没有返回值就写void ,有返回值的方法 必须要返回数据出去 抛异常可以无需返回数据
return
1.在有返回值的方法中
2.无返回值的方法中
只要执行return语句 方法就结束了 ,后面不能写代码
public class T6 {//这里做一个返回值的实验
public static void main(String[] args) {
t2("嘻嘻哈哈");//这里是静态方法不需要创建对象
}
public static void t2(String names) {
boolean a = t1(names);
if (a == true) {
System.out.println("恭喜您账号验证成功");
} else {
System.out.println("不好意思您的账号验证错误");
}
}
public static boolean t1(String name) {
if (name.equals("嘻嘻哈哈")) {
return true;
}
return false;
}
}
方法重载 方法名一样 方法参数类型或个数不一样
public class T6 {//这里做一个返回值的实验
public static void main(String[] args) {
t1(15.5);//这了给了3个选择参数,String int double 他会根据你的输入来选择
}
public static void t1(int num) {
System.out.println(num);
}
public static void t1(double num) {
System.out.println(num);
}
public static void t1(String num) {
System.out.println(num);
}
}
方法递归:方法自调
public class T4 {
public static int sum(int num) {//这里就是自调代码
if (num == 1) {
return 1;
}
return num + sum(num - 1);
}
public static void main(String[] args) {
T4 t4=new T4();
int q= t4.sum(10);
System.out.println(q);
}
}
方法自调要注意:嵌套次数过多 堆栈溢出