-
什么是方法(类似于函数)
System.out.println() //调用系统out中的println方法 类 对象 方法
-
方法的定义及调用
-
方法定义:
修饰符:public,static,....
返回值:int,void...
方法名:驼峰命名规则
参数类型 :(形参—用来定义参数 add(int a,int b)——int a,int b),(实参—实际传递的参数)
方法体:return返回值(返回结果,终止方法)
public static void main(String[] args) { int mx=max(10,20); //将最值数进行定义 System.out.println(mx); } public static int max(int a,int b){ // 最先运行的代码,将mx中的10,20赋值到int a,int b中 int r=0; if (a==b){ System.out.println("a==b"); return 0; } if (a>b){ return a; } if (a<b){ return b; } return r; } 20
-
方法调用:
值传递:(java是值传递)
引用传递:
-
-
方法的重载
-
方法重载:方法名必须相同
参数列表不必须不同
方法返回类型可以相同也可以不同
仅返回类型不同不足以成为方法重载
-
方法名相同,编译器会根据调用方法的参数个数,参数类型等去逐个匹配,已选择对应的方法,匹配失败编译器就会报错
-
-
命令行传输参数(简略描述)
在cmd窗口中输入文件路径...
public static void main(String[] args) { for (int i = 0; i < args.length; i++) { System.out.println("args["+i+"]:"+args[i]); //第几个参数,它的值是几 } }
-
可变参数(不定向参数)
在方法声明中,指定在最后一个参数类型后加一个三省略号
一个方法中只能指定一个可变参数,必须是方法的最后一个参数
public static void main(String[] args) { b3 n=new b3(); //创建一个b3类的新对象,用于初始化新建的对象 n.test(1); //调用n.test传送int值 } public void test(int... i){ //先开始的地方 System.out.println(i[0]); } 1
public static void main(String[] args) { printMax(30,60,90,100); //第一轮运行的代码 printMax(new double[]{1,2,3}); //第二轮运行的代码 } public static void printMax(double... i){ //最先开始的代码 if (i.length==0){ System.out.println("没有数通过"); return; } double s=i[0]; for (int m = 1; m <i.length; m++) { //排序算法 if (i[m]>s){ s=i[m]; } } System.out.println("这是最大值"+s); //遍历两次所以会输出两次的值 } 这是最大值100.0 这是最大值3.0
-
递归(面试笔试重点)
- 递归头
- 递归体
-
- a方法调用b方法
- a方法调用a方法
public static void main(String[] args) { b3 m=new b3(); m.m(); } public static void m(){ m(); } 报错
public static void main(String[] args) { System.out.println(n(3)); //返回6 } public static int n(int i){ //阶乘公式 n(3) 3n(2) 3*2n(1) 【开始运行代码】 if (i==1){ return 1; } else{ return i*n(i-1); //阶乘公式 3n(2) 3*2n(1) 3*2*1 } } 6
-
面试重点:
-
方法重载:方法名必须相同
参数列表不必须不同
方法返回类型可以相同也可以不同
仅返回类型不同不足以成为方法重载
-
方法名相同,编译器会根据调用方法的参数个数,参数类型等去逐个匹配,已选择对应的方法,匹配失败编译器就会报错
-
递归:(边界条件:要终止的数值--边界 前阶段:没有到终止值的阶段 返回阶段:遍历阶段)--方便公式运用,但费电脑
- 递归头
- 递归体
-
java使用栈机制
-