6. java入门:数据类型

·  阅读 168

java是一种强类型语言,每一个变量都会声明一种类型。

变量同样可以类比数学中函数的自变量。在数学函数中自变量可以是某个值,整数或小数,而在java中,一旦变量定义好,那么变量的类型就是确定的。

java有8种基本类型。其中有4种整型、2种浮点数类型、1种字符类型和1种布尔类型。

整型

整型有四种,分别是 byteshortintlong。这四种类型在计算机中进行存储的时候所在的空间是不一样的,能表示数据的范围也不同,见下表所示。

数据类型默认值存储空间表示范围
byte01 byte-128 ~ 127
short02 byte-32768 ~ 32767
int04 byte-2147483648 ~ 2147483647 (21亿多)
long0L8 byte-9223372036854775808 ~ 9223372036854775807

我们知道,计算机智能识别二进制数据,也就是0和1。二进制的一位为1个bit,8个bit为1个字节。

byte类型来说,它由8个bit组成,最高位是符号位,那么01111111表示正127,最高位0表示正数。

负数在计算机中是以补码的形式存储的,补码11110011对应的原码为10001101,也就是十进制的-13。

short、int、long的存储方式是一样的。

整型变量的定义如下面的代码清单所示。

由 "/*" 开始,以"*/"结尾的内容属于块注释,以双斜杠开头的为行注释,注释的作用是用来表明代码的含义,它对代码的编译和运行不会起到任何作用。

/**
 * @author: qiaoyihan
 * @date: 2021/7/18
 */
public class IntegerDemo {
    public static void main(String[] args) {
        // byte类型
        byte aByte = 1;
        short b = 2;
        int c = 3368;
        // long型的结尾要加L
        long d = 67890L;

        System.out.println(aByte);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);

        int f = -2147483648;
        // 加下划线更容易识别
        int gg = 2_000_000_000;
        // 十六进制
        int h = 0xff0000;
        // 二进制
        int bin = 0b1000000000;
    }
}

复制代码

long类型的整数,结尾要加"l" 或 "L",一般来说,建议加"L",因为小"l"容易和数字1混淆。

从java 7开始,数字可以加下划线,增加可读性,java编译器在编译的时候会去掉下划线。以"0x"和"0b"开头的数字分别表示十六进制和二进制数据。

"="号的作用是赋值,把等号右边的值赋给等号左边的变量。

浮点型

浮点类型就是有小数部分的数字。

数据类型默认值存储空间表示范围
float0.0f4 byte大约+/-3.40282347E+38 (有效位数为6-7位)
double0.0d8 byte大约+/-1.79769313486231570E+308 (有效位数为15位)

double能表示的精度是float类型的两倍,所以double类型又被称为双精度浮点数。一般来说我们都是用double类型。

默认一个浮点数,如3.14,是double类型,当然我们也可以在数字后加"D"或"d",如果在数字后面加"F"或"f"表示float类型。

public class FloatDemo {
    public static void main(String[] args) {
        double d = 3.14d;
        double d2 = 4.23324343;
        float f = -7.69f;
    }
}
复制代码

字符类型

字符类型占两个字节。

数据类型默认值存储空间表示范围
char'\u0000'2 byte

Java的char类型除了可表示标准的ASCII外,还可以表示一个Unicode字符。

ascii码能表示128个字符,包括控制字符,详细见ascii码对照表

char类型是用单引号括起来,区别于表示字符串的双引号。

public class CharDemo {
    public static void main(String[] args) {
        char en = 'a';
        // 带斜杠,表示转义字符,制表符
        char t = '\t';
        // 可以表示一个中文字符
        char ch = '好';

        System.out.println(ch);
    }
}
复制代码

布尔类型

布尔类型占一个字节,只有两个值,真和假。

数据类型默认值存储空间表示范围
booleanfalse1 bittrue / false
public class BoolDemo {
    public static void main(String[] args) {
        boolean t = true;
        boolean f = false;

        System.out.println(t == f);
    }
}
复制代码

总结

  • java有8种基本数据类型,分别是 byte, short, int, long, float, double, char, boolean
  • 可以把数值赋值给对应数据类型的变量;

Question

你知道补码10000000为什么能表示-128吗?

分类:
后端
标签:
收藏成功!
已添加到「」, 点击更改