Java基本类型,字面值前缀,字面值后缀,基本类型转换

目录

  • Java基本类型表
  • 字面值前缀
  • 字面值后缀
  • 基本类型转换
  • 个人总结

正文

  • Java基本类型表
基本类型 所占字节 最大值和最小值(二进制) 最大值和最小值(十进制)
byte(数值类型) 1 -27到27-1 -128到127
short(数值类型) 2 -215到215-1 -32768到32767
int(数值类型) 4 -231到231-1 -2147483648到2147483647
long(数值类型) 8 -263到263-1 -9223372036854775808到9223372036854775807
float(浮点类型) 4 单精度
double(浮点类型) 8 双精度
char(字符类型) 2 0到216-1 0到65535
boolean(布尔类型) 1 true或者false

bit就是位,也叫比特位,是计算机表示数据最小的单位,1个字节等于8个bit
Java中数值类型(byte,short,int,long)首字母表示正数或者负数,所以计算时应当减去一次方,且因为0的存在,正数值最大值应当减去1
举例:int所占字节为4,所以最大值二进制为24*8-1-1 ,最小值为-24*8-1 ;

  • 字面值前缀

二进制 - 0b

     0b101110011011011

16进制 - 0x

     0xfa8c10f

8进制 - 0

     001
     002
     003
     007

char类型16进制 - \u

     '\u0061'
     '\u4e2d'
  • 字面值后缀

long - L

     long a = 9999999999L;

float - F

     float f = 3.14f;

double - D

     double d = 3.0;
     double d = 3d;
  • 基本类型转换
    Java基本类型,字面值前缀,字面值后缀,基本类型转换_第1张图片

这里的“→”符号指的是类型大小,即当小的类型转换为大的类型时,无需强转直接可以赋值

int a = 123456;
long l = a;
// 这里long类型比int类型大,所以直接赋值即可,这种操作不属于强转所以无风险

当大的类型转换为小的类型时,需要强转(需要注意的是,有可能发生溢出)

double d = 123.456;
int a = (int)d;
// 这里的强转会将123.456后面456去掉,即小数点后面的值都去掉
int a = 1234;
byte b = (byte)a;
/*
 * 这里的强转将发生溢出,结果b=-46;
 * 因为int所占字节为4,byte所占字节为1,当强转数值超过byte最大时,Java会将其进行“轮回”,
 * 即最大值+1=最小值,走过几轮“轮回”后,byte值将会变成-46;
 * /
  • 个人总结

1.基本类型不需要强记,只需要记住几个常用的即可
- byte所占字节为1及最大值128(传输数据时经常用)
- int所占字节为4及最大值为21亿多
- char最大值为65535且没有负值,因为是字符类型,无须表示正负数
2.基本类型转换是基础,需要牢记,不然发生一个“轮回”可能就让自己找bug找半天,抓头~

你可能感兴趣的:(Java,入门,Java,入门,Java基本类型,类型转换)