API--11--包装类

基本类型

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

包装类

在这里插入图片描述
在这里插入图片描述

包装类的抽象父类 Number

在这里插入图片描述
在这里插入图片描述

相互之间转化

基本数据类型 —>包装类:

调用包装类的构造器
@Test
	public void test1(){
		
		int num1 = 10;
//		System.out.println(num1.toString());
		Integer in1 = new Integer(num1);
		System.out.println(in1.toString());
		
		Integer in2 = new Integer("123");
		System.out.println(in2.toString());
		
		//报异常
//		Integer in3 = new Integer("123abc");
//		System.out.println(in3.toString());
		
		Float f1 = new Float(12.3f);
		Float f2 = new Float("12.3");
		System.out.println(f1);
		System.out.println(f2);
		
		Boolean b1 = new Boolean(true);
		Boolean b2 = new Boolean("TrUe");
		System.out.println(b2);
		Boolean b3 = new Boolean("true123");
		System.out.println(b3);//false
		
		
		Order order = new Order();
		System.out.println(order.isMale);//false
		System.out.println(order.isFemale);//null
	}
class Order{
	
	boolean isMale;
	Boolean isFemale;
}

在这里插入图片描述

包装类—>基本数据类型:

调用包装类Xxx的xxxValue()

	@Test
	public void test2(){
		Integer in1 = new Integer(12);
		
		int i1 = in1.intValue();
		System.out.println(i1 + 1);
		
		
		Float f1 = new Float(12.3);
		float f2 = f1.floatValue();
		System.out.println(f2 + 1);
	}

自动装箱 与自动拆箱

  • JDK 5.0 新特性:自动装箱 与自动拆箱
    在这里插入图片描述
@Test
	public void test3(){
//		int num1 = 10;
//		//基本数据类型-->包装类的对象
//		method(num1);
		
		//自动装箱:基本数据类型 --->包装类
		int num2 = 10;
		Integer in1 = num2;//自动装箱
		
		boolean b1 = true;
		Boolean b2 = b1;//自动装箱
		
		//自动拆箱:包装类--->基本数据类型
		System.out.println(in1.toString());
		
		int num3 = in1;//自动拆箱
		
	}

String之间的转化

6,color_FFFFFF,t_70)

基本数据类型、包装类—>String类型:

方式1:连接运算

String str1 = num1 + “”;

方式2:调用String的valueOf(Xxx xxx)

  @Test
    public void test5(){
        int num1 = 10;
        //方式1:连接运算
        String str1 = num1 + "";
        System.out.println(str1);
        //方式2:调用String的valueOf(Xxx xxx)
        float f1 = 12.3f;
        String str2 = String.valueOf(f1);//"12.3"

        Double d1 = new Double(12.4);
        String str3 = String.valueOf(d1);
        String str4 = String.valueOf(13);
        System.out.println(str2);
        System.out.println(str3);//"12.4"
        System.out.println(str4);
    }

在这里插入图片描述

String类型 —>基本数据类型、包装类:

方式1:通过包装类的构造器实现

Integer integer = new Integer(“10”);

方式2:调用包装类的parseXxx(String s)

不能强转

强转要有子父类关系才行

错误的情况:
int num1 = (int)str1;
Integer in1 = (Integer)str1;
可能会报NumberFormatException
 @Test
    public void test5(){
        //通过包装类的构造器实现
        Integer integer = new Integer("10");
        System.out.println(integer+1);

        String str1 = "123";
        //错误的情况:
//		int num1 = (int)str1;
//		Integer in1 = (Integer)str1;
        //可能会报NumberFormatException
        int num2 = Integer.parseInt(str1);
        System.out.println(num2 + 1);

        String str2 = "true1";
        boolean b1 = Boolean.parseBoolean(str2);
        System.out.println(b1);
    }

在这里插入图片描述

总结:

在这里插入图片描述

Java将带小数点的String类型值转换成int值

Double.valueOf(str).intValue();
  @Test
    public void  test01(){
        String num = "29.00";

        int intNum = Double.valueOf(num).intValue();

        System.out.println(intNum);
    }

在这里插入图片描述

new java.text.DecimalFormat(“#0.00”);

 @Test
    public void  test02(){
        String str="555.1122";

        double num;

        java.text.DecimalFormat myformat=new java.text.DecimalFormat("#0.00");

        num=Double.parseDouble(str);//装换为double类型

        num=Double.parseDouble(myformat.format(num));//保留2为小数

        System.out.println(num);

    }

在这里插入图片描述

需求: 如果是小数,保留两位,非小数,保留整数

 /*
     * 如果是小数,保留两位,非小数,保留整数
     */
    @Test
    public void test03() {

        double number1=131333.53236313431303231;
        double number2=2021;

        String s1 = getDoubleString(number1);
        String s2 = getDoubleString(number2);

        System.out.println(s1);
        System.out.println(s2);
    }


    public static String getDoubleString(double number) {
        String numberStr;

        if (((int) number * 1000) == (int) (number * 1000)) {
            //如果是一个整数
            numberStr = String.valueOf((int) number);

        } else {
            DecimalFormat df = new DecimalFormat("######0.00");
            numberStr = df.format(number);
        }

        return numberStr;

    }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值