Java基础(05)— 方法

Java方法

何谓方法

  • System.out.println(), 那它是什么?System是系统的类,out是一个对象(输出对象),println()就是要给方法java

  • Java方法是语句的集合,他们在一块能够执行一个功能数组

    • 方法是解决一类问题的步骤的有序组合
    • 方法包含于类或对象中
    • 方法在程序中被建立, 在其余地方被引用
  • 设计方法的原则:函数

    • 方法的本意是功能块,就是实现某个功能的语句块的集合。咱们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于咱们后期的扩展。
  • 回顾方法的命名规则spa

方法得定义及调用

  • Java的方法相似于其它语言的函数,是一段用来完成特定功能的代码片断,通常状况下,定义一个方法包含如下语法命令行

    修饰符 返回值 类型 方法名(参数类型 参数名){
         方法体
         return返回值; 
    }
  • 方法包含一个方法头和一个方法体。下面是一个方法的全部部分:设计

    • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型
    • 返回值类型:方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操做,但没有返回值。在这种状况下,returnValueType 是关键字void
    • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名
    • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型,顺序和参数的个数。参数是可选的,方法能够不包含任何参数
      • 实参:调用方法时实际传给方法的数据。
      • 形式参数:在方法被调用时用于接收外界输入的数据
    • 方法体:方法体包含具体的语句,定义该方法的功能。

  • 方法调用3d

    • 调用方法:对象名.方法名(实参列表)code

    • Java支持两种调用方法的方式,根据方法是否返回值来选择。对象

      • 当方法返回一个值的时候,方法调用一般被当作一个值。例如:blog

        int larger = max(30,40);
      • 若是方法返回值是void,方法调用必定是一条语句。

        System. out. println( "Hello, kuangshen!");
    • 课后拓展了解:值传递(Java)和引用传递,Java都是值传递

方法重载

  • 重载就是在一个类中,有相同的函数名称,但形参不一样的函数。

  • 方法的重载的规则:

    • 方法名称必须相同
    • 参数列表必须不一样(个数不一样、或类型不一样、参数排列顺序不一样等)
    • 方法的返回类型能够相同也能够不相同
    • 仅仅返回类型不一样不足以成为方法的重载

命令行传参

  • 有时候你但愿运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。
public class CommandLine {
    public static void main(String args[]){
        for(int i=0; i<args.length; i++){
            System. out. println("args["+ i + "]:"+ args[i]);
        }
    }
}

可变参数

  • JDK 1.5开始,Java支持传递同类型的可变参数(不定项)给一个方法。
  • 在方法声明中,在指定参数类型后加一个省略号(..)。
  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它以前声明。
public static void main(String args[]) {
     //调用可变参数的方法
     printMax(15,22.0,36,25.3);
     printMax(new double[]{1, 2, 3});//本质为数组
 }
public static void printMax(double... numbers) {
    if (numbers.length == 0) {
        System.out.println("No argument passed");
        return;
    }
    double result = numbers[0];
    //排序!
    for (int i = 1; i < numbers.length; i++) {
        if (numbers[i] > result) {
            result = numbers[i];
        }
    }
    System.out.println("The max value is " + result);
}

递归(能不用就不用)

  • 递归就是: A方法调用A方法!就是本身调用本身
  • 利用递归能够用简单的程序来解决一些复杂的问题。 它一般把一个大型复杂的问题层层转化为一个与原问题类似的规模较小的问题来求解,递归策略只需少许的程序就可描述出解题过程所须要的屡次重复计算,大大地减小了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合
  • 递归结构包括两个部分:
    • 递归头:何时不调用自身方法,若是没有头,将陷入死循环
    • 递归体:何时须要调用自身方法

public static void main(String[] args) {
    /*
    阶乘:
      2! 2*1
      3! 3*2*1
      5! 5*4*3*2*1 = 120
    */
    System.out.println(f(5));
}
public static int f(int n){
    if(n == 1){
        return 1;
    }else{
        return n * f(n - 1);
    }
}
  • 递归图解

相关文章
相关标签/搜索