栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础-数据类型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础-数据类型

Java数据类型 强类型语言
  • 要求变量的使用要求严格符合规定,所有变量都必须县定义后才能使用

  • 优点:安全性高

  • 缺点:速度比较慢

弱类型语言
  • 要求变量的使用可以不符合规定,所有变量都可以不定义都能使用

Java的数据类型分为两大类
  • 基本类型(primitive type)

  • 引用类型(reference type)

基本类型

  • 数值类型

    • 整数类型

      • byte占1个字节范围:-128-127

      • short占2个字节范围:-32768-32767

      • int占4个字节范围:-2147483648-2147483647

      • long占8个字节范围:-9223372036854775808-9223372036854775807

    • 浮点类型

      • float占4个字节

      • double占8个字节

    • 字符类型char占2个字节

  • boolean类型:占1位字节只有true和false

引用类型

  • 接口

  • 数组

        //八大数据基本类型
​
        //整数
        int num1 = 1000000000; //最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30L; //long类型要在数字后面加个L
​
        //小数:浮点书
        float num5 = 1.1F; //float类型要在数字后面加个F
        double num6 = 3.141592653;
​
        //字符
        char name1 = 'A';
        //字符串,String不是关键字,是一个类
        //String name2 = "aaa";
        //布尔值
        boolean flag = true;
        boolean flag1 = false;

字节
  • 位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数。

  • 字节(byte):是计算机数据处理的基本单位,习惯上用大写B来表示

  • 1B(byte,字节)=8bit(位)

  • 字符:是指计算机中使用的字母,数字,子和符号

    • 1bit表示1位

    • 1Byte表示一个字节1B=8b

    • 1024B =1KB

    • 1024KB = 1M

    • 1024M = 1G

进制转换
  • 二进制

  • 八进制

  • 十进制

  • 十六进制

        //整数拓展   进制   二进制0b         八进制0       十进制       十六进制0x
        int i = 10;
        int i2 = 0b111; //二进制0b
        //2进制转10进制  2进制: 0b111 十进制:1*2*2+1*2+1=7 = 1*2^2+1*2^1+1
        int i3 = 0121; //八进制0
        //8进制转10进制  8进制: 0x121 十进制:1*8*8+2*8+1=81 = 1*8^2+2*8^1+1
        int i4 = 0x101; //十六进制0x   0~9 A-F 16
        //16进制转10进制   16进制: 0x101 十进制:1*16*16+0*16+1=257 = 1*16^2+0*16^1+1
        
        
        
​
        
        
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);

​
浮点数注意事项-最好避免使用浮点数进行比较
  • float

    • 表示的长度有限的,离散的

    • 有舍入误差

    • 大约接近不等于

  • double

需要比较可以使用BigDecimal-数学工具类

        float f = 0.1f;  //0.1
        double d = 1.0/10;  //0.1
        System.out.println(f==d);  //结果为:false
        float f1 = 12341241241241241f;
        float f2 = f1+1;
        System.out.println(f1==f2);//结果为:true
字符拓展
  • char

    • 字符的本质还是数字

  • 转义字符

  • 对象

​
        
        char c1 = 'a';
        char c2 = '中';
        System.out.println((int)c1);//强制转换成int格式
        //输出结果:97
        System.out.println(c1);
        //输出结果:a
        System.out.println((int)c2);//强制转换成int格式
        //输出结果:20013
        System.out.println(c2);
        //输出结果:中
        
        char c3 = 'u0061';//输出结果a
        System.out.println(c3);
        //转义字符
        // t 制表符,相当于空格
        // n 换行
        //...
        System.out.println("HellotWorld"); //输出结果:Hello    World
        System.out.println("HellonWorld");//输出结果:Hello
        //                                           World
​
​
        String sa = new String("hello");
        String sb = new String("hello");
        System.out.println(sa==sb);//输出结果:false
        String sc = "hello";
        String sd = "hello";
        System.out.println(sc==sd);//输出结果:true
        //对象  从内存分析
​
        //布尔值扩展
        boolean flag = true;
        if (flag) {}
        //上下是一个意思
        if (flag == true) {}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/354040.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号