java基本数据类型详解

一:java基本数据类型分类以及占用字节大小

  • 整数类型:byte(1字节),short(2字节),int(4字节),long(8字节)

  • 浮点数类型:float(4字节),double(8字节)

  • 字符类型:char(2字节)

  • 布尔类型:boolean(4字节)

1.Java语言对布尔类型的存储并没有做规定,因为理论上存储布尔类型只需要1 bit,但是通常JVM内部会把boolean表示为4字节整数

2.因为Java在内存中总是使用Unicode表示字符,所以,一个英文字符和一个中文字符都用一个char类型表示,它们都占用两个字节。要显示一个字符的Unicode编码,只需将char类型直接赋值给int类型即可:

int n1 = 'A'; // 字母“A”的Unicodde编码是65
int n2 = '中'; // 汉字“中”的Unicode编码是20013

还可以直接用转义字符\u+Unicode编码来表示一个字符:

// 注意是十六进制:
char c3 = '\u0041'; // 'A',因为十六进制0041 = 十进制65
char c4 = '\u4e2d'; // '中',因为十六进制4e2d = 十进制20013

3.public class Main {
    public static void main(String[] args) {
        int i = 2147483647;
        int i2 = -2147483648;

        // 加下划线更容易识别,jdk7新特性,语法糖,编译期间,编译器把这些下划线移除,并把真实的数字赋值给变量
        int i3 = 2_000_000_000;
        int i4 = 0xff0000; // 十六进制表示的16711680
        int i5 = 0b1000000000; // 二进制表示的512
        long l = 9000000000000000000L; // long型的结尾需要加L
    }
}

 二:基本数据类型表示的范围及默认值   

  • byte:-128 ~ 127,默认值0
  • short: -32768 ~ 32767,默认值0
  • int: -2147483648 ~ 2147483647,默认值0
  • long: -9223372036854775808 ~ 9223372036854775807,默认值0L
  • float:-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38,默认值是 0.0f
  • double:-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308,默认值是 0.0d,
  • char:0~65535,默认值'/uoooo'(null)
  • boolean,true或false,默认值false

 

你可能感兴趣的:(java基础#基本数据类型)