方法学习

打印 上一主题 下一主题

主题 632|帖子 632|积分 1896

方法是什么
  1. //类.对象.方法
  2. System.out.println.()
复制代码

  • 方法的本意是功能块,包含于类或对象中,就是实现某个功能的语句块的集合(其他语言通常叫函数),在其他地方被调用。
  • 设计方法的时候,最好保持方法的原子性,即一个方法只实现一个功能,这样有利于以后的功能拓展。
例:
  1. public class Demo01 {
  2.     public static void main(String[] args) {
  3.         int sum = add(1,2);//调用add方法
  4.         System.out.println(sum);
  5.     }
  6.        
  7.     //定义add方法
  8.     public static int add (int a, int b){
  9.         return a+b;
  10.     }
  11. }
复制代码
方法结构:
  1. 修饰符 返回值类型 方法名(参数类型 参数名){
  2.     ...
  3.     方法体
  4.     ...
  5.     return 返回值;      
  6. }
复制代码
方法调用


  • 对象名.方法名(实参列表)
  • 当方法返回一个值时,方法调用通常被当做一个值,例如:
  1. int sum = add(10,20)
复制代码

  • 当方法返回值是void,方法调用是一条sout输出语句
  • 一个方法中,遇到return语句便立即终止该方法
  1. public class Demo02 {
  2.     public static void main(String[] args) {
  3.         int max = max(10,20);
  4.         System.out.println(max);
  5.     }
  6.     public static int max(int num1,int num2){
  7.         int result = 0;
  8.         if (num1 == num2){
  9.             System.out.println("二者相等");
  10.             return 0;//终止方法
  11.         }
  12.         if (num1>num2){
  13.             result = num1;
  14.         }else {
  15.             result = num2;
  16.         }
  17.         return result;
  18.     }
  19. }
复制代码
结合刚学的Scanner输入比较:
  1. import java.util.Scanner;
  2. public class Demo03 {
  3.     public static void main(String[] args) {
  4.         Scanner scanner = new Scanner(System.in);
  5.         System.out.println("第一个数:");
  6.         int a = scanner.nextInt();
  7.         System.out.println("第二个数:");
  8.         int b = scanner.nextInt();
  9.         int max = max(a,b);
  10.         System.out.println("最大的数为:"+max);
  11.         scanner.close();
  12.     }
  13.     public static int max(int num1,int num2){
  14.         int result = 0;
  15.         if (num1 == num2){
  16.             System.out.println("二者相等");
  17.             return 0;//终止方法
  18.         }
  19.         if (num1>num2){
  20.             result = num1;
  21.         }else {
  22.             result = num2;
  23.         }
  24.         return result;
  25.     }
  26. }
复制代码
方法重载


  • 重载就是在一个类中,有相同的方法名,但是形参不同
  • 方法名必须相同
  • 参数列表必须不同(或参数个数不同,或参数类型不同,或参数排列顺序不同)
  • 方法的返回值类型可以相同可以不同,若仅返回值类型不同,参数相同,则不构成方法重载,会报错
  1. public class Demo04 {
  2.     public static void main(String[] args) {
  3.         int max = max(10,20);
  4.         System.out.println(max);
  5.     }
  6.     public static int max(int num1,int num2){
  7.         int result = 0;
  8.         if (num1 == num2){
  9.             System.out.println("二者相等");
  10.             return 0;//终止方法
  11.         }
  12.         if (num1>num2){
  13.             result = num1;
  14.         }else {
  15.             result = num2;
  16.         }
  17.         return result;
  18.     }
  19.     public static int max(double num1,double num2){
  20.         int result = 0;
  21.         if (num1 == num2){
  22.             System.out.println("二者相等");
  23.             return 0;//终止方法
  24.         }
  25.         if (num1>num2){
  26.             result = (int) num1;
  27.         }else {
  28.             result = (int) num2;
  29.         }
  30.         return result;
  31.     }
  32.     public static int max(int num1,int num2,int num3){
  33.                 ...
  34.     }
  35. }
复制代码
命令行传参


  • 有时希望运行一个程序的时候给它传递消息,这要靠传递命令行参数给main()方法实现
可变参数


  • 在方法声明中,在指定参数类型中加一个省略号
  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通参数必须在其之前声明
  1. public static int max(int... nums){}
复制代码
  1. public static int max(int x,int... nums){}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张国伟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表