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

本文详细介绍了Java中基本数据类型与包装类的转换方法,包括自动装箱和拆箱的过程,以及如何利用包装类进行字符串转换。同时,通过一个学生成绩录入与评估的实例,演示了包装类在实际编程中的应用。此外,文章还讲解了如何设置和运行Junit单元测试,提供了具体步骤和示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

四、包装类:

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

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

  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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值