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

相关推荐
2401_894915535 分钟前
GEO 搜索优化完整源码从零部署:环境配置、集群搭建全流程
开发语言·python·tcp/ip·算法·unity
2501_9364156910 分钟前
可变参数&综合练习&斗地主游戏
java·windows·游戏
极客先躯1 小时前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
xqqxqxxq2 小时前
Java Socket 多人聊天室(私聊+群聊)技术笔记(V4版本)
java·网络·笔记
wang09072 小时前
自己动手写一个spring之aop_1
java·后端·spring
颜x小2 小时前
[C#] C++与c#语法对比
开发语言·c++·c#
weixin_423652133 小时前
C#使用JObject
开发语言·c#
国科安芯3 小时前
FreeRTOS RISC-V 浮点上下文切换移植:在 IAR 工程中完整保存 FPU 寄存器
java·开发语言·单片机·嵌入式硬件·算法·系统架构·risc-v
deng12043 小时前
【Thread类的用法(1)-- Thread类的基本用法】
java·java-ee
suconnect4 小时前
Spring Boot接入企业RAG:文档切分、向量检索、权限过滤和答案溯源
java·spring boot·后端