Java数据类型详解

时间:2021-04-21 12:25:24   收藏:0   阅读:0

数据类型

强类型语言

Java是一种强类型语言,对每一种数据都规定了范围。

变量的使用要严格符合规定,所有变量必须先定义后才能使用

弱类型语言

要求没有强类型语言严格,比较随意

计算机存储单元

我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)”,

通常用大写字母”B”表示,字节是由连续的8个位组成。

存储单位换算

1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB

数据类型的分类

基本数据类型

数据类型 关键字 内存占用(字节) 取值范围
整数类型 byte 1 -128~127
short 1 -32768~32767
int 4 -2的31次方到2的31次方-1
long 8 -2的63次方到2的63次方-1
浮点类型 float 4 负数:-3.402823E+38到-140298E-45 正数:1.401298E-45到3.402823E+38
double 8 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324到1.797693E+308
字符类型 char 2 0—65535
布尔类型 boolean 1位 true,false

引用数据类型

除了基本数据类型以外的都叫引用数据类型

面试相关

public class Demo01 {
    public static void main(String[] args) {
        //整数
        //进制 二进制0b 十进制  八进制0  十六进制0x
        int i1 = 10;   //十进制
        int i2 = 010;  //八进制0
        int i3 = 0x10; //十六进制0x  0~9 A~F
        System.out.println(i1);  //10
        System.out.println(i2);  //8
        System.out.println(i3);  //16
        System.out.println("----------------------------");

        //浮点
        //银行业务精确嘛?? 以后会用到 BigDecimal 数学工具类
        //float
        //double
        float f = 0.1F; //0.1
        double d = 1.0/10; //0.1
        System.out.println(f==d); //false
        System.out.println();

        float f1 = 45613456751546F;
        float f2 = f1+1;
        System.out.println(f1==f2); //true 一个比较大的数加1还等于他本身
        //=================================
        // 结论:浮点类型损失精度;浮点数不能表示精确的数值;不能用于比较和表示货币
        // 最好完全避免使用浮点数进行比较
        // 最好完全避免使用浮点数进行比较
        // 最好完全避免使用浮点数进行比较
        //====================================
        System.out.println("-----------------------");

        //字符
        char c1 = ‘a‘;
        char c2 = ‘中‘;
        System.out.println(c1); //a
        System.out.println((int)c1);  //97 前边加int是强制转换

        System.out.println(c2); //中
        System.out.println((int)c2); //20013
        //所有的字符本质还是数字
        //编码 Unicode (97 = a  65 = A)
        // 区间范围 U0000 UFFFF
        char c3 = ‘\u0061‘;
        System.out.println(c3); //a

        //转义字符
        // \t 制表符(空格)
        // \n 换行
        // .....
        System.out.println("hello\tworld"); //hello 	world
        System.out.println("hello\nworld");

        //布尔
        boolean b = true;
        if (b==true){}
        //上下是相等的
        if (b){}


    }
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!