资讯详情

Java方法基础

Java方法基础

何谓方法?

理解System.out.println()

System.out.println()    //调用System类中的out对象(标准输出对象)println()方法    
  1. Java方法是语句的集合,它们一起执行功能
    • 解决一类问题的步骤是有序组合
    • 该方法包含在类或对象中
    • 该方法在程序中创建,并在其他地方引用
  2. 设计方法原则:方法的初衷是功能块,即实现某一功能的句子块的集合。在设计方法时,最好保持方法的原子性,即一种方法只完成一个功能,这有利于我们以后的扩展
  3. 回顾:方法的命名规则?

方法的定义

  1. Java该方法类似于其他语言的函数,是用来完成特定功能的代码片段。

  2. 一般来说,定义方法包括以下语法:

    修饰符 返回值类型 方法名(参数类型) 参数名){  ...  方法体  ...  return 返回值; } 
  3. 方法包括方法头和方法体。

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

方法的调用

  1. 对象名.方法名(实参列表)

  2. Java根据该方法是否返回值,支持两种调用方法

  3. 当方法返回一个值时,方法调用通常被视为一个值,例如

    int larger = max(1,2); 
  4. 若方法返回值为void,方法调用必须是一个句子,例如

    System.out.println("两个数相等"); 
  5. 课后理解:值传递、引用传递

    • Java都是值传递

方法的重载

  1. 重载是指在一个类函数名称相同,但形参不同
  2. 方法重载规则:
    • 方法名称必须相同
    • 参数列表必须不同(不同的数量、不同的类型或不同的参数排列顺序)
    • 方法的返回类型可以相同或不同
    • 不同类型的返回不足以构成方法
  3. 实现理论:当方法名称相同时,编译器将根据调用方法的参数数和参数类型逐一匹配,选择相应的方法;如果匹配失败,编译器报告错误

命令行传参

  1. 有时你想在运行程序时传递信息,这取决于传递命令行参数main()函数实现
public static void main(String[] args) {         for(int i =0;i< args.length;i  ){             System.out.println("args[" i "]:" args[i]);         }     } 

可变参数

  1. JDK1.5开始,java支持向一种方法传递相同类型的可变参数
  2. 在方法声明中,在指定参数类型后添加省略号(…)
  3. 一种方法只能指定一个可变参数,它必须是该方法的最后一个参数。在此之前必须声明任何普通参数
public class Demo04 {     public static void main(String[] args) {         Demo04 demo04 = new Demo04();         demo04.test(1,2,3);     }     public void test(int... i){         System.out.println(i[0]);         System.out.println(i[1]);         System.out.println(i[2]);     } } 

递归

  1. A方法调用B方法,我们很容易理解

  2. 递归就是A方法调用A方法!就是自己调用自己

  3. 使用递归可以使用简单的程序来解决一些复杂的问题。它通常将一个大而复杂的问题转化为一个类似于原始问题的小问题。递归策略只需要少量的程序来描述解决问题所需的重复计算,大大降低了程序的代码量。递归的能力是用有限的句子来定义对象的无限集合。

  4. 递归结构包括两部分

    • 递归头:什么时候不调用自己的方法;如果没有头,就会陷入死循环。
    • 递归体:什么时候需要调用自己的方法?
  5. 递归要素:

    • 边界条件:边界
    • 前期:回到边界值
    • 返回阶段:返回结果 n*(n-1)
  6. 操作:写一个计算器,实现加减乘除,循环接收新数据,通过用户交互实现

package com.kum.shu.method;  import java.util.Scanner;  public class TestDemo02 {     public static void main(String[] args) {         /**          * 写一个实现加减乘除的计算器,并且循环接收新数据,通过用户交互实现          */         Scanner input=new Scanner(System.in);         double first=0;         double second=0;         System.out.println("请输入第一个操作数:");         if(input.hasNextDouble()){             first=input.nextDouble();             System.out.println("请输入第二个操作数:");             if(input.hasNextDouble()){                 second=input.nextDouble();                 System.out.println("请输入运算符(  - * /):");                 String symbol=input.next();                  double sum=0;                 if(symbol.equals(" ")){                     sum = add(first,second);                     System.out.println("计算结果:" first symbol second "=" sum);                 }else if(symbol.equals("-")){                     sum =sub(first,second);                     System.out.println("计算结果:" first symbol second "=" sum);                 }else if(symbol.equals("*")){                     sum = mul(first,second);                     System.out.println("计算结果:" first symbol second "=" sum);                 }else if(symbol.equals("/")){                     sum = div(first,second);                     System.out.println("计算结果:" first symbol second "=" sum);                 } else
                    System.out.println("输入无效");
                }
            }else{
                System.out.println("输入无效");
            }
        }else{
            System.out.println("输入无效");
        }
        input.close();
    }
    public static double add(double a,double b){
        return a+b;
    }
    public static double sub(double a,double b){
        return a-b;
    }
    public static double mul(double a,double b){
        return a*b;
    }
    public static double div(double a,double b){
        return a/b;
    }
}

标签: kum连接器插头

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台