方法
方法设计原则
一个方法只完成一个功能,有利于后期扩展
Return
public int max(int a, int b) {
int result = 0;
// 用来返回最终结果,防止多个return
if (a==b){
System.out.println("a=b");
return 0;
// 可以用来终止方法
}
if (a > b) {
result = a;
}else
result = b;
return result;
}
值传递
java是值传递,只有值传递
重载
一个类中,有相同的函数名称,但参数不同的方法
规则
- 方法名称必须相同
- 参数列表必须不同(参数个数,类型,排列顺序不同等)
- 方法返回类型可以相同也可以不同
- 仅仅返回类型不同,不可以算作重载
命令行传参

jdk版本不同导致的编译运行版本不一致,
此时我的idea中jdk版本为11,cmd里jdk为1.8,版本不一致
package com.syzCodeGround.Method;
public class Demo2_CommandLine {
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) {
Demo3_VariableParameter demo = new Demo3_VariableParameter();
demo.brint(1,12,31,4);
}
public void brint(int... a)
{
for (int i :a){
System.out.print(i+" ");
}
}
简单实现计算器
package com.syzCodeGround.Method;
import java.util.Scanner;
public class Demo4_Calculator {
public static void main(String[] args) {
Demo4_Calculator demo = new Demo4_Calculator();
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请输入第一个数字:");
double a = sc.nextDouble();
System.out.println("请输入运算符:");
char sign = sc.next().charAt(0);
System.out.println("请输入第二个数字");
double b = sc.nextDouble();
switch (sign){
case '+':
System.out.println(demo.add(a,b));
break;
case '-':
System.out.println(demo.sub(a,b));
break;
case '*':
System.out.println(demo.mul(a,b));
break;
case '/':
System.out.println(demo.div(a,b));
break;
default:
System.out.println("请输入有效符号");
continue;
}
}
}
public double add(double a, double b) {
return a + b;
}
public double sub(double a, double b) {
return a - b;
}
public double mul(double a, double b) {
return a * b;
}
public double div(double a, double b) {
return a / b;
}
}
注意接收运算符时,使用next.charAt(),而非nextLine()
浙公网安备 33010602011771号