Method

Java方法

文章目录

**概念:**特定方法的代码块。(无参数无返回值的方法,带参数的方法,带返回值的方法)

语法规则:

访问修饰符 static 返回值类型 方法名(参数列表){

...代码块/方法体...

}

无参数无返回值的方法

静态方法--无参数无返回值

public static void 方法名(){

...代码块/方法体...

}

java 复制代码
import 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 方法名(参数列表){

...代码块...

}

案例一:

java 复制代码
public 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();
		}
	}	
}

结果:


案例二:

java 复制代码
public 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值,返回最大值

java 复制代码
import 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值,返回最大值

java 复制代码
import 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方法中如果调用了别的方法,就把别的方法也入栈

相关推荐
过期动态4 分钟前
【LeetCode 热题 100】接雨水
java·数据结构·算法·leetcode·职场和发展
bug和崩溃我都要12 分钟前
Qt 封装 libmpv 全功能视频播放器开发指南
开发语言·qt·音视频
郝学胜-神的一滴17 分钟前
Qt 高级开发 018:复刻经典登录界面布局与窗口美化全解析
开发语言·c++·qt·程序人生·用户界面
郝亚军23 分钟前
IEEE 754 单精度浮点的SEM表示
开发语言·c++·算法
zhangjw3430 分钟前
第15篇:Java多线程零基础入门,进程线程、线程创建方式、线程生命周期、线程安全彻底吃透
java·开发语言·面试
蝈理塘(/_\)大怨种31 分钟前
类和对象 (上)
java·开发语言
小新1101 小时前
qt creator 将qInfo的输出日志写入日志文档,方便查看
开发语言·qt
我材不敲代码1 小时前
Python 函数核心:位置参数与关键字参数详解
java·前端·python
hssfscv1 小时前
QT的学习记录1
开发语言·qt·学习
SunnyDays10112 小时前
Python操作Excel批注:从基础添加到高级自定义的完整指南
开发语言·python·excel