Java数据类型详解

数据类型

强类型语言

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

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

弱类型语言

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

计算机存储单元

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

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

存储单位换算

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

数据类型的分类

基本数据类型

数据类型关键字内存占用(字节)取值范围
整数类型byte1-128~127
short1-32768~32767
int4-2的31次方到2的31次方-1
long8-2的63次方到2的63次方-1
浮点类型float4负数:-3.402823E+38到-140298E-45 正数:1.401298E-45到3.402823E+38
double8负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324到1.797693E+308
字符类型char20—65535
布尔类型boolean1位true,false
  • 注意

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

    ​ 在java中整数默认是int类型,浮点数默认是double类型。

    public class Demo{
        public static void main(String[] args){
            //八大基本数据类型
            
            //整数
            int num1=10; //最常用
            byte num2=20;
            short num3=30;
            long num4=40L; //long类型要在数字后边加个L
            
            //浮点类型:小数
            float num5=50.1F; //float类型要在数字后边加个F
            double num6=60.666666666;
                
            //字符
            char name='A';
            //字符串String是类,不是关键字
            String name1= "是类";
            
            //布尔值:是非对错
            boolean t=true;
            boolean f=false;
        }
    }
    
    注意事项
    1. 在同一对大括号中,变量名不能重复。
    2. 变量在使用之前,必须初始化(赋值)。
    3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。
    4. 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。
    

引用数据类型

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

  • 类、枚举、注解
  • 接口
  • 数组

面试相关

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){}


    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值