| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- 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;
- }
- }
|