2023-03-04 java 主函数main和测试函数test,还有调用函数(在主函数里面调用其他的函数)

打完main会自动出来这一行  public static void main(String[] args) { }

这是一个类里面的主函数,一个房子里面只有一个主函数,而里面的test可以有好几个。

@Test 

打完这5个字符,类会自动调用一个包import org.junit.Test;会在上面自动标黄,相当于在一个大房子里面给你分配给你一个小房子,让你来进行测试,一个大房子里面可以有五六个小房子,它们进行实验互不影响,但是你的房子的名字可不能一样,你是化学实验室,我是物理实验室

@Test
public void test01(){}
@Test 
public void test02(){}
@Test 
public void test203(){}

main函数和test是不同的函数,test不能引用在main里面,且main声明的变量在test里面是不能使用的,他俩属于并列的。例如在main里面定义的final int a = 10;在单元测试test01里面是无法输出a的数值的。并不是说main是老大。如果运行这个函数的话,那么执行的是主函数,其他的test是不执行的。但是如果在main里面有一个调用的话,就可以一起输出了。

例如:

public class lei01{  //这个类就叫lei01,就和int似的,今后赋值使用也是int类型的就领取名字,
//就叫这个地儿叫宅基地,你后面家里的人也就得建宅基地,不过取的名字得是不同的,这是a的宅基地,这是b的宅基地。这个地儿叫跑马场,这是a的跑马场,这是b的跑马场。
//例如 int a01= new int();  a01.c1();
public void c1() {  } //这是个test函数

    public static void main(String[] args) {  //这是主函数
        System.out.println("主函数");
        lei01 b1 = new lei01();  
        b1.a1();    
    }
    public void a1() {  //这样不能单独执行,就是说前面没有那个小绿色箭头必须,要执行加@Test
        System.out.println(55555);
    }   
}

----------------------------------------------------------------------------------------------------------------------------------------------------

例子:

package day2;

import org.junit.Test;
import java.util.Scanner;

public class zuoye {

    public static void main(String[] args) {  //这里有四个任务
        zuoye a1 = new zuoye();
        a1.test01();
        zuoye a2 = new zuoye();
        a1.test02();
        zuoye a3 = new zuoye();
        a1.test03();
        zuoye a4 = new zuoye();
        a1.test04();
    }
  @Test     //判断某年是否是闰年
     public void test01(){
      Scanner a1 = new Scanner(System.in);
      System.out.println("请输入年份来判断是否是闰年:");
      int year = a1.nextInt();
      if((year%4==0 && year%100!=0)||(year%400==0)){
          System.out.println(+year+"是闰年");
      }else {
          System.out.println(+year+"是平年");
      }

  }

  @Test    //交换数值  方法1
    public void test02(){
      Scanner a2 = new Scanner(System.in);
      //Scanner a3 = new Scanner(System.in);
      System.out.println("请输入两个数值,之后让其交换数值:");
      int num1 = a2.nextInt();
      int num2 = a2.nextInt();
      System.out.println("原来的数值:");
      System.out.println("num1="+num1);
      System.out.println("num2="+num2);

      int num3 = num1;
      num1 = num2;
      num2 = num3;
      System.out.println("经转换后:");
      System.out.println("num1="+num1);
      System.out.println("num2="+num2);

  }


  @Test
  public void test03(){  //交换数值   方法2
      System.out.println("请输入两个数值之后让其交换数值(这是方法2):");
      Scanner a0=new Scanner(System.in);
      int a1=a0.nextInt();
      int a2=a0.nextInt();
      System.out.println("转换前a1="+a1+" a2="+a2);

      a1=a2-a1;
      a2=a2-a1;
      a1=a2+a1;
      System.out.println("转换前a1="+a1+" a2="+a2);
  }



  @Test     //收银台收款
    public void test04(){

      Scanner a3 = new Scanner(System.in);
      System.out.println("收银台收款问题:");
      System.out.println("请输入单价:");
      double num1 = a3.nextDouble();
      System.out.println("请输入数量:");
      double num2 = a3.nextDouble();
      System.out.println("请输入用户输入金额:");
      double num3 = a3.nextDouble();


      if(num3>=(num1*num2)){   //钱够
          if ((num2*num3)>=500){  //八折优惠
              System.out.println("收您"+num3+",您的消费已经超500元,可以享受八折优惠 找您"+(num3-(num2*num1)*0.8));
          }else{
              System.out.println("收您"+num3+",找您"+(num3-(num2*num1)*0.8));
          }

      }else if (num3<(num1*num2)){   //钱不够
          System.out.println("抱歉,您的钱不够,还差"+((num2*num1)-num3));
      }


  }

}
package day2;

import org.junit.Test;
import java.util.Scanner;

public class zuoye {

    public static void main(String[] args) {  //这里有四个任务
        zuoye a1 = new zuoye();
        a1.test01();
        zuoye a2 = new zuoye();
        a1.test02();
        zuoye a3 = new zuoye();
        a1.test03();
        zuoye a4 = new zuoye();
        a1.test04();
    }
  @Test     //判断某年是否是闰年
     public void test01(){
      Scanner a1 = new Scanner(System.in);
      System.out.println("请输入年份来判断是否是闰年:");
      int year = a1.nextInt();
      if((year%4==0 && year%100!=0)||(year%400==0)){
          System.out.println(+year+"是闰年");
      }else {
          System.out.println(+year+"是平年");
      }

  }

  @Test    //交换数值  方法1
    public void test02(){
      Scanner a2 = new Scanner(System.in);
      //Scanner a3 = new Scanner(System.in);
      System.out.println("请输入两个数值,之后让其交换数值:");
      int num1 = a2.nextInt();
      int num2 = a2.nextInt();
      System.out.println("原来的数值:");
      System.out.println("num1="+num1);
      System.out.println("num2="+num2);

      int num3 = num1;
      num1 = num2;
      num2 = num3;
      System.out.println("经转换后:");
      System.out.println("num1="+num1);
      System.out.println("num2="+num2);

  }


  @Test
  public void test03(){  //交换数值   方法2
      System.out.println("请输入两个数值之后让其交换数值(这是方法2):");
      Scanner a0=new Scanner(System.in);
      int a1=a0.nextInt();
      int a2=a0.nextInt();
      System.out.println("转换前a1="+a1+" a2="+a2);

      a1=a2-a1;
      a2=a2-a1;
      a1=a2+a1;
      System.out.println("转换前a1="+a1+" a2="+a2);
  }



  @Test     //收银台收款
    public void test04(){

      Scanner a3 = new Scanner(System.in);
      System.out.println("收银台收款问题:");
      System.out.println("请输入单价:");
      double num1 = a3.nextDouble();
      System.out.println("请输入数量:");
      double num2 = a3.nextDouble();
      System.out.println("请输入用户输入金额:");
      double num3 = a3.nextDouble();


      if(num3>=(num1*num2)){   //钱够
          if ((num2*num3)>=500){  //八折优惠
              System.out.println("收您"+num3+",您的消费已经超500元,可以享受八折优惠 找您"+(num3-(num2*num1)*0.8));
          }else{
              System.out.println("收您"+num3+",找您"+(num3-(num2*num1)*0.8));
          }

      }else if (num3<(num1*num2)){   //钱不够
          System.out.println("抱歉,您的钱不够,还差"+((num2*num1)-num3));
      }


  }

}

你可能感兴趣的:(junit,java,开发语言)