java快速入门知识整理:10、基本数据类型转换、二进制_位_字节(2022-08-27-3043更新完成)

65 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第30天,点击查看活动详情

文章目录

基本数据类型转换

1.自动转换类型特点:容量小的数据类型会自动转化成容量大的数据类型。

2.强制类型转换

二进制、位、字节


基本数据类型转换

  • 在Java中,参与运算的数据类型不一致时,就会发生类型的转换。
  • 运算时,不同类型的数据先转化成同一类型,再进行运算。

转换方式
按照转换方式,有两种 :自动转换类型(也称为隐式转换)和强制转换类型(也称显式转换)。

1.自动转换类型 特点:容量小的数据类型会自动转化成容量大的数据类型。

低------------------------------------------------------->高
char,byte,short  --->  int ---> long ---> float ---> double

 转换发生的条件 :由低类型 —> 高类型

public class Demo {
    public static void main(String[] args) {
    int a1 = 12;
    byte a2 = 24;
    System.out.println(a1+a2);
}
}
 
​

注意事项:
byte、short、char相互之间不转换,他们参与运算首先转换为int类型。

2.强制类型转换

 特点:容量大的数据类型向容量小的数据类型转换,要进行强制类型转换,使用符号:() 。

 格式:(类型)变量名 由级别高—>低

public class Demo {
    public static void main(String[] args) {
    int i = 128;
    byte b = (byte)i;//强制转换
   
    System.out.println(i);  //输出128
    System.out.println(b);  //输出-128
    //因为byte 的最大内存是127,要是赋予128的话,就会造成内存溢出的问题
}
}

  • 类型转化的注意点:
    1.不能对布尔值进行转换。
    2.不能把对象类型转换为不相干的类型。
    3.在把高容量转换到低容量的时候,强制转换。
    4.转换的时候可能存在内存溢出,或者精度损失问题 !

二进制、位、字节

位(bit):一个数字0或者一个数字1,代表一位。

字节(Byte):每8位是一个字节,这个是数据存储的最小单位。

1Byte=8bit

1KB=1024 Byte

1MB=1024 KB

1GB=1024 MB

1TB=1024GB

1PB=1024TB

1EB=1024PB

1ZB=1024EB

三种常见的编码:ASCII码、UTF-8编码、Unicode编码等字符占据的字节数

ASCII码:
一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。

UTF-8编码:
一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。

Unicode编码:
一个英文等于两个字节,一个中文(含繁体)等于两个字节。
符号:
英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。