import java.util.Scanner; /** * @author WanJl * @version 1.0 * @title Demo01 * @description java方法 * @create 2026/7/17 */ public class Demo01 { /* 方法--在Java中叫方法,在C/C++中叫函数 他们在不同的语言中含义不同,但是格式差不多 都是给一段代码取名字,以后通过这个名字来调用这段代码。 就像我们设计一个计算器工具 我们不需要每次都重新制造计算器,而是直接使用就可以 方法就是让代码可以复用,分解整个程序的复杂度,方便我们测试和调试 方法按照 【是否具有返回值】 和 【是否具有参数】 可以分为4种声明的方式 第1种 : 既没有参数、也没有返回值 public static void 方法名(){ 里面就是封装的代码, 我们称为方法体 } public static : 修饰符,暂时不用管 后面会详细的讲 void : 当一个方法没有设置返回值类型的时候,需要在使用void 占位 方法名:调用的时候使用方法名调用 () : 用来标识这是一个方法,并且()里面可能会定义方法的参数 */ /** * 第一个方法,计算用户输入的两个整数,累加后输出 */ public static void add(){ Scanner sc=new Scanner(System.in); System.out.println("请输入第1个数:"); int n1=sc.nextInt(); System.out.println("请输入第2个数:"); int n2=sc.nextInt(); int sum=n1+n2; System.out.println("计算结果为:"+sum); //sc.close(); } /* 第2种 : 有方法参数,但是没有方法返回值 如果调用方法的时候,需要传入n个变量值,参与方法内部的代码运算和执行 那么就可以通过参数把值传入到方法中 public static void 方法名(参数1,参数2,....,参数n){ } 调用带有参数的方法: 方法名(实际参数值1,实际参数值2,....,实际参数值n); */ public static void add(int a,int b){ int sum=a+b; System.out.println(sum); } public static void main(String[] args) { //直接通过 方法名() 调用方法 //add(); //调用没有参数的方法 //调用有参数的方法 //add(15,7); sub(15,7); printFor(); getMax(7,8,9); } /** * 声明一个计算2个整数相减的方法,并调用。定义参数a和b -----没有返回值、有参数的方法 * @param a 被减数 * @param b 减数 */ public static void sub(int a,int b){ System.out.println(a-b); } /** * 声明一个循环输出1~100的整数的方法,并调用---没有返回值、没有参数的方法 */ public static void printFor(){ for (int i = 1; i <=100; i++) { System.out.print(i+" "); } System.out.println(); } /** * 声明一个获取三个变量中最大值的方法,调用方法,传入3个参数,会输出最大值 * @param a * @param b * @param c */ public static void getMax(int a,int b,int c){ int max=(a>b?a:b)>c?(a>b?a:b):c; System.out.println(max); } /* 第3种:有参数、有返回值 public static 返回值类型 方法名(参数列表){ 方法体..... return 返回值 } // 返回值类型可以是任何类型,返回值必须和类型相符 */ // 定义一个方法,传入int类型数组参数,方法返回数组最大值 public static int getMaxElement(int[] arr){ int max=arr[0]; for (int i = 1; i < arr.length; i++) { if (arr[i]>max){ max=arr[i]; } } return max; } /* 练习题: 定义一个计算矩形周长recPerimeter()的方法,传入参数 长 和 宽, 返回 矩形的周长 定义一个计算矩形面积reaArea()的方法,传入参数 长 和 宽, 返回 矩形的面积 定义一个计算圆形周长rotundityPerimeter()的方法,传入参数 半径,返回 圆形的周长 定义一个计算圆形面积rotundityArea()的方法,传入参数 半径,返回 圆形的面积 定义一个计算年份是否是闰年的方法,传入参数年份,返回是否是闰年(true/false) */ /** * 定义一个计算矩形周长recPerimeter()的方法,传入参数 长 和 宽, 返回 矩形的周长 * @param a 长 * @param b 宽 * @return 周长 */ public static int recPerimeter(int a,int b){ return (a+b)*2; } /** * 定义一个计算矩形面积reaArea()的方法,传入参数 长 和 宽, 返回 矩形的面积 * @param a 长 * @param b 宽 * @return 面积 */ public static int reaArea(int a,int b){ return a*b; } /** * 定义一个计算圆形周长rotundityPerimeter()的方法,传入参数 半径,返回 圆形的周长 * @param r 半径 * @return 周长 */ public static double rotundityPerimeter(int r){ return 3.14*r*2; } /** * 定义一个计算圆形面积rotundityArea()的方法,传入参数 半径,返回 圆形的面积 * @param r 半径 * @return 面积 */ public static double rotundityArea(int r){ //return 3.14*r*r; return getPI()*r*r; } /** * 定义一个计算年份是否是闰年的方法,传入参数年份,返回是否是闰年(true/false) * @param year 年份 * @return 是否为闰年 是 返回 true,否 返回false */ public static boolean isLeapYear(int year){ if (year%4==0&&year%100!=0||year%400==0){ return true; }else { return false; } } /* 第4种:没有参数,有返回值 的方法 格式: public static 返回值类型 方法名(){ 方法内容.... return 返回值; } */ //定义一个返回PI 的方法,没有参数,但是有返回值 public static double getPI(){ return 3.1415926; } }