1.基本数据类型转换

基本转换规则
  1. 八种基本数据类型当中出boolean类型之外剩下的其中类型之间都可以相互转换
  2. 小容量向大容量转换,称为自动类型转换。容量从小到大排序:
    byte < short < int < long < float < double
       char <

java 基本类型转byte java基本类型转换关系_强制类型转换

  1. 大容量转换为小容量,叫做强制类型转换,需要加强制类型转换符。例如:
float num1=123f;
int num2=(int) num1;
  1. 当整数字面值没有超过byte,short,char的取值范围,可以直接赋值类byte,short,char类型的变量
  2. byte,short,char混合运算的时候,各自先转换成int类型做运算
  3. 多种数据类型混合运算,先转换成容量最大的那种类型再做运算

基本数据类型的长度表:

基本类型

字节数(byte)

位数(bit)

取值范围(最小值——最大值)

byte

1

8

-128(-2^7) —— 127(2^7-1)

short

2

16

-32768(-2^15)—— 32767(2^15 - 1)

int

4

32

-2^31—— 2^31 - 1

long

8

64

-2^63 —— 2^63 -1

float

4

32

单精度、32位、符合IEEE 754标准的浮点数

double

8

64

双精度、64 位、符合IEEE 754标准的浮点数

char

2

16

0——2^16-1(65,535)

2. 包装类(Wrapper Class)与基本数据类型的

基本数据类型与其相对应的包装类:

基本数据类型

包装类

byte

Byte

boolean

Boolean

short

Short

char

Character

int

Integer

long

Long

float

Float

double

Double

  1. JDK1.5提供了自动装箱(autoboxing)和自动拆箱(autounboxing)功能, 从而实现了包装类和与其对应基本数据类型之间的自动转换

3. 对于特殊的“String”

  1. 基本类型变量—>String.valueof()—>字符串
  2. 字符串—WrapperClass.parseXxx(string)—>基本类型变量()
    例如:String转int:Integer.parseInt(str)

4. 对于一般子类,父类

转换规则:
子类到父类——自动转换            例:Animal cat=new Cat();
父类到子类——强制类型转换

验证代码:

/**
 *数据类型转换
 * 2020年6月15日22:04:35
 */
public class DataTypeConversion {
    public static void main(String[] args) {
        System.out.println("基本数据类型之间的转换");
        byte by=12;//12默认是int类型,这里使用了第四条准则
        //byte by2=10000;//错误演示,超出了byte的表示范围
        byte by3=(byte)10000;//强转会出现精度损失,造成数据出错
        float num=123;//这里代表的是自动类型转换
        float num1=123f;
        int num2=(int) num1;
        System.out.println(by);
        System.out.println(by3);
        System.out.println(num2);
        
        System.out.println("包装类与基本数据类型的转换");
        Integer i=3;//3为int型,自动装箱为Integer
        int i1=i;//自动拆箱
        System.out.println(i.getClass());
        System.out.println(i1);
        
        System.out.println("基本数据类型(包装类)与String");
        String str="10";
        System.out.println(Integer.parseInt(str));//String--->int

        String str2="true";
        System.out.println(Boolean.parseBoolean(str2));//String--->boolean

        String s = String.valueOf(by);
        System.out.println(s.getClass());//byte--->String

        String s2 = String.valueOf(true);
        System.out.println(s2);//boolean--->String
    }
}

结果截图:

java 基本类型转byte java基本类型转换关系_数据类型转换_02

个人总结,若是有不足之处,请与下方评论指正