Java基本数据类型

Java基本数据类型

在Java中,一共有两大数据类型:

  • 基本数据类型(内置数据类型)
  • 引用数据类型
    本文我们将主要介绍基本数据类型,它们有语言预先定义,也称为内置数据类型,顾名思义,它们是Java语言中最基本的数据类型。另外注意:引用数据类型并不属于基本数据类型的范畴。

Java语言支持8种基本数据类型:byte,shot,int,long,float,double,boolean,char

1.分类和特点

1.1分类

基本数据类型定义在Java类型系统中,在类型系统中,又可将基本类型分为三大类:

  • 数字型: 包含 short,int,long,float,double,只能存储数字数据;
  • 字符型bytechar,只能存储字符数据
  • 布尔类型boolean, 只能存储true(真)或false(假)。

1.2 范围和默认值

基本类型都有固定的大小,因此,基本类型的值会被限制在一个范围内。

另外在声明变量是,不一定总是需要分配值。编译器会将已声明但未初始化的字段设置合理的默认值。但是建议每个变量都赋初始值。这是很好的编程习惯。

具体的默认值,如下
在这里插入图片描述
‘\u0000’ 代表空格

1.3 常见错误

在编码过程中,要特别注意变量不要超过其类型的范围。

package com.sean.iotest;

import java.io.*;

public class Test {
    public static void main(String[] args) throws Exception {
        int a = Integer.MAX_VALUE;
        int b = Integer.MIN_VALUE;
        System.out.println(a);
        System.out.println(a+1);
        System.out.println(b);
        System.out.println(b-1);
    }
}

运行结果

2147483647
-2147483648
-2147483648
2147483647

我们发现 int 类型能存储的最大值加 1 或者最小值减1之后,变成了一个负数或者正数,这个数其实就是 int 类型能够存放的最小值,这是因为加 1 之后变量超出了 int 类型能够存储的最大值,这就是我们常常说的内存溢出错误。

还要特别注意的一点,由于Java是强类型的,每个变量都有一个类型,只有给定种类的值能够存储到该变量中。例如,不能将浮点型的数字赋值给整形的变量:

public class IncompatibleTypeError{
    public static void main(String[] args) {
        int age;
      	age = 20.5f;
    }
}

源代码在编译阶段就会报错:

$ javac IncompatibleTypeError.java
IncompatibleTypeError.java:4: 错误: 不兼容的类型:float转换到int可能会有损失
      	age = 20.5f;
      	      ^
1 个错误

2.整型

整型就是整数类型,和数学中的整数意义相同,例如:

// 声明一个整型变量age
int age = 10;
// 声明一个整型变量 score
int score = 100;

整型除了int类型,还有shortlong类型,也就是短整型和长整型,它们用于存放不同范围的整数值。需要注意的是,long类型的值后面要以大写字母L或者小写字母l结尾。

// 声明一个短整型变量a
short a = 20;
// 声明一个长整型变量b
long b = 100l;
// 声明一个长整型变量c
long c = 100L;

注意

对于长整型,推荐后面总以大写字母 L 结尾,因为小写字母 l 与数字 1 容易混淆。

和数学一样,计算机中的整型也有进制的概念,Java可以通过以下几种进制系统表示:

  • **十进制:**基数为10,由0-9组成;这是我们日常生活中使用的数字系统;
  • **十六进制:**基数为16,由数字0-9和字母A到F组成;
  • **二进制:**基数为2,由数字0和1组成。
    Java中,十六进制和二进制需要以前缀区分,前缀0x表示十六进制,前缀0b表示二进制:
package com.sean.iotest;

public class Test {
    public static void main(String[] args) throws Exception {
        // 十进制表示数字10
        int decimalValue = 10;
        // 十六进制表示数字10
        int hexadecimalValue = 0xA;
        // 二进制表示数字10
        int binaryValue = 0b1010;
        System.out.println(decimalValue);
        System.out.println(hexadecimalValue);
        System.out.println(binaryValue);
    }
}

3.浮点型

浮点类型就是数学中的小数,在Java中,浮点型又可以分为单精度浮点型(float)和双精度浮点型(double)。需要注意的是,float类型的值必须是F或者f结尾的:

float f1 = 1.2f;
float f2 = 10.56F;

double 类型的值可以以字母 Dd 结尾,但不做强制:

// 声明三个double类型变量,其值都为123.3
double d1 = 123.3;
double d2 = 123.3D;
double d3 = 123.3d;

另外浮点类型也可以使用字母Ee,后面跟上次方的数值,来表示数学中的科学计数法:

package com.sean.iotest;

public class Test {
    public static void main(String[] args) throws Exception {
        // 科学计数法表示的 123.4
        double d2 = 1.234e2;
        float f1  = 1.234e2f;
        // 科学计数法表示 200022.1
        double d3 = 2.000221e5;
        System.out.println(d2);
        System.out.println(f1);
        System.out.println(d3);
    }
}

4.布尔类型

布尔类型boolean只有两个可能的值:truefalse,它是用于跟踪判断条件真假的标志。

boolean b1 = true;
boolean b2 = false;

5. 字符类型

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

public class CharType {
    public static void main(String[] args) {
        // 存放一个 ASCII 码
        char a = 97;
        // 存放一个Unicode字符
        char zh = '慕';
        System.out.println(a);
        System.out.println(zh);
    }
}

运行结果:

a
慕

Java语言还为charString类型,支持一些特殊的转义序列:
在这里插入图片描述

6.小结

Java 提供两大类型:基本数据类型和引用数据类型。一共有 8 种基本数据类型。基本类型又可分为数字型(整型和浮点型),字符型以及布尔型。在编码时要注意,为变量所赋的值不要超出其类型的范围。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值