2022/4/18 JavaDay10

Java方法详解

什么是方法

System.out.println().//调用out中的println 方法

java方法是语句的集合

  1. 方法是解决一类问题步骤的组合

  2. 包含于类和对象里

  3. 在程序中被创建,在其他地方被引用

设计原则:功能块,一个方法只做一个功能

驼峰命名规则

 package com.sundada.method;  ​  public class Demo01 {      public static void main(String[] args) {  //          test();      }      //加法      public static int add(int a,int b){          return a+b;      }      public static void test() {          for (int i = 1; i <= 5; i++) {              for (int j = 5; j >= i; j--) {                  System.out.print( );              }              for (int j = 1; j <= i; j++) {                  System.out.print(*);              }              for (int j = 1; j < i; j++) {                  System.out.print(*);              }              System.out.println();          }      }}

方法的定义

用于完成特定功能的代码片段

 修饰符 返回类型 方法名(参数类型 参数名)  {      ...      方法体          ...          return 返回值;  }   public static int add(int a,int b){          return a+b;      }

实参和形参

形参:用来定义作用

实参:实际传递的数值

方法调用

  1. 根据返回值来选择

  2. 返回一个值则会被当做一个值

 int large=max(30,40);
  1. 返回是void.则方法调用的是一条语句

 System.out.println(Hello World);

值传递(java),引用传递//相当于指针

 package com.sundada.method;  ​  public class Demo02 {      public static void main(String[] args) {         int max=max(30,40);         int max1=max(10,10);          System.out.println(max);          System.out.println(max1);      }      public static int max(int num1,int num2){          int result;          if ( num1==num2 )          {              System.out.println(num1==num2);             return 0;//表示语句提前结束          }          if ( num1>num2 )          {              result=num1;          } else {              result=num2;          }  ​  ​          return result;      }  }

方法可以共用,或者通过类来调用

方法重载

相同函数名,但确保形参不同的函数

方法重载规则:

  1. 名称必须相同

  2. 参数列表不同(个数不同,类型不同,排列顺序不同)

根据形参类型来调用

 package com.sundada.method;  ​  public class Demo02 {      public static void main(String[] args) {         double max=max(30,40);  ​          System.out.println(max);  ​      }  //    public static int max(int num1,int num2){  //        int result;  //        if ( num1==num2 )  //        {  //            System.out.println(num1==num2);  //           return 0;//表示语句提前结束  //        }  //        if ( num1>num2 )  //        {  //            result=num1;  //        } else {  //            result=num2;  //        }  //  //  //        return result;  //    }      public static double max(double num1,double num2){          double result;          if ( num1==num2 )          {              System.out.println(num1==num2);              return 0;//表示语句提前结束          }          if ( num1>num2 )          {              result=num1;          } else {              result=num2;          }  ​  ​          return result;      }  }

命令行传参

程序在运行时传递消息,靠命令行参数给main()函数实现

 package com.sundada.method;  ​  public class Demo03 {      public static void main(String[] args) {          for (int i = 0; i < args.length; i++) {              System.out.println(args[+i+]+args[i]);          }      }  }

image-20220418145107096

通过命令行给args里面传递数据,并在main函数中打印出来