首页 > 其他分享 >基本数据类型、包装类、String三者之间的相互转换

基本数据类型、包装类、String三者之间的相互转换

时间:2022-12-04 21:47:00浏览次数:45  
标签:String 数据类型 System new println Integer 三者 out

基本数据类型、包装类、String三者之间的相互转换

 

package com.atguigu.java2;

import org.junit.Test;

/*
   包装类的使用:
   1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征

   2.掌握的:基本数据类型、包装类、String三者之间的相互转换
*/
public class WrapperTest {

   // String类型 ---> 基本数据类型、包装类:调用包装类的parseXxx(String s) (boolean:parseX/XvalueOf(String s))
   @Test
   public void test5(){
       String str1 = "123";
//       int num1 = (int)str1;
//       Integer in1 = (Integer) str1;
       // 可能会报NumberFormatException
       int num2 = Integer.parseInt(str1);
       System.out.println(num2 + 1); // 124
       
       String str2 = "true1";
       boolean b1 = Boolean.parseBoolean(str2);
       System.out.println(b1); // false

       String str3 = "true";
       boolean b2 = Boolean.valueOf(str3);
       System.out.println(b2); // true
  }

   // 基本数据类型、包装类 ---> String类型 : 连接运算 、 调用String的valueOf(Xxx xxx)
   @Test
   public void test4(){
       int num1 = 10;
       // 方式一:连接运算
       String str1 = num1 + "";
       System.out.println(str1); // 10
       // 方式二:调用String的valueOf(Xxx xxx)
       float f1 = 12.3f;
       String str2 = String.valueOf(f1);
       System.out.println(str2); // 12.3

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

   /*
       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);
       int num3 = in1;
  }

   public void method(Object object){
       System.out.println(object);
  }

   // 包装类 ---> 基本数据类型:调用包装类的XXXValue()
   @Test
   public void test2(){
       Integer in1 = new Integer(12);
       int i1 = in1.intValue();
       System.out.println(i1 + 1);

       Float f1 = new Float(12.3f);
       float f2 = f1.floatValue();
       System.out.println(f2 + 1);
  }


   // 基本数据类型 ---> 包装类:调用包装类的构造器
   @Test
   public void test1(){

       int num1 = 10;
//       System.out.println(num1.toString());
       Integer in1 = new Integer(num1);
       System.out.println(in1.toString()); // 10

       // 报异常
//       Integer in2 = new Integer("123abc");
//       System.out.println(in2.toString());

       Float f1 = new Float(12.3f);
       Float f2 = new Float("12.3f");
       System.out.println(f1); // 12.3
       System.out.println(f2); // 12.3

       Boolean b1 = new Boolean(true);
       System.out.println(b1); // true
       Boolean b2 = new Boolean("TrUe");
       System.out.println(b2); // true
       Boolean b3 = new Boolean("true123");
       System.out.println(b3); // false

       Order order = new Order();
       System.out.println(order.isMale); // false
       System.out.println(order.isFamele); // null
  }
}

class Order{

   boolean isMale;
   Boolean isFamele;
}

 

 

练习

package com.atguigu.java2;

import org.junit.Test;

public class InterviewTest {

   @Test
   public void test1(){
       Object o1 = true ? new Integer(1) : new Double(2.0);
       System.out.println(o1); // 1.0 三元运算符比较同类型数据,涉及自动类型提升
  }

   @Test
   public void test2(){
       Object o2;
       if(true)
           o2 = new Integer(1);
       else
           o2 = new Double(2.0);
       System.out.println(o2); // 1
  }

   @Test
   public void test3(){
       Integer i = new Integer(1);
       Integer j = new Integer(1);
       System.out.println(i == j); // false 引用类型比地址

       /* Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],
           保存了从-128 ~ 127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在
           -128 ~ 127 范围内时,可以直接使用数组中的元素,不用再去new了。目的:提高效率
       */
       Integer m = 1;
       Integer n = 1;
       System.out.println(m == n); // true

       Integer x = 128; // 相当于new了一个Integer对象
       Integer y = 128; // 相当于new了一个Integer对象
       System.out.println(x == y); // 128
  }
}
 

标签:String,数据类型,System,new,println,Integer,三者,out
From: https://www.cnblogs.com/jiaxing-java/p/16950881.html

相关文章

  • Java数据类型拓展
    publicclassDemo3{publicstaticvoidmain(String[]args){//整数拓展进制二进制0b十进制八进制0十六进制0xinti=0xf1;Sy......
  • Mybatis 返回对象中包含多个 List<String>属性
    数据库数据mysql>select*fromai_user;+----+-----------+--------+|id|user_name|status|+----+-----------+--------+|1|Answer|1||2|Iris......
  • String相关
     面试题packagecom.atguigu.exer;​/*  面试题:*/publicclassStringTest{​  Stringstr=newString("good");  char[]ch={'t','e','s','t'};​......
  • n202_python数据类型和数据结构
    3.数据类型和数据结构python的数据类型大致可以分为两种:python自带的内置数据类型和第三方扩展包中的数据类型。其中,python自带的内置数据类型可以分为两种:可变数据类......
  • Python爬取中国最好大学排行榜报错TypeError: unsupported format string passed to N
    ​本文使用的是如下网址:http://gaokao.xdf.cn/201911/10991728.html1问题分析与解决报错为类型错误,显示我们传递了不支持的格式字符串1.1strip()我们查看网页源码,......
  • JS数据类型转换,转数值,转字符串,转布尔
    ​1.转数值number        parseInt(‘内容‘/变量名)可以强制把字符串转整数数值,隐式转换        Parsefloat(‘内容‘/变量名)可以强制把有小数的字符串......
  • C语言数据类型及变量
    数据类型//char 1字节.8个bit,2^8-1--字符数据类型//short 2-16bit,2^16-1=65535--短整型//int 4--整型//long 4/8--长整型 。sizeof(loong)>=sizeof(int)( c......
  • 5-针对数据类型的说明和转换
    1-intfloatstrbool 1.1-intint:表示的是所有整数int(x)将x转化成一个整数1.2-floatfloat:表示所有的浮点数注:浮点......
  • [Redis] (三) 数据类型
    Redis数据类型Redis支持五种数据类型string(字符串)hash(哈希)list(列表)set(集合)zset(sortedset:有序集合)。String(字符串)string是redis最基本的类型,你可以理解成与......
  • STL-string的使用
    [TOC]一.string初识1.STL简介a.STL的组成STL(standardtemplatelibaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的......