首页 > 编程笔记 > Java笔记 阅读:80

Java基本数据类型(整形,浮点型、字符型和布尔型)

Java 语言的数据类型分为基本数据类型和引用数据类型,本节我们重点介绍 Java 基本数据类型。

Java 基本数据类型表示简单的数据,基本数据类型分为 4 大类,共 8 种数据类型:

Java整数类型

Java 中的整数类型包括 byte、short、int 和 long,它们之间的区别:在计算机内部占用的内存空间不同,如下表所示。

Java整数类型
整数类型 宽度 取值范围
byte 1个字节(8位) -128~127
short 2个字节(16位) -2^15~2^15-1
int 4个字节(32位) -2^31~2^31-1
long 8个字节(64位) -2^63~2^63-1

Java 语言的整数类型默认是 int 类型,例如 10 表示为 int 类型整数 10,而不是 short 或 byte,而 10L(或 10l)表示 long 类型的整数 10,就是在 10 后面加上 l(小写英文字母)或 L(大写英文字母)。

整数常量还可以使用二进制数、八进制数和十六进制数表示,它们的表示方式分别如下。
使用整数的示例代码如下:
//整数
public class Main {
    public static void main(String args[]) {
        // byte myNum1 = 128;    // 编译错误
        byte myNum2 = 125;
        short myNum3 = 5000;
        int myNum4 = 5000;
        long myNum5 = 10L;      // 声明 long 类型变量
        long myNum6 = 101;      // 声明 long 类型变量

        int decimalInt = 10;
        byte binaryInt1 = 0b1010;
        short binaryInt2 = 0B11100;
        long octalInt = 012;

        byte hexadecimalInt = 0xA;
    }
}
在程序代码中,尽量不用小写英文字母 l,因为它容易与数字 1 混淆,特别是在 Java 中表示 long 类型整数时很少使用小写英文字母 l,而是使用大写英文字母 L。例如,10L 要比 10l 可读性更好。

Java浮点类型

浮点类型主要用来存储小数数值。Java 中的浮点类型有以下两种
它们的区别是占用内存空间不同。浮点类型说明如下表所示:

表:浮点类型
浮点类型 宽度
float 4个字节(32位)
double 8个字节(64位)

Java 语言的浮点类型默认是 double 类型,例如 0.0 表示 double 类型常量,而不是 float 类型。如果想要表示 float 类型,则需要在数值后面加 f 或 F。

另外,浮点数据可以使用小数表示,也可以使用科学记数法表示,科学记数法中会使用大写英文字母 E 或小写英文字母 e 表示 10 的指数,如 e2 表示 10^2。

浮点类型的示例代码如下:
// 浮点类型
public class Main {
    public static void main(String args[]) {
        float float1 = 0.0f;       // 数值后加 f 表示 float 类型
        float float2 = 2F;         // 数值后加 F 也表示 float 类型
        double float3 = 2.1543276e2; // 科学记计数法表示浮点数
        double float4 = 2.1543276e-2; // 科学记计数法表示浮点数
        double double1 = 0.0;      // 0.0 默认是 double 类型
        double double2 = 0.0d;     // 数值后加 d 表示 double 类型
        double double3 = 0.0D;     // 数值后加 D 表示 double 类型
    }
}

Java字符类型

字符类型表示单个字符,Java 中用 char 声明字符类型,Java 中的字符常量必须包裹在一对单引号' '中。

Java 字符采用双字节 Unicode 编码,占两个字节(16 位),因而可用十六进制(无符号的)编码形式表示,它们的表现形式是\un,其中 n 为 16 位十六进制数,所以 'E' 字符也可以用 Unicode 编码 '\u0045' 表示。

例如:
public class CharExample {
    public static void main(String[] args) {
        char letter1 = 'A';
        char letter2 = '\u0042'; // 使用 Unicode 编码表示字符 'B'
        char letter3 = '汉';     // 汉字字符
        int letter4 = 66;        // 'B' 对应的 ASCII 码是 66
        int int1 = 'A' + 3;      // 字符类型可以进行数学计算

        System.out.println("letter1:" + letter1);
        System.out.println("letter2:" + letter2);
        System.out.println("letter3:" + letter3);
        System.out.println("letter4:" + (char) letter4); // 将整数格式转换为字符输出
        System.out.println("int1:" + (char) int1);
    }
}
代码的运行结果如下:

letter1:A
letter2:B
letter3:汉
letter4:B
int1:D

字符类型也属于数字类型,可以与 int 等数字类型进行数学计算或相互转换。这是因为字符类型在计算机中保存的是 Unicode 编码,双字节 Unicode 的存储范围为\u0000~\uFFFF,所以 char 类型的取值范围为 0~2^16-1。

Java布尔类型

布尔类型(boolean)用于表示逻辑值,只有两个可能的取值:true(真)和 false(假)。

布尔类型常用于条件判断和循环控制流程中。需要注意的是:
示例代码如下:
public class SimpleBooleanDemo {
    public static void main(String[] args) {
        // 基础赋值
        boolean isJavaFun = true;
        boolean isFishSwim = false;
        System.out.println("Java有趣吗?" + isJavaFun);  // Java有趣吗?true
        System.out.println("鱼会飞吗?" + isFishSwim);  // 鱼会飞吗?false

        // 条件判断
        boolean isRaining = true;
        if (isRaining) {
            System.out.println("带伞出门");  // 会执行
        } else {
            System.out.println("不用带伞");
        }
    }
}
运行结果为:

Java有趣吗?true
鱼会飞吗?false
带伞出门

相关文章