Java全栈JavaSE:8.Java方法详解
Posted new nm个对象
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java全栈JavaSE:8.Java方法详解相关的知识,希望对你有一定的参考价值。
声明:本节内容为本人观看“遇见狂神说”Java教学视频后总结,仅供学习参考。
1.Java中什么叫做方法
- 方法就是实现某一个功能的一堆代码,当我们想要使用这个功能时,直接调用方法即可。而不需要每次都去写那一推代码。
- 方法包含在类或者对象中
- 方法的命名规则:我们命名方法时一般使用首字母小写的驼峰原则。
2.方法的定义及调用
使用方法的注意点:
- 方法中的return语句,不仅仅会返回方法值,还会结束方法。即方法体中return后面的代码不会执行。
public static void main
也是一个方法,不过是Java中定义好的。它是Java程序执行的入口- 形参与实参:形参是在定义方法是设置的,相当于占位符。实参是在调用方法时设置的,会按照定义的顺序去替换掉形参,并参与计算。
package com.oy.methods;
public class Demo1 {
public static void main(String[] args) {
// 调用方法
/**
* 10,20: 调用方法的实际参数:相当于使用10和20替代a和b在方法中的位置。
*/
int max = myMax(10,5);
System.out.println(max);
}
//定义方法:比较两数大小的方法,并返回较大的数。如果两数相等返回0
/**
*
* public static:方法的修饰符
* int:方法的返回值类型。如果无返回值则为void
* myMax:方法名
* int a, int b:方法的形式参数,相当于占位符。表示调用该方法需要传入两个int类型的参数
*/
public static int myMax(int a, int b){
if (a==b){
return 0;
}else if (a>b){
return a;
}else {
return b;
}
}
}
运行结果如下:
10
3.方法的重载
package com.oy.methods;
public class Demo1 {
public static void main(String[] args) {
// 调用方法
/**
* 10,20: 调用方法的实际参数:相当于使用10和20替代a和b在方法中的位置。
*/
double max = myMax(10.5,20.5);
System.out.println(max);
}
//定义方法:比较两数大小的方法,并返回较大的数。如果两数相等返回0
/**
*
* public static:方法的修饰符
* int:方法的返回值类型。如果无返回值则为void
* myMax:方法名
* int a, int b:方法的形式参数,相当于占位符。表示调用该方法需要传入两个int类型的参数
*/
public static int myMax(int a, int b){
if (a==b){
return 0;
}else if (a>b){
return a;
}else {
return b;
}
}
// 重载myMax方法,支持浮点数类型
public static double myMax(double a, double b){
if (a==b){
return 0;
}else if (a>b){
return a;
}else {
return b;
}
}
}
运行结果如下:
20.5
4.命令行传参
5.可变参数
- 可变参数可以接收多个实参,只要满足对应的数据类型即可
- 可变参数在方法中是一个数组。
package com.oy.methods;
public class Demo2 {
public static void main(String[] args) {
//调用方法
myMax(10,30,5,9,45,21,99,58);
}
//定义方法:比较多个数字大小,并输出最大值
public static void myMax(int... num){
if (num.length==0){
System.out.println("No argument passed");
}
int result = num[0];
for (int i = 1; i < num.length; i++) {
if (num[i] > result){
result = num[i];
}
}
System.out.println("Max is "+result);
}
}
运行效果如下:
Max is 99
6.方法的递归
- 递归必须要有递归头,也就是递归结束的边界。否则将会陷入死循环
- 递归要有递归体,也就是调用自身的条件,否则递归就没有意义了
- 递归深度不能太深,否则会占用大量内存资源。也就是Java栈不能堆积太多
package com.oy.methods;
public class Demo3 {
public static void main(String[] args) {
//调用方法
int res = jieCheng(5);
System.out.println(res);
}
//定义一个方法,实现阶乘的计算。
//例如:5!=5*4*3*2*1
public static int jieCheng(int num){
//递归头:结束调用自身
if (num==1){
return 1;
}
//递归体:调用自身的条件
else {
return num * jieCheng(num-1);
}
}
}
运行结果如下:
120
以上是关于Java全栈JavaSE:8.Java方法详解的主要内容,如果未能解决你的问题,请参考以下文章