Method

Java方法

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

语法规则:
访问修饰符 static 返回值类型 方法名(参数列表){
…代码块/方法体…
}

无参数无返回值的方法

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

public static void 方法名(){
…代码块/方法体…
}

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 方法名(参数列表){
…代码块…
}

案例一:

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();
		}
	}	
}

结果:

在这里插入图片描述

案例二:

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值,返回最大值

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值,返回最大值

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

相关推荐

  1. methods

    2024-04-30 22:06:04       53 阅读
  2. <span style='color:red;'>Method</span>

    Method

    2024-04-30 22:06:04      28 阅读
  3. Factory Method

    2024-04-30 22:06:04       52 阅读
  4. Calico IP_AUTODETECTION_METHOD

    2024-04-30 22:06:04       48 阅读
  5. Rust---方法(Method

    2024-04-30 22:06:04       35 阅读
  6. conanfile.py-Methods-package_info()

    2024-04-30 22:06:04       59 阅读
  7. 工厂方法模式(Factory Method

    2024-04-30 22:06:04       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 22:06:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 22:06:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 22:06:04       87 阅读
  4. Python语言-面向对象

    2024-04-30 22:06:04       96 阅读

热门阅读

  1. python字节串和数字互转

    2024-04-30 22:06:04       31 阅读
  2. 程序包 org.junit 不存在解决方案

    2024-04-30 22:06:04       30 阅读
  3. 安全架构概述

    2024-04-30 22:06:04       26 阅读
  4. 【工程记录】ChatGLM3-6B微调实践的更新说明

    2024-04-30 22:06:04       34 阅读
  5. 前端项目文件夹命名,用横线好,还行下划线好

    2024-04-30 22:06:04       26 阅读
  6. Python 学习笔记

    2024-04-30 22:06:04       31 阅读
  7. 区块链详解

    2024-04-30 22:06:04       25 阅读
  8. docker-compose docker的批量管理工具

    2024-04-30 22:06:04       32 阅读
  9. js关于数字的方法

    2024-04-30 22:06:04       29 阅读
  10. FPGA之zynq_DDR(1)

    2024-04-30 22:06:04       34 阅读