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函数中打印出来

posted @ 2022-04-18 14:53  Unclesundada  阅读(26)  评论(0)    收藏  举报