java 语句块和方法

什么是语句块

 语句块(有时叫做复合语句),是用花括号扩起的任意数量的简单Java语句。块确定了局部变量的作用域。块中的程序代码,作为一个整体,是要被一起执行的。块可以被嵌套在另一个块中,但是不能在两个嵌套的块内声明同名的变量。语句块可以使用外部的变量,而外部不能使用语句块中定义的变量,因为语句块中定义的变量作用域只限于语句块。

    *a:局部代码块 
        * 在方法中出现;限定变量生命周期,及早释放,提高内存利用率
    * b:构造代码块 (初始化块)
        * 在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行
    * c:静态代码块 
        * 在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。
        * 一般用于加载驱动
 

所谓方法,就是把具有独立功能组织称为一个小模块,在需要的时候调用。

为什么要有方法?

在开发程序中。使用方法可以提高编写的效率以及代码的重用

方法的格式

      
  修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
            方法体语句;
            return 返回值; 
        } 
* :方法的格式说明
    * 修饰符:目前就用 public static。后续我学到了在记录
    * 返回值类型:就是功能结果的数据类型。
    * 方法名:符合命名规则即可。方便我们的调用。
    * 参数:
        * 实际参数:就是实际参与运算的。
        * 形式参数;就是方法定义上的,用于接收实际参数的。
    * 参数类型:就是参数的数据类型
    * 参数名:就是变量名
    * 方法体语句:就是完成功能的代码。
    * return:结束方法的。后面的代码不在执行
    * 返回值:就是功能的结果,谁调用方法,return就返回给谁。

要想写好一个方法,就必须确定好2 个东西:

  • 返回值类型,也就是要的结果类型
  • 参数列表:也就是需要几个参数,每个参数什么类型的
/*
 * 需求:键盘输入2 给数求和
 */
 
import java.util.Scanner;
 
class demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数");
        int i = sc.nextInt();// 获取数据
        System.out.println("请输入第二个数");
        int j = sc.nextInt();
        System.out.println("2个数的和结果是" + sum(i, j));   // 调用方法 i,j 实参
 
 
    }
 
    public static int sum(int i, int j) {  // 定义方法 int i 和int j 是形参
        return i + j;
    }
 
 
}
 
 
-------------------------------------------------
请输入第一个数
12
请输入第二个数
34
2个数的和结果是46
 


 
 
方法的注意事项
*
A:方法调用(有具体返回值)
    * a:单独调用,一般来说没有意义,所以不推荐。调用的时候需要去接收它(没有返回值类型的只支持单独调用)
    * b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
    * c:调用后,使用一个变量去接收它,推荐使用。返回什么类型就拿什么类型的变量去接收
* B:案例演示

  •     * a:方法不调用不执行
  •     * b:方法与方法是平级关系,不能嵌套定义
  •     * c:方法定义的时候参数之间用逗号隔开
  •     * d:方法调用的时候不用在传递数据类型
  •     * e:如果方法有明确的返回值,一定要有return带回一个值
     

      方法的重载

      一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法。

      注意:

      重载的方法,实际是完全不同的方法,只是名称相同而已!

      构成方法重载的条件:

  •      形参类型、形参个数、形参顺序不同
  •      只有返回值不同不构成方法的重载

      不构成方法重载,只有形参的名称不同,不构成方法的重载

猜你喜欢

转载自blog.csdn.net/weixin_44462792/article/details/86501542
今日推荐