Java基本数据类型

x33g5p2x  于2021-11-22 转载在 Java  
字(2.4k)|赞(0)|评价(0)|浏览(487)

基本数据类型分类

数据类型关键字取值范围内存占用
整数型byte-128~1271
short-32768~327672
int (默认)-2147483648~2147483647 (10位数)4
long-9223372036854775808 ~ 9223372036854775807 (19位数)8
浮点型float1.401298e-45到3.402823e+38**(38位数)**4
double (默认)4.9000000e-324 到1.797693e+308**(308位数)**8
字符型char0-655352
布尔型booleantrue,false1

注:

      e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方

       整数的默认类型是int

      浮点数的默认类型是double

**     ** ** **每个类型都有内存占用空间是为了更加好的利用内存空间,防止资源浪费

字符在底层都会跟一个数字产生一个一一对应的关系。这个关系可以在ASCII码表中查询到。

整数型

定义整数型数据的时候默认的都是int型,所以当定义的是byte、short、long型时,就存在自动类型转换,只有小数据类型会默认转换为大数据,如:默认int,定义long就可以自动转换,而且所赋值不能超过int数据范围

在定义byte数据类型时,只要所赋值在byte内,也能实现自动转换,由int到byte

如果所赋值超过int数据类型范围,就需要在数值添加后面添加特定的符号,如long类型,加
|
数据类型
|
关键字
|
占用内存字节数
|
取值范围 |
|
字节型
|
byte
|
1字节
|
-128~127 |
|
短整型
|
short
|
2字节
|
-32768~32767 |
|
整型
|
int
|
4字节
|
-2147483684~2147483647 |
|
长整型
|
long
|
8字节
|
-9223372036854775808~9223372036854775807 |

在这四种数据类型的常量或变量赋值时,所赋值不能超过对应数据类型的取值范围

在为long常量或变量赋值的时候,如果值超过了int的范围就需要在值后面加上 L 或 l  说明所赋值为long型

Java语言当中的整数型字面值有三种表达方式:

第一种方式:十进制【是一种缺省默认的方式】

第二种方式:八进制【在编写八进制整数字面值的时候需要以0开始】

第三种方式:十六进制【在编写十六进制整数字面值的时候需要以0x开始】

浮点数

赋值的时候默认是int型当所赋值超过int类型时需要在赋值后面加上关键字
|
数据类型
|
关键字
|
占用内存
|
取值范围 |
|
单精度浮点数
|
float
|
4字节
|
1.4E-45~3.4028235E38 |
|
双精度浮点数
|
double
|
8字节
|
4.9E-324~1.7976931348623157E308 |

在为float型常量或变量赋值的时候要在后面加上  F  或  f  ,说明赋值类型为float,如果赋值为整数并未超出int型的取值范围,也可以省略字母F或f

在位double型常量或变量赋值时,需要在所赋值后面加上D或d,说明所赋值为double型,如果所赋值为小数,并未超出int范围,也可以省略d或D

Java默认小数时double型,所以在将小数赋值给double型常量或变量的时,可以不加D或d

字符型

声明字符型的常量或变量用来储存单个字符,它占用内存的两个字节来储存,字符型利用关键字char进行声明

在为char型常量或变量赋值时,无论赋值的值是字母、符号还是汉字,都只能为一个字符

因为计算机只能储存二进制数据,所以需要将字符通过一串二进制数据来表示,也是常说的字符编码

Java语言对字符采用Unicode字符编码

Unicode编码采用无符号编码,一个可以储存65536个字符,所有Java语言中的字符几乎可以处理所有国家语言文字

因为Java语言把字符串当整数对待,并且可以储存65536个字符,所以也可以将0~到65535整数赋值给char型常量或变量,但是输出是得到的不是整数

char  ac=88;
System.out.println(ac);    //输出大写字母X

布尔型

声明布尔型的常量或变量用来存储逻辑值,逻辑值只有true和false,分别代表逻辑判断中的‘真'和‘假’

利用boolean关键字进行声明

各类型的使用:

public class Lianxi {
    public static void main(String[] args) {
        //定义整数类型变量
        byte num1 = 10;
        short num2 = 20;
        int num3 = 30;
        long num4 = 1234567891234567899L;

        //使用整数类型变量
        System.out.println(num1);
        System.out.println(num2);
        System.out.println(num3);
        System.out.println(num4);

        System.out.println("------------------------------");

        //小数类型变量
        float num5 = 12.3F;
        System.out.println(num5);

        double num6 = 12.3;
        System.out.println(num6);

        System.out.println("------------------------------");

        // 字符类型变量
        char c1 = '中';
        System.out.println(c1);

        char c2 = 97;
        System.out.println(c2);

        System.out.println("------------------------------");

        // 布尔类型变量
        boolean flag = false;
        System.out.println(flag);

        boolean flag2 = true;
        System.out.println(flag2);
    }
}

相关文章