zoukankan      html  css  js  c++  java
  • 【JAVA基础】04 Java语言基础:方法

    1. 方法概述和格式说明

    • 为什么要有方法

      • 提高代码的复用性

    • 什么是方法

      • 完成特定功能的代码块。

    • 方法的格式

      • 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
             方法体语句;
             return 返回值;
        }

         

    • 方法的格式说明

      • 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。

      • 返回值类型:就是功能结果的数据类型。

      • 方法名:符合命名规则即可。方便我们的调用。

      • 参数:

        • 实际参数:就是实际参与运算的。

        • 形式参数;就是方法定义上的,用于接收实际参数的。

      • 参数类型:就是参数的数据类型

      • 参数名:就是变量名

      • 方法体语句:就是完成功能的代码。

      • return:结束方法的。

      • 返回值:就是功能的结果,由return带给调用者。

     

    2. 方法之求和案例及其调用

    • 如何写一个方法

      • 明确返回值类型

      • 明确参数列表

    • 案例演示

      • 需求:求两个数据之和的案例

      • class Test {
            public static void main(String[] args) {
                int sum = add(10, 20);
        
                System.out.println(sum);
                }
        
                public static int add(int a, int b) {
                    int sum = a + b;
                    return sum;
                }
        }
    • 方法调用图解

    3. 方法的注意事项

    • 方法调用(有具体返回值)

      • 单独调用,一般来说没有意义,所以不推荐。

      • 输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。

      • 赋值调用,推荐方案。

    • 案例演示

      • 方法不调用不执行

      • 方法与方法是平级关系,不能嵌套定义

      • 方法定义的时候参数之间用逗号隔开

      • 方法调用的时候不用在传递数据类型

      • 如果方法有明确的返回值,一定要有return带回一个值

     

    4. 方法的练习

    • 案例演示

      • 需求:键盘录入两个数据,返回两个数中的较大值

     

      • 需求:键盘录入两个数据,比较两个数是否相等
        • /*
          * A:案例演示
              * 需求:键盘录入两个数据,返回两个数中的较大值
          * B:案例演示
              * 需求:键盘录入两个数据,比较两个数是否相等     
          */
          import java.util.Scanner;
          class Test1_Method {
              public static void main(String[] args) {
                  Scanner sc = new Scanner(System.in);                //创建键盘录入对象
                  System.out.println("请输入第一个整数:");
                  int x = sc.nextInt();                                //将键盘录入的整数存储在x中
                  System.out.println("请输入第二个整数:");
                  int y = sc.nextInt();                                //将键盘录入的整数存储在y中
          
                  //int max = getMax(x,y);
                  //System.out.println(max);
          
                  boolean b = isEquals(x,y);
                  System.out.println(b);
              }
          
              /*
              返回连个整数的较大值
              1,明确返回值类型 int
              2,明确参数列表 int a,int b
              */
              public static int getMax(int a,int b) {
                  return a > b ? a : b;
              }
          
              /*
              判断两个整数是否相等
              1,明确返回值类型 boolean
              2,明确参数列表 int a,int b
              */
              public static boolean isEquals(int a,int b) {        //isEquals 是否相等
                  return a == b;
              }
          }
          View Code
      • 需求:根据键盘录入的行数和列数,在控制台输出星形
        • /*
          * A:案例演示
              * 需求:根据键盘录入的行数和列数,在控制台输出星形
          * B:方法调用:
              * 单独调用
              * 输出调用(错误)
              * 赋值调用(错误)
          */
          import java.util.Scanner;
          class Demo3_Method {
              public static void main(String[] args) {
                  Scanner sc = new Scanner(System.in);            //创建键盘录入对象
                  System.out.println("请输入行数:");
                  int row = sc.nextInt();                            //将键盘录入的行数存储在row中
                  System.out.println("请输入列数:");
                  int column = sc.nextInt();                        //将键盘录入的列数存储在column中
                  
                  //System.out.println(print(row,column));        //错误: 此处不允许使用 '空' 类型,返回值是void的方法不能输出调用
                  //返回值是void的方法只能单独调用
                  print(row,column);
              }
          
              /*
              在控制台输出矩形星形
              1,明确返回值类型,经分析没有具体的返回值类型,void
              2,明确参数列表int a,int b
              */
          
              public static void print(int a,int b) {
                  for (int i = 1;i <= a ;i++ ) {                    //行数
                      for (int j = 1;j <= b ;j++ ) {                //列数
                          System.out.print("*");
                      }
                      System.out.println();
                  }
          
                  //return ;                                        //如果返回值类型是void,return可以省略,即使省略系统也会默认给加上,形式是return;
              }
          }
          View Code
      • 需求:根据键盘录入的数据输出对应的乘法表
        • /*
          * A:案例演示
              * 需求:根据键盘录入的数据输出对应的乘法表
          */
          import java.util.Scanner;
          class Test2_Method {
              public static void main(String[] args) {
                  Scanner sc = new Scanner(System.in);        //创建键盘录入对象
                  System.out.println("请录入一个整数,范围在1-9之间");
                  int num = sc.nextInt();                        //将键盘录入的整数存储在num中
                  print99(num);
              }
          
              /*
              打印99乘法表
              1,返回值类型void
              2,参数列表,int a
              */
          
              public static void print99(int a) {
                  for (int i = 1;i <= a ;i++ ) {                    //行数
                      for (int j = 1;j <= i ;j++ ) {                //列数
                          System.out.print(j + "*" + i + "=" + (i * j) + "	" );
                      }
                      System.out.println();
                  }
              }
          }
          View Code

     

    5. 方法重载概述和基本使用

    • 方法重载概述

      • 求和案例

        • 2个整数

        • 3个整数

        • 4个整数

        • /*
          重载:方法名相同,参数列表不同,与返回值类型无关
          重载的分类
          1,参数个数不同
          2,参数类型不同
              顺序不同
          */
          class Demo4_Overload {                        //overload重载
              public static void main(String[] args) {
                  double sum1 = add(10,20.1);
                  System.out.println(sum1);
          
                  int sum2 = add(10,20,30);
                  System.out.println(sum2);
          
                  double sum3 = add(12.3,13);
                  System.out.println(sum3);
              }
          
              /*
              求两个整数的和
              1,返回值类型int
              2,参数列表 int a,int b
              */
          
              public static double add(int a,double b) {
                  return a + b;
              }
          
              /*
              求三个整数的和
              1,返回值类型int
              2,参数列表 int a,int b,int c
              */
          
              public static int add(int a,int b,int c) {
                  return a + b + c;
              }
          
              /*
              求两个小数的和
              1,返回值类型double
              2,参数列表 double a,double b
              */
          
              public static double add(double a,int b) {
                  return a + b;
              }
          }
          View Code
    • 方法重载:

      • 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

      • 参数列表不同:

        • 参数个数不同

        • 参数类型不同

        • 参数的顺序不同(算重载,但是在开发中不用)

    • 案例演示

      • 需求:比较两个数据是否相等。

      • 参数类型分别为两个int类型,两个double类型,并在main方法中进行测试

        • /*
          * A:案例演示
              * 需求:比较两个数据是否相等。
              * 参数类型分别为两个int类型,两个double类型,并在main方法中进行测试
          
          */
          class Test3_Overload {
              public static void main(String[] args) {
                  boolean b1 = isEquals(10,10);
                  System.out.println(b1);
          
                  boolean b2 = isEquals(10.5,10.5);
                  System.out.println(b2);
              }
          
              /*
              比较两个数据是否相等
              1,返回值类型boolean
              2,参数列表int a,int b
              */
          
              public static boolean isEquals(int a,int b) {
                  return a == b;
              }
          
              /*
              比较两个数据是否相等
              1,返回值类型boolean
              2,参数列表double a,double b
              */
          
              public static boolean isEquals(double a,double b) {
                  return a == b;
              }
          }
          View Code

     

  • 相关阅读:
    查询长事务和SQL执行等待间隔时间
    一条诡异的SQL
    查询表的使用空间和可用空间
    查询SQL Server存储过程的执行信息
    清理大批量数据例子
    sql server 清理日志存储过程
    BCP 实例
    SQL Server 查询Job中的存储过程
    下车扫描五次优化全过程
    empty、isset和is_null的比较
  • 原文地址:https://www.cnblogs.com/zoe233/p/12743338.html
Copyright © 2011-2022 走看看