包装类 & 单元测试(结尾有彩蛋)

四、包装类:

当引用的时候,引用实体放在堆中,引用名放在栈中。

每一个基本数据类型都对应一个包装类。

  1. 包装类的使用

1、代码段里有知识点的彩蛋呦

package com.atguigu.cn03;



import org.junit.Test;



//包装类8种基本数据类型对应着一个类,此类即为包装类。

//基本数据类型 & 包装类 & String之间的相互转换

public class TestWrapper {



    //2、基本数据类型 & 包装类 与String类间的转换

    @Test

    public void test2() {

        //基本数据类型 & 包装类-->String类;调用String类的静态的重载的valueOf(类型 变量)方法

        int i1=10;

        String str1=i1+"";

        String str2=String.valueOf(i1);   //int型-->String类型

        String str3=String.valueOf(true); //boolean类型-->String类

        //String类-->基本数据类型 & 包装类:调用包装类的parseXxxx(String str)方法。

        int i3=Integer.parseInt(str2);

        System.out.println(i3);

        boolean b1=Boolean.parseBoolean(str3);

        System.out.println(b1);

    }

   

   

    //1、基本数据类型与包装类之间的转换

    @Test

    public void test1() {

        int i=10;

        boolean b=false;

        Integer i1=new Integer(i);

        //1-1、将基本数据类型转换为对应的包装类后,可以调用包装类的构造器,调用toString等方法。

        System.out.println(i1.toString());

        Float f=new Float("12.56");    //括号还可以是12.3f

        System.out.println(f);

       

        //java.lang.NumberFormatException

//      i1=new Integer("12abc");

//      System.out.println(i1);

       

        //对于Boolean类型来讲,当形参是"true"返回true,除此之外返回false

        Boolean b1=new Boolean("false");

        System.out.println(b1);

        b1=new Boolean("truea");

        System.out.println(b1);

       

        //1-2、包装类转换为基本数据类型

        int i2=i1.intValue();

        System.out.println(i2);

        float f1=f.floatValue();

        boolean b2=b1.booleanValue();

       

        //JDK5.0以后,有自动装箱和拆箱

        Integer i3=12; //自动装箱//即:int i4; Integer i3=i4;

        int i5=i3;     //自动拆箱

    }

}

2、包装类的练习测试:

代码详解:

package com.atguigu.cn03;



import java.util.Scanner;

import java.util.Vector;



public class TestWrapExercise {

    public static void main(String[] args) {

        //1、创建Scanner的对象,提示从键盘输入学生的成绩(以负数代表输入结束)

        Scanner s=new Scanner(System.in);

        System.out.println("请输入学生的成绩,(以负数结束)");

        //2、for(;;),从键盘依次获取学生成绩,并填入由Vector v=new Vector()创建的对象v中。

        Vector v=new Vector();

        int maxScore=0;//记录最高分

        for(;;) {

            int score=s.nextInt();

            if(score<0) {

                break;

            }

            //3、求出所有输入的正的成绩中的最高分

            //获取学生成绩中的最高分

            if(maxScore<score) {

                maxScore=score;

            }

            //依次将学生成绩存入V中

            Integer score1=new Integer(score);

            v.addElement(score1);      //自动装箱

        }

        //4、通过v.elementAt(i)依次获取填入v中的元素,同时判断一下各个分数的等级并输出。

        for(int i=0;i<v.size();i++) {

            Integer score=(Integer)v.elementAt(i);

            char level;

            if(maxScore-score<=10) {

                level='A';

            }else if(maxScore-score<=20) {

                level='B';

            }else if(maxScore-score<=30) {

                level='C';

            }else {

                level='D';

            }

            System.out.println("学生成绩为:"+score+",成绩等级为:"+level);

        }

    }

}
  • 五、单元测试:

使用方法:(1)、当前工程下右键àBuild Path;àAdd Libraries…;àJunit点击”next”;à选择”Junit4”;àfinish.

               (2)、当前工程下右键àBuild Path;àConfigure Build Path;à左侧栏找到”Java Build Path”à右侧顶部的Librariesà右侧的第四个Add Libraries…;àJunit点击”next”;à选择”Junit4”;àfinish.

       单元测试在自定义的函数上方加@Test,这样的话自定义函数就相当于一个main()函数;也可以调用其他函数。

实例观察:

package com.atguigu.cn03;

 

import org.junit.Test;

 

public class JunitTest {

    public static void main(String[] args) {

        System.out.println("Hello");

    }

    @Test

    public void test01() {

        String str="Hello";

        System.out.println(str+",World!");

        say();

    }

    public void say() {

        System.out.println("L!O!V!E!");

    }   

}

项目上Run As àJunit Testà

结果:

Hello,World!

L!O!V!E!

 

https://zhinan.sogou.com/guide/detail/?id=316513823756

猜你喜欢

转载自blog.csdn.net/qq_39044046/article/details/94015093