函数入门
函数重载
public class Demo01 { /* 函数重载原则: 方法名相同 参数列表不相同 注意: 与返回值无关 */ public static void main(String[] args) { f01(1.0); f01(1); } public static void f01(double money) { // double System.out.println("f01(double money) 被调用了"); } public static int f01(int age) { // int System.out.println("f01(int age) 被调用了"); return 100; } }
函数可变个数参数
import java.util.Arrays; public class Demo02 { /* 函数可变参数 */ public static void main(String[] args) { f01(new int[]{1,3,5,7,9}); f01(); f01(1); f01(1, 2); f01(1, 2, 3); } public static void f01(int... x) { // 总而言之,不管如何传参数,x最终是int[]一维数组 System.out.println("f01(int...) 被调用了"); System.out.println(Arrays.toString(x)); } }
foreach输出
public class Demo03 { /* 函数可变参数 */ public static void main(String[] args) { f01(new int[]{1,3,5,7,9}); f01(); f01(1); f01(1, 2); f01(1, 2, 3); } public static void f01(int... arr) { // 总而言之,不管如何传参数,x最终是int[]一维数组 System.out.println("f01(int...) 被调用了"); // 自动循环arr数组,也知道何时结束,每次取出一个送到变量a上 for (int a : arr) { // foreach输出(增强版for循环),没有下标了 System.out.println(a); } } }
传参 基本数据类型
public class Demo04 { public static void main(String[] args) { int y = 10; f01(y); // y实参。都是值传递。 System.out.println("Y:" + y); } /* x,形参 */ public static void f01(int x) { System.out.println(x); x++; System.out.println(x); } }
传参_引用数据类型
import java.util.Arrays; public class Demo05 { public static void main(String[] args) { int[] y = {10, 20, 30}; f01(y); // y实参。都是值传递。 System.out.println("y: " + Arrays.toString(y)); } /* x,形参 */ public static void f01(int[] x) { System.out.println(Arrays.toString(x)); x[1]++; System.out.println(Arrays.toString(x)); } }
文件夹展示所有里面的文件
使用递归算法展示文件夹下所有文件
import java.io.File; public class Demo06 { public static void main(String[] args) { showFiles(new File("E:\\202203\\计科\\函数\\学习\\1")); } /* 展示文件夹下所有的文件,包含子文件夹下的文件 */ public static void showFiles(File file) { File[] files = file.listFiles(); // 枚举该文件夹file对象下的文件或文件夹对象 for (File f : files) { if (f.isFile()) System.out.println(f.getName()); // 文件 if (f.isDirectory()) showFiles(f); // 递归调用文件夹 } } }
1加到100的递归调用
public class Demo07 { public static void main(String[] args) { System.out.println(sum(100)); } public static int sum(int count) { if (count == 1) return 1;// 结束条件 return sum(count-1)+count; // 递归表达式 } }