java基础数据类型

136 阅读3分钟

java基础数据类型

在java语言中,根据变量的类型来为变量分配存储空间,分配的空间只能用来储存该类型数据。java提供的内置数据类型就是我们俗称的基础数据类型,分别是六种数字,一种字符,和一种布尔值。

当类的成员是基础数据类型却没有赋值时,会使用默认值

数据类型位数(bit)默认值范围
byte(字节)80-128 至 127
short(短整型)160-32768 至 32768
int(整型)320-2,147,483,648 至 2,147,483,647
long(长整型)640L-9,223,372,036,854,775,808 至 9,223,372,036,854,775,807
float(单精度)320.0F单精度
double(双精度)640.0D双精度
char(字符)8\u0000 至 \uFFFF,即0-65536
boolean(布尔值)8falsetrue,false

数字类型

关于取值范围

在java中,一个字节(byte)有八位(bit),因为是二进制,每个bit记录0或者1。在整型存储中第一位表示正数还是负数,后面的几位就存储数据

比如byte类型,是一个字节,也就是八个bit,记录八位,第一位是表示正负数,剩下七位记录数值,即最大值为0B01111111 = 127。而0B10000000= -128,所以byte类型的范围是 -128 至 127

max=271,min=27 max = 2^7 - 1, min= - 2^7

注意,在java中,直接使用的字面量整数数字都是int,编写如下代码就会发生编译异常,因为int+byte=int,所以提示类型错误

    byte a = 2;
    byte b = a + 1;

浮点数

floatdouble都是浮点数,在java记录浮点数中,记录的是符号+指数+尾数,即对于float类型,八位字节,也就是32位(bit),1位表示符号,8位指数,23位尾数,注意:使用浮点数的字面量时都是double

    double a = 12345;
    double b = 0.12346;
    double c = 12.64D;
    float e = 4154F;
    float f = 1.531F;
    float g = 156.32;//该赋值是double赋值给float,会提示编译错误

布尔值(boolean)

Java对逻辑值有一个布尔类型。这是所有关系运算符返回的类型,他只能有两个值之一,truefalse,在java中,布尔值不能转换为任何数字表示,true不是1,false也不是0

在类中的成员使用布尔类型,但却没有进行赋值时,会使用默认值false

字符(char)

char在java中用单引号表示,在存储中记录的是单一的16位Unicode编码,也就说,可以直接将char类型转换成int类型,通过这种方式,我们有时可以通过Unicode编码对char类型变量进行操作和判断 char类型的初始化不能赋值空。也就是 char a ='';

    char a = 'a';
    char b = 'B';
    System.out.println(a);//-->a
    System.out.println((int)b);//-->66
    System.out.println(a + 1);//-->98
    System.out.println((char)(a + 1));//-->b