• JAVA_SE基础——8.基本数据类型


    基本数据类型有:整数类型、浮点类型、字符类型、布尔类型


    整数类型


    整数类型用来存储整数数值,即没有小数部分的数值。与C、C++语言相同,整数在Java语言中有3种表示形式:十进制、八进制和十六进制。

    十进制整数:以1~9开头的数,如123、456、0。

    八进制整数:以0开头且其后由0~7范围(包括0和7)内的数组成的整数,如01011和031,分别表示十进制数521和25,

    计算方式如下。01011转换为十进制数,1 * 83  + 0 * 82 + 1 * 81 + 1 * 80 = 521 031转换为十进制数:3 * 81  + 1 * 80 = 25。

    十六进制整数:以0x或0X开头且其后由0~9、a~f(包括0和9、a和f)组成,如0x25、0Xb01e,分别表示十进制数37和45086,计算方式如下。 0X25转换为十进制数:2 * 161 + 5 * 160 = 37; 0Xb01e转换为十进制数:11 * 163 + 0 * 162 + 1 * 161 + 14 * 160 = 45086。


    注意:

    在十六进制数中,09由数字表示,1015分别由abcdef代替。无论是十进制数、八进制数还是十六进制数,计算机会先将它们转换成二进制数,再进行计算。


    下面是基本数据类型的取值范围↓

    数 据 类 型

    关 键 字

    占用内存

    取 值 范 围

    默 认 值

    整数类型

    字节型

    byte

    8位

    -27~27-1

    0

    短整型

    short

    16位

    -215~215-1

    0

    整型

    int

    32位

    -231~231-1

    0

    长整型

    long

    64位

    -263~263-1

    0

    浮点类型

    单精度型

    float

    32位

    IEEE754

    0.0f

    双精度型

    double

    64位

    IEEE754

    0.0d

    字符类型

    字符型

    char

    16位

    16位的Unicode字符

    'u0000'

    布尔类型

    布尔型

    boolean

    8位

    true和false

    false




    可以根据这些类型定义相应的整型变量,定义方法如下:

    byte a                                                                                    // 定义变量a并指定为byte型

    short b                                                                                    // 定义变量b并指定为short型

    int c                                                                                        // 定义变量c并指定为int型

    long d                                                                                     // 定义变量d并指定为long型

    意思就是  类型+变量名             

    在为这些整型变量赋值时,既可赋值为十进制的整数,也可赋值为八进制或十六进制的整数,但要注意变量能够接受的最大与最小值,否则会出现错误。对于long型值,若赋予的值大于int型的最大值或小于int型的最小值,则需要在数字后加Ll(小写的L),表示该数值为长整型,例如,long num=2147483649L

    对变量赋值后,通过输出语句会自动地将变量值转换为十进制整数输出。

    分别为字节型变量a赋值为十进制数123、短整型变量b赋值为八进制数045、整型变量c赋值为十六进制数0xb12f、长整型变量d赋值为十六制数0x160000000L,然后输出这些变量值。

    public class Test {
        public static void main(String[] args) {
            byte a = 123;                                                        // 定义byte型变量a, 并赋给十进制数值123
            short b = 045;                                                       // 定义short型变量b, 并赋给八进制数值045
            int c = 0xb12f;                                                      // 定义int型变量c, 并赋给十六进制数值0xb12f
            long d = 0x160000000L;                                       // 定义long型变量d, 并赋给十六进制数值0x160000000L
            System.out.println(a);                                          // 输出结果为: 123
            System.out.println(b);                                          // 输出结果为: 37
            System.out.println(c);                                          // 输出结果为: 45359
            System.out.println(d);                                          // 输出结果为: 5905580032
        }
    }

    说明: 赋给long型变量d的十六进制数0x160000000转换为二进制数后,需要占用内存36位(由左向右,每位数字转换成4位的二进制数,如0x39将转换为0011 1001),而Java中规定int型数据占用的内存为32位,所以十六进制数0x160000000超出了int范围,需要在数字后加L或l(小写的L)表示它是一个长整型数,计算机将为其分配64位内存空间进行存储。


    浮点类型

    Java语言包含两种浮点类型:单精度浮点类型和双精度浮点类型,分别用floatdouble关键字来标识,计算机通过这两种数据类型来存储小数。

    在Java中,默认情况下小数都被看做double型,占用内存64位,若想使用float型小数,则需要在小数后面添加字母F或f,如1.23F,它占用内存32位。

    计算机计算出的小数点后的n位,与实际的数值会有一定的误差,它只能尽量地去接近实际值,所以位数越多越精确。通常float型就足够了,若要求更精确的计算,可以使用double型,但也要考虑节约资源。

    定义浮点类型的方法:

    float a                                                                                     // 定义变量a并指定为float

    double b                                                                                 // 定义变量b并指定为double

    在为浮点型变量赋值时,既可以赋值为以十进制形式表示的小数,又可以赋值为以科学记数法形式表示的数值。对于float型,必须在数值后加Ff,表示该数值为单精度浮点数。

    为单精度浮点型变量a1赋值以十进制形式表示的小数12.34F,为单精度浮点型变量a2赋值以科学记数法形式表示的数值1.234E1F,为双精度浮点型变量b1赋值以十进制形式表示的小数56.78,为双精度浮点型变量b2赋值以科学记数法形式表示的数值567.8E-1,然后输出这些变量值。

    public class Test {
        public static void main(String[] args) {
            float a1 = 12.34F;                     // 为float型变量a1赋值为十进制表示的单精度小数(在数字后加F)
            float a2 = 1.234E1F;                 // 为float型变量a2赋值为科学记数法表示的单精度小数(在数字后加F)
            double b1 = 56.78;                    // 为double型变量b1赋值为十进制表示的双精度小数
            double b2 = 567.8E-1;              // 为double型变量b2赋值为科学记数法表示的双精度小数
            System.out.println(a1);                                        // 输出结果为: 12.34
            System.out.println(a2);                                        // 输出结果为: 12.34
            System.out.println(b1);                                        // 输出结果为: 56.78
            System.out.println(b2);                                        // 输出结果为: 56.78
        }
    }

    字符类型

    Java语言中的字符类型用来存储单个字符,它占用16位(两个字节)的内存空间,使用关键字char进行标识。定义字符类型的变量,可以通过关键字char来进行,定义方法如下:

    char c1                                                                                            // 定义字符型变量c1

    char c2                                                                                            // 定义字符型变量c2


    赋给char型变量的字符常量值必须用英文状态下的一对单引号括起来,由于Java的字符采用Unicode编码,一个中文字与一个英文字母在Java中同样都是用一个字符来表示。

    分别为字符型变量a赋值'm'、字符型变量b赋值''、字符型变量c赋值'9'、字符变量d赋值'@',然后输出。 

    public class Test {
        public static void main(String[] args) {
            char a = 'm';                                                                    // 为字符型变量ch1赋值字符常量'm'
            char b = '明';                                                                   // 为字符型变量ch1赋值字符常量'明'
            char c = '9';                                                                     // 为字符型变量ch1赋值字符常量'9'
            char d = '@';                                                                   // 为字符型变量ch1赋值字符常量'@'
            System.out.println(a);                                                   // 输出结果为: m
            System.out.println(b);                                                    // 输出结果为: 明
            System.out.println(c);                                                    // 输出结果为: 9
            System.out.println(d);                                                   // 输出结果为: @
        }
    }

    另外,也可以将字符型变量赋值为0~65535范围内的整数,这些整数可使用十进制、八进制或十六进制来表示。根据变量类型,计算机会自动将这些整数转换为所对应的字符输出。 

     分别为字符型变量ch1赋值十进制数97、字符型变量ch2赋值八进制数0142、字符型变量ch3赋值十六进制数0x63,然后输出。

    public class Test {
        public static void main(String[] args) {
            char ch1 = 97;                                                                // 为字符型变量ch1赋值十进制数97
            char ch2 = 0142;                                                            // 为字符型变量ch2赋值八进制数0142
            char ch3 = 0x63;                                                             // 为字符型变量ch2赋值十六进制数0x63
            System.out.println(ch1);                                                         // 输出结果为: a
            System.out.println(ch2);                                                // 输出结果为: b
            System.out.println(ch3);                                                         // 输出结果为: c
        }
    }

    布尔类型

    布尔型数据只有两个值:true和false,分别代表布尔逻辑中的“真”和“假”,且布尔值不能与整数进行转换,通常布尔型数据在流程控制中作为判断条件。

    定义布尔型变量,可以通过关键字boolean来定义,定义方法如下:

    boolean b1;                                                                                      // 定义boolean型变量b1

    boolean b2;                                                                                     // 定义boolean型变量b2

    布尔型数据只存在true和false数值,所以在为boolean型变量赋值时,除这两个值外的其他任何数值都是非法的

    为布尔型变量married赋值false,为alive赋值true,然后输出。

    public class Test {
        public static void main(String[] args) {
            boolean married = false;
            boolean alive = true;
            System.out.println("已婚:" + married);                     // 输出结果为: false
            System.out.println("生命:" + alive);                          // 输出结果为: true
        }
    }


    这篇如果自己来口述的话,我可能说的不够老师清楚,所要我就可耻的复制粘帖了


    JAVA_SE基础——8.基本数据类型         到这里算是结束了    不会的,或者有问题的,或者有同学想和我交流的,可以加我QQ654249738 或者 留言——ThesCript_j




  • 相关阅读:
    金蝶k3wise 核算项目、辅助资料
    金蝶——“免、抵、退”税操作说明及帐务处理
    阿里云各Linux发行版netcore兼容性评估报告---来自大石头的测试
    金蝶KIS&K3助记码SQL数据库批量刷新
    华为交换机批量加入 Vlan 方法
    华为设备默认console密码
    SQL查询数据并插入新表
    ORACLE删除当前用户下所有的表的方法
    【转】使用Navicat for Oracle新建表空间、用户及权限赋予
    [转]spring mvc注解方式实现向导式跳转页面
  • 原文地址:https://www.cnblogs.com/Jhaiha0/p/8465341.html
Copyright © 2020-2023  润新知