public class Demo01 { //main方法 public static void main(String[] args) { int sum = add(1,2); System.out.println(sum); } //加法 public static int add(int a, int b){ return a + b; } }
修饰符 返回值类型 方法名(参数类型 参数名){ //方法体 return 返回值; }
调用方法:对象名.方法名(实参列表)
Java支持两种调用方法的方式,根据方法是否返回值来选择。
当方法返回一个值,方法调用通常被当做一个值。例如
int larger = max(30,40);
如果返回值是void,方法调用一定是一条语句。
System.out.println("Hello,World")
练习:比大小
public class Demo02 { public static void main(String[] args) { int max = max(10,20); System.out.println(max); } //比大小 public static int max(int num1, int num2){ int result = 0; if (num1 == num2){ System.out.println("num1==num2"); return 0;//终止方法 } if (num1 > num2){ result = num1; }else { result = num2; } return result; } }
有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现
public class CommandLine{ public static void main(String args[]){ for(int i = 0; i < args.length; i++){ System.out.println("args[" + i + "]" + args[i]); } } }
F:\programming\Java\Kuangshen\code\基础语法\src\com\tian\method>javac CommandLineDemo.java F:\programming\Java\Kuangshen\code\基础语法\src\com\tian\method>cd .. F:\programming\Java\Kuangshen\code\基础语法\src\com\tian>cd .. F:\programming\Java\Kuangshen\code\基础语法\src\com> cd .. F:\programming\Java\Kuangshen\code\基础语法\src>java com.tian.method.CommandLineDemo HelloWorld args[0]HelloWorld F:\programming\Java\Kuangshen\code\基础语法\src>
JDK 1.5开始,Java支持传递同类型的可变参数给一个方法。
在方法声明中,在指定参数类型后加一个省略号(...)。
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
public class Demo03 { public static void main(String[] args) { Demo03 demo03 = new Demo03(); demo03.test(1,2,3,4); } public void test(int... i){ System.out.println(i[0]); System.out.println(i[1]); System.out.println(i[2]); } }
计算阶层
public class Demo04 { //阶层 public static void main(String[] args) { System.out.println(f(5)); } public static int f(int n){ if (n == 1){ return 1; }else { return n*f(n-1); } } }
练习:写一个计算器
public class Demo05 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while(true){ int a = 0; int b = 0; System.out.println("请输入+ - * /,终止输入f"); char select = scanner.next().charAt(0); if (select == 'f'){ return; } System.out.println("请输入数字"); a = scanner.nextInt(); System.out.println("请输入数字"); b = scanner.nextInt(); switch (select){ case '+': System.out.println(add(a,b)); break; case '-': System.out.println(subtract(a,b)); break; case '*': System.out.println(multiplication(a,b)); break; case '/': System.out.println(division(a,b)); break; default: System.out.println("不支持该符号计算"); } } } //加法 public static int add(int a, int b){ return a + b; } //减法 public static int subtract(int a, int b){ return a - b; } //乘法 public static int multiplication(int a, int b){ return a * b; } //除法 public static int division(int a, int b){ return a / b; } }