- Java方法
- 方法的定义
- 方法的组成
- 方法的重载
- 方法的重载规则
- 实现理论
- 命令行传参
- 可变参数
- 递归
- 递归结构
Java方法
https://www.bilibili.com/video/BV12J41137hu/?p=45
方法的定义
- 方法是用来完成特定功能的代码片段。
方法的组成
- 方法头
- 修饰符,定义该方法的访问类型。
- 返回值类型。
- 方法名,方法名和参数类型共同构成方法签名。
- 参数类型。
- 实参:调用方法时传递的参数。
- 形参:方法中的参数,用来定义参数。
- 方法体,定义该方法的功能。
方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
方法的重载规则
- 方法名称必须相同。
- 参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)。
- 方法的返回类型可以相同也可以不同。
- 仅仅返回类型不同不足以成为方法的重载。
实现理论
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
命令行传参
package com.qing.method;public class Demo01 { public static void main(String[] args) { for (int i = 0; i < args.length; i++) { System.out.println("args[" + i + "]: " + args[i]); } }}D:\code\JavaSE\基础语法\src\com\qing\method>dir 驱动器 D 中的卷没有标签。 卷的序列号是 46DA-BD61 D:\code\JavaSE\基础语法\src\com\qing\method 的目录2020/10/31 12:43 <DIR> .2020/10/31 12:43 <DIR> ..2020/10/31 12:43 231 Demo01.java 1 个文件 231 字节 2 个目录 307,004,313,600 可用字节D:\code\JavaSE\基础语法\src\com\qing\method>javac Demo01.javaD:\code\JavaSE\基础语法\src\com\qing\method>java Demo01错误: 找不到或无法加载主类 Demo01D:\code\JavaSE\基础语法\src\com\qing\method>cd ../../../D:\code\JavaSE\基础语法\src>java com.qing.method.Demo01D:\code\JavaSE\基础语法\src>java com.qing.method.Demo01 Hello Worldargs[0]: Helloargs[1]: WorldD:\code\JavaSE\基础语法\src>可变参数
- JDK1.5开始,Java支持传递同类型的可变参数给一个方法。
- 在方法声明中,在指定参数类型后加一个省略号(...)。
- 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
- 可变参数本质是数组。
package com.qing.method;public class Demo02 { public static void main(String[] args) { new Demo02().printMax(); new Demo02().printMax(7.1, 3, 5); new Demo02().printMax(new double[]{7.1, 3, 5}); } //打印最大值 private void printMax(double... numbers) { if (numbers.length == 0) { System.out.println("numbers is empty"); return; } double max = numbers[0]; for (int i = 1; i < numbers.length; i++) { if (numbers[i] > max) { max = numbers[i]; } } System.out.println("max: " + max); }}没有传参max: 7.1max: 7.1递归
递归就是自己调用自己。
递归结构
- 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
- 递归体:什么时候需要调用自身方法。
最重要的是递归思想。如果深度太大,不介意用递归,会造成内存奔溃。
package com.qing.method;public class Demo03 { public static void main(String[] args) { System.out.println("5! = " + f(5)); System.out.println("4! = " + f(4)); System.out.println("3! = " + f(3)); } //递归,计算阶乘 //阶乘:n! = n * (n-1) * (n-2)... * 1 private static int f(int n) { if (n < 1) { System.out.println("入参不能小于1"); return 0; } if (n == 1) { return 1; } return n * f(n - 1); }}5! = 1204! = 243! = 6原文转载:http://www.shaoqun.com/a/486995.html
转运四方:https://www.ikjzd.com/w/1342
beien:https://www.ikjzd.com/w/1336
拍拍网:https://www.ikjzd.com/w/2205
目录Java方法方法的定义方法的组成方法的重载方法的重载规则实现理论命令行传参可变参数递归递归结构Java方法https://www.bilibili.com/video/BV12J41137hu/?p=45方法的定义方法是用来完成特定功能的代码片段。方法的组成方法头修饰符,定义该方法的访问类型。返回值类型。方法名,方法名和参数类型共同构成方法签名。参数类型。实参:调用方法时传递的参数。形参:方法
环球b2b:https://www.ikjzd.com/w/1762
菜鸟网:https://www.ikjzd.com/w/1547
现在去云南旅游多少钱?:http://tour.shaoqun.com/a/44220.html
去深圳西冲1日游的一些问题?:http://tour.shaoqun.com/a/1548.html
口述:为了几块钱,男友说后悔认识我:http://lady.shaoqun.com/m/a/73620.html
没有评论:
发表评论