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

前言

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

其实二者转换还是挺简单的,主要需要了解基本类型对应的包装类和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

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

你可能感兴趣的:(java基础)