Java方法
文章目录
**概念:**特定方法的代码块。(无参数无返回值的方法,带参数的方法,带返回值的方法)
语法规则:
访问修饰符 static 返回值类型 方法名(参数列表){
...代码块/方法体...
}
无参数无返回值的方法
静态方法--无参数无返回值
public static void 方法名(){
...代码块/方法体...
}
javaimport java.util.Scanner; public class Test01{ public static void main(String[] args){ //调用方试一: printStar(); //调用方式二: Test1.printStar(); } public static void printStar(){ for(int i = 0;i<5;i++){ for(int j = 0;j<=i;j++){ System.out.print("*"); } System.out.println(); } } }
注意:
void 关键字表示无返回值
方法写在类中
方法与方法之间是平级关系(即不能在方法中定义另外一个方法)
方法必须被调用,否则就是个摆设
带参数的方法
静态方法--带参数
语法结构:
public static void 方法名(参数列表){
...代码块...
}
案例一:
javapublic class Test02{ public static void main(String[] args){ printStar(3); //printStar('A');//'A' - 65(会输出65行) } public static void printStar(int num){ for(int i = 0;i<num;i++){ for(int j = 0;j<=i;j++){ System.out.print("*"); } System.out.println(); } } }
结果:
案例二:
javapublic class Test02{ public static void main(String[] args){ getMax(10,20); } public static void getMax(int a,int b){ int max = (a>b)?a:b; System.out.println("最大值为:" + max); } }
结果:
注意:
- 形式参数/形参:声明方法时规定的参数
- 形参必须声明类型
- 形参属于该方法的变量,作用域就在该方法内,形参也是局部变量
- 局部变量:方法里声明的变量
- 实际参数/实参:调用方法时传入的数据
- 实参和形参的类型必须兼容
- 实参和形参可以有多个,用逗号分割
带返回值的方法
静态方法 -- 带返回值的方法
语法结构:
public static 返回值类型 方法名([参数列表]){
...代码块...
return 数据;//1.结束当前方法 2.将数据返回给调用方
}
案例一:传入两个int值,返回最大值
javaimport java.util.Scanner; public class Test03{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("请输入第一个数字:"); int a = scan.nextInt(); System.out.println("请输入第二个数字:"); int b = scan.nextInt(); int max = getMax(a,b); System.out.println("最大值为:" + max); } public static int getMax(int a,int b){ int max = (a>b)?a:b; return max; } }
案例二:传入三个int值,返回最大值
javaimport java.util.Scanner; public class Test03{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("请输入第一个数字:"); int a = scan.nextInt(); System.out.println("请输入第二个数字:"); int b = scan.nextInt(); System.out.println("请输入第三个数字:"); int c = scan.nextInt(); int max = getMax(a,b); max = getMax(max,c); System.out.println("最大值为:" + max); } public static int getMax(int a,int b){ int max = (a>b)?a:b; return max; } }
注意:
- 带返回值的方法有没有参数要看具体需求
- 声明方法时需要设置返回值类型
- return后接的是需要返回的具体数据
- 方法功能单一性(一个方法的功能不要过于强大)
- 方法声明时规定的返回值类型 和 return后的数据 必须兼容
- 返回值只能有一个,如果想返回多个值就必须使用数组、集合、...
方法的执行原理
方法被调用的时候,是进入到栈内存中运行,先把main压栈,然后别的方法入栈
接的是需要返回的具体数据
- 方法功能单一性(一个方法的功能不要过于强大)
- 方法声明时规定的返回值类型 和 return后的数据 必须兼容
- 返回值只能有一个,如果想返回多个值就必须使用数组、集合、...
方法的执行原理
方法被调用的时候,是进入到栈内存中运行,先把main压栈,然后别的方法入栈
先把class文件放入方法区加载其字节码文件,接着把main方法放入栈内存,然后执行main方法,main方法中如果调用了别的方法,就把别的方法也入栈