zoukankan      html  css  js  c++  java
  • Java变量(标识符;数据类型;变量分类)

     
     
     

    Java变量

    一、变量的命名

    ——标识符

    • 标识符由数字、字母、下划线_、美元符$组成,但不能以数字开头。
    • 标识符对字母大小写敏感。
    • 标识符无长度限制。
    • 不能以关键字作为标识符。
    /* 合法的标识符: */
    int amount = 17;
    int $apple = 8;
    int _index = 3;
    int 身高 = 180;
    /* 不合法的标识符: */
    int float = 3.14;  // 不能使用关键字
    int #Index = 2;    // 不能使用#
    int 3a = 9;        // 不能以数字开头

    二、变量的分类

    ——局部变量、成员变量、静态变量

    (一)局部变量:在方法内或语句块中定义,生命周期从声明处开始到方法或语句块结束处。

    ★ 使用局部变量前必须先声明和初始化。

    public class TestVarible {
        public static void main(String args[]) {
            {
                int age;    // age是局部变量,只属于本语句块
                System.out.printf("age = %d", age); // 编译出错, age没有初始化
            }
            age = 18;       // 编译出错, age没定义
        }
    }

    (二)成员变量:在方法外部、类的内部定义的变量,生命周期伴随对象始终。

    ★ 声明成员变量时会自动初始化,默认初始值见下表:

    默认初始值
    数据类型 初始值
    int 0
    char 'u0000'
    double 0.0
    boolean false
    public class TestVarible {
        int testValue;  // 成员变量, 初始值为0
    }

    (三)静态变量:使用static定义的变量,生命周期伴随类始终。

    ★ 声明静态变量时会自动初始化,默认初始值与成员变量相同。

    public class TestVarible {
        static double score;    // 静态变量, score属于类, 初始值为0.0
        boolean flag;           // 成员变量, flag属于对象, 初始值为false
        public static void main(String args[]) {
            {
                int age;        // 局部变量, age只属于本语句块
                age = 17;
            }
            int fighting = 88;  // 局部变量,fighting属于方法
        }
    }

    三、变量、常变量

    ——声明、初始化

    ★ 常变量与变量的唯一区别是:常变量初始化后不可再改变。

    数据类型  变量名;           // 变量声明
    final 数据类型  变量名;     // 常变量声明
    变量名 = 值;               // 变量初始化

    ★ 初始化变量时,整数默认为int类型,浮点数默认为double类型。

    四、变量的数据类型

        ——基本数据类型、引用类型

    变量的数据类型

    五、基本数据类型

    ——boolean、byte、short、char、int、long、float、double

    ★ 低范围变量可赋值给高范围变量,超出范围时需加转换!

    (一)整型:byte、short、int、long

    1. 基本信息

    数据类型 占用内存 表示范围 定义
    byte 1字节 -128~127 -
    short 2字节 -32768~32767 -
    int 4字节 约21亿 -
    long 8字节 约9.22E18 在末尾增加'L'或'l'

    2. 表示形式

    • 10进制:-
    • 16进制:以0x或0X开头
    •   8进制:以0开头
    •   2进制:以0b或0B开头
    public class TestVarible {
        public static void main(String args[]) {
            /* 正确的声明和初始化 */
            int a = 320000;
            int b = '对';
            long c = a;
            long d = 3200000000L;  // 数值超出21亿, 需要增加转换:在末尾加上"L"或"l"
    
            /* 非法的初始化 */
            byte e = 128;           // 超出范围
            unsigned int f = 200;   // 不存在unsigned
        }
    }

     

    (二)浮点型:float、double

    1. 基本信息

    数据类型 占用内存 表示范围 定义
    float 4字节 -3.403E38~3.403E38 在末尾增加'F'或'f'
    double 8字节 -1.798E308~1.798E308 在末尾增加'D'或'd'

    2. 表示形式

    • 10进制:-
    • 科学计数法:aEb或aeb (a为实数,b为整数)
    public class TestVarible {
        public static void main(String args[]) {
            /* 正确的声明和初始化 */
            float a = 3.14F;
            float b = (int)6.89;
            float c = 0x0123;           // 0x0123=291, 在21亿范围内
    
            /* 非法的初始化 */
            float d = 1e4;              // 编译错误, 1e4为double型
            float e = 3.03d;            // 编译错误, 3.03d为double型
    
            /* float型与double型最好不要进行比较 */
            float m = 0.1f;
            double n = 0.1;
            System.out.println(m==n);   // 输出为false
        }
    }

     

    (三)字符型:char

    1. 基本信息

    char类型占2字节,使用Unicode编码形式,其表示范围是0~65535。

    2. 表示形式

    • 字符常量:'x'
    • 16进制:'uxxxx' (x在0~f范围内)
    • 转义字符:'x' (x有不同含义)
    public class TestVarible {
        public static void main(String args[]) {
            /* 正确的声明和初始化 */
            char a = '步';
            char b = 24179;
            char c = 'u51e1';
            System.out.printf("%c%c%c", a, b, c);
    
            /* 非法的初始化 */
            char d = 'uabcg';  // g超出0~f范围
            int e = 'a';
            char f = e;         // e为int型, 高于char类型
        }
    }

    (四)布尔型:boolean

    boolean类型占1位(1bit),只有true和false两个值。

     【参考资料】:

    变量的数据类型图片:速学堂

  • 相关阅读:
    Android Studio快速导入项目
    梦断代码阅读笔记01
    Python词云生成
    Python 数据处理
    Android studio 自定义Dialog
    Android studio Activity的跳转和数据传递
    Android studio Handler消息处理2
    2.9 react组件中使用key作为prop属性命名报错
    2.3 上下margin值合并
    2.2 快速认识虚拟dom
  • 原文地址:https://www.cnblogs.com/bpf-1024/p/12481911.html
Copyright © 2011-2022 走看看