字符串和基本类型相互转换

版权声明:本文出自孤星卟哭的博客,原创文章,转载请注明出处。 https://blog.csdn.net/zcy92949/article/details/79914973

前言

本人并不喜欢纯文字的笔记方式,一般都会代码中穿插自己的注解来学习某一个知识点,第一次接触字符串和基本数据类型转换是去年二月十五号,为什么记得这么清楚,是因为当初教我的老师总是说,记笔记一定要有一个自己的规范,无论多久,当你再次翻开笔记,自己一定要能看懂,因此当初的笔记多数都有日期作为基本标识,好了,扯远了,回归正题。

其实二者转换还是挺简单的,主要需要了解基本类型对应的包装类和String类的源码中的方法(至于什么是包装类,我在此只做一个简单的说明,包装类除了类型转换用到,还有一个常用的地方就是集合,如果想看集合请单击),因为结合源码学习进步是最快的,以下是我自己对于转换的一些代码笔记。

1、包装类及作用

  • 定义:在Java中称任何东西都有对象。但是基本数据类型没有对象,作为弥补,由此产生包装类。
  • 基本数据类型:byte、short、int、long、float、double、char、boolean;
    包装类:Byte、Short、Integer、Long、Float、Double、Character、Boolean。
  • 作用:
    1.自动转换(小到大)
    2.强制转换(大到小)
    3.基本数据类型和引用数据类型的转换

2、字符串和基本数据类型相互转换的两种方法

public void getSummary() {
    double dblNum = 1.113;
    String str = "1113";
    /*
     * 字符串与基本数据类型转换每个都有两种方法,举例两个比较常用的,如下:
     */
    /*
     * 字符串转换成浮点型
     * 
     */
    /*
     * 第一个方法
     */
    double str_dbl_1 = Double.parseDouble(str);
    System.out.println("Double类中的parseDouble()方法:" + str_dbl_1);
    /*
     * 第二个方法
     */
    Double str_dbl_2 = new Double(str);
    double str_dbl_3 = str_dbl_2.doubleValue(); 
    System.out.println("Double类中的构造方法:" + str_dbl_2);
    System.out.println("Double类中的doubleValue()方法:" + str_dbl_3);
    /*
     * 浮点型转成字符串
     */
    /*
     * 第一个方法,有两种表示形式,因为String类型和Double类型中都有可用的方法
     */
    String dbl_str_1 = String.valueOf(dblNum);
    String dbl_str_2 = Double.toString(dblNum);
    System.out.println("String类中的valueOf()方法:" + dbl_str_1);
    System.out.println("Double类中的静态toString()方法:" + dbl_str_2);
    /*
     * 第二个方法(其实和第一个方法没什么区别,为什么都可以直接调用toString(),因为在Double类中toString是静态方法)
     */
    Double dblnum_package = new Double(dblNum);
    String dbl_str_3 = dblnum_package.toString();
    System.out.println("Double类中的toString()方法:" + dbl_str_3);

}

3、基本数据类型之间相互转换

以下代码片分为两部分,前半部分列举了大部分常用的基本类型和字符串的相互转换,后半部分列举了八大基本类型的内存大小,以及之间的相互转换

public int intNumber;
public float fltNumber;
public double dblNumber;
public char chNumber;
public String strNumber = "97";

@SuppressWarnings("unused")
public void getSummary() {
    //常用的基本类型与字符串相互转换
    System.out.println();
    char str_ch = (char)Integer.parseInt(strNumber);  //注:Character类中没有parseInt()方法,所以这里进行强制转换就可以完成需求
    String ch_str = String.valueOf(chNumber);

    Integer str_int = Integer.parseInt(strNumber);
    String int_str = String.valueOf(intNumber);

    Float str_flt = Float.parseFloat(strNumber);
    String flt_str = String.valueOf(fltNumber);

    Double str_dbl = Double.parseDouble(strNumber);
    String dbl_str = String.valueOf(dblNumber);

    /**
     * 八大基本数据类型大小展示(一字节等于八位:1byte=8bit):整数类型:byte:1byte;short:2byte;int:4byte;long:8byte
     *                                                    浮点型:float:4byte;double:8byte
     *                                                    字符型:char:2byte
     *                                                    布尔型:boolean:1byte
     * 基本类型相互转换,分为强制转换和自动转换(根据取值范围大小分,如果左右一样大小,必须强制转换)
     * 1:自动转换(隐式),从"小"——>"大"
     * 2:强制转换,从"大"——>"小"
     */
    //以下例子就是取值范围一样大(注:没有探讨到的是布尔型转换,因为用不到,翻看源码太费时间,就放弃了)
    short number = 1;
    char decimals = 'a';

    decimals = (char) number;
    number = (short) decimals;
}

4、总结

以上就是我对八大基本数据类型和字符串相互转换的理解,如有不对之处,希望诸君不吝赐教。

以上代码的文档在此链接中,有兴趣的可以下载
https://download.csdn.net/download/zcy92949/10343959

猜你喜欢

转载自blog.csdn.net/zcy92949/article/details/79914973