首页 > 编程语言 > 详细

JAVASE方法

时间:2020-09-19 09:31:55      阅读:47      评论:0      收藏:0      [点我收藏+]

方法

方法包含一个方法头与方法体,是用来完成特定功能的代码片段

return除了返回值,还有中止方法的作用

比大小

package java基础语法.方法;
?
import java.util.Scanner;
?
public class demo02 {
   public static void main(String[] args) {
       int a=0,b=0;
       for (int i = 0; i < 2; i++) {
           if(i==0){
               System.out.println("请输入您要比较的第一个数字:");
               Scanner scanner = new Scanner(System.in);
               a=scanner.nextInt();
          }else if(i==1){
               System.out.println("请输入您要比较的第二个数字:");
               Scanner scanner = new Scanner(System.in);
               b=scanner.nextInt();
          }
      }
       int c=max(a,b);
       System.out.println("最大的数是:"+c);
  }
   public static int max(int a,int b){
       int result=0;
      if(a==b){
          System.out.println("a=b");
          return 0;//return能用来中止方法
      }
       if(a>b){
            result=a;
      }else{
           result=b;
      }
       return result;
  }
}

值传递(Java) 引用传递( 待定)有这个概念,Java是值传递

方法的重载

重载就是在一个类中,函数名称相同但是形参不同的函数:

譬如:public static double max(double num1,double nume2)与public static int max(int num1,int num2);

规则:

  1. 方法名称必须相同

  2. 参数列表必须不同(个数不同,类型不同,参数排序顺序不同)

  3. 方法的返回类型可以相同也可以不同

  4. 仅仅返回类型不同不足以成为方法的重载

实现理论:方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错!


命令行传递参数

有时候你希望运行一个程序的时候再传递给它消息。这要靠传递命令行参数给main()函数实现。

点击要传递的class ,右键--show in explorer 用cmd打开命令窗口,javac 文件名再java 文件名,报错(由于该文件是在package里,找不到文件),需要cd ../退回到src那,用包的形式来编译,譬如 src>java com.kuang.method.demo03--回车,再丢一些参数,譬如src>java com.kuang.method.demo03 this is kuangshen--回车

args[0]:this

args[1]:is

args[2]:kuangshen


可变参数(不定向参数)

在方法声明中,在指定参数类型后加一个省略号(一个方法中只能声明一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明)。

 

package java基础语法.方法;
?
public class demo04之可变参数 {
   public static void main(String[] args) {
       demo04之可变参数 demo04之可变参数 = new demo04之可变参数();
       demo04之可变参数.printMax(1,2,3,4,5);//数字可自行设定,或者用户自行输入
  }
 public void printMax(double... numbers){
       if(numbers.length==0){
           System.out.println("No argument passed");
           return;
      }
       double result = numbers[0];
       //排序
     for(int i=1;i<numbers.length;i++){
         if(numbers[i]>result){
             result=numbers[i];
        }
    }
     System.out.println("The max value is"+result);
}
?
}

递归(重点!)

A方法调用B方法,我们很容易理解!

递归就是:A方法调用A方法,即自己调用自己

 

递归结构包括两个部分:

递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。

递归体:什么时候需要调用自身方法。


家庭作业(计算器的实现)

写一个计算器,要求实现加减乘除功能,并且能循环接受新的数据,通过用户交互实现。

思路:

写四个方法,加减乘除

利用循环+swith进行用户交互

传递需要操作的两个数

输出结果

 

 

package 猜数字;
import java.util.*;
public class  Calculator {
   public static void main(String[] args) {
       System.out.println("加法输入1,减法输入2,乘法输入3,除法输入4,停止计算输入5");
       Scanner scanner = new Scanner(System.in);
       int oNumber = scanner.nextInt();
  while (oNumber != 5) {
       System.out.println("请输入你要输入的第一个数字:");
       Scanner scanner1 = new Scanner(System.in);
       double i1 = scanner1.nextDouble();
       System.out.println("请输入你要输入的第二个数字:");
       Scanner scanner2 = new Scanner(System.in);
       double i2 = scanner2.nextDouble();
       Calculator calculator = new Calculator();
       switch (oNumber) {
           case 1:
               double oNumber1 = calculator.printJia(i1, i2);
               System.out.println("最终结果是:"+oNumber1);
               break;
           case 2:
               double oNumber2 = calculator.printJian(i1, i2);
               System.out.println("最终结果是:"+oNumber2);
               break;
           case 3:
               double oNumber3 = calculator.printCheng(i1, i2);
               System.out.println("最终结果是:"+oNumber3);
               break;
           case 4:
               double oNumber4 = calculator.printJia(i1, i2);
               System.out.println("最终结果是:"+oNumber4);
               break;
      }
       System.out.println("是否再次进行进行,加法输入1,减法输入2,乘法输入3,除法输入4,停止计算输入5");
       Scanner scanner4 = new Scanner(System.in);
       oNumber = scanner4.nextInt();
  }
?
   scanner.close();

 

}
public double printJia(double a,double b){
   double c;
   c = a + b;
   return c;
}
?
public double printJian(double a,double b){
   double c;
   c = a - b;
   return c;
}
?
public double printCheng(double a,double b){
   double c;
   c = a * b;
   return c;
}
?
public double printChu(double a,double b){
   double c;
   c = a / b;
   return c;
}
}

 

JAVASE方法

原文:https://www.cnblogs.com/dota-sf/p/13694124.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!