Java 03 – Java的关键字、标识符、常量和变量

Java 03 – Java的关键字、标识符、常量和变量

1 关键字

关键字是被Java语言赋予了特殊含义的单词, 有这些特点:

(1) 组成关键字的字母全部小写;

(2) 关键字已经被Java内部定义了, 可以直接使用;

(3) 常用的代码编辑器会对关键字作特殊的颜色标记, 非常直观.

  • 关键字举例
功能描述 关键字
定义数据类型 class、interface、byte、short、int、long、float、double、char、boolean、void
定义数据类型的值 true、false、null
定义流程控制 if、else、switch、case、default、break、while、do、for、continue、return
定义访问权限修饰符 private、protected、public
定义类、方法、变量修饰符 abstract、final、static、synchronized
定义类与类之间的关系 extends、implements
定义创建、引用、判断实例 new、this、super、instanceof
异常处理 try、catch、finally、throw、throws
用于包的处理 package、import
其他修饰符关键字 native、strictfp、transient、volatile、assert

2 标识符

Java中, 标识符用来给包、类、方法、变量等起名字.

注意: 这里 “识” 读作 ‘zhí’, 发二声.

2.1 组成规则

由字符、下划线_、美元符$组成.

这里的字符采用的是unicode字符集, 所以包括英文大小写字母(Java中严格区分大小写)、数字字符、中文字符等等字符;

由于编码的问题, 强烈要求: 不要使用汉字字符, 否则可能出现一系列莫名其妙的字符识别问题.

标识符的组成, 不能是:

a. 不能以数字开头;

b. 不能是Java中的关键字.

2.2 命名原则

标识符的命名要做到见名知意, 让代码做到自解释 —— 这是优秀代码的一个前提.

(1) 包名(其实就是文件夹, 用于对类文件进行分类管理):

最好是域名反过来写, 要求所有的字母小写, 多级包用英文状态下的句号 . 隔开.

比如: com.google.map, com.healchow.test ……

(2) 类名或接口名:

如果是一个单词: 首字母要大写;

如果是多个单词: 每个单词首字母大写 —— 这是大驼峰命名法.

比如: Fruit, HelloWorld ……

(3) 变量名或方法名:

如果是一个单词: 全部小写;

如果是多个单词: 从第二个单词首字母大写 —— 这是小驼峰命名法.

比如: age, show(), maxAge, getAge() ……

(4) 常量名:

如果是一个单词: 所有字母大写;

如果是多个单词: 所有的字母都大写, 用下划线连接每个单词.

比如: HOST, MIN_INTEGER, ……

2.3 示例代码

/**
 * 这是关于标识符的测试类
 * 标识符: 就是给包、类、方法、变量起名字的符号
 *
 * @author Heal Chow
 * @date 2019/02/22 23:46
 */
public class Identifier {
    public static void main(String[] args) {
        // 定义变量
        int a = 10;
        // 正确
        int b2 = 20;

        // 下面这个错误: 不能以数字开头
        // int 2b = 30;

        // 下面这个错误: 不能是Java中的关键字
        // int public = 40;
    }
}

3 常量述

在程序执行的过程中, 值不会发生变化的量, 就称为常量.

3.1 常量的分类

常量类型 表现形式
字符串常量 用双引号括起来的内容, 如HelloWorld
整数常量 所有整数, 如 12, -23
小数常量 所有小数, 如 12.34
字符常量 用单引号括起来的内容, 如 'a', 'A', '0', '学'
布尔常量 较为特殊, 只有 truefalse
空常量 只有一个, null

3.2 示例代码

/**
 * 这是关于常量的测试类
 * 常量: 在程序执行的过程中, 值不可以发生改变的量
 *
 * @author Heal Chow
 * @date 2019/02/22 00:48
 */
public class Constant {
    public static void main(String[] args) {
        // 字符串常量
        System.out.println("HelloWorld");
        // 整数常量
        System.out.println(12);
        System.out.println(-23);
        // 小数常量
        System.out.println(12.34);
        // 字符常量
        System.out.println('a');
        System.out.println('0');
        // 布尔常量
        System.out.println(true);
        System.out.println(false);
    }
}

4 变量

与常量相反, 变量时在程序执行的过程中, 在某个范围内它的值会发生变化, 这样的量称为变量, 就是可变的量.

从本质上讲, 变量其实是内存中的一小块区域:

区域要有名称: 变量名;

区域要有限定: 通过数据类型限定区域的大小;

区域内必须有内容: 赋予初始化值.

4.1 变量的定义

(1) 变量定义格式

数据类型 变量名 = 初始化值;

关于数据类型, 请参见下一篇博客. 这里先讲基本数据类型变量的定义方法.

学习初期, 不要纠结于求大求全, 慢慢都会学到的.

(2) 基本数据类型变量的定义方式:

基本数据类型有: byte, short, int, long, float, double, char, boolean

4.2 变量的使用细节

(1) Java中的默认数据类型:

整数默认是 int类型;

定义 long 类型的数据时, 要在数据后面加L, 大小写均可, 但我要求大写, 因为小写字母 l 与数字 1 非常容易混淆, 在这方面完全没必要产生bug隐患;

Java中, 浮点数默认是 double 类型, 定义float类型的数据时, 要在数据后面加F(大小写均可, 仍然推荐大写).

(2) Java中, 变量要先赋值, 再使用:

如果变量没有被赋值, 就不能直接使用.

(3) 变量的作用范围:

变量只在它所属的范围内有效 —— 变量的所属范围, 就是它所在的大括号中的范围.

另外, Java与C相同, 可以在一行定义多个变量, 但是不建议这样写, 因为降低了代码的可读性.

4.2 示例代码

/**
 * 这是关于变量的测试类
 * 变量: 在程序执行的过程中, 在某个范围内值会发生变化的量
 *
 * @author Heal Chow
 * @date 2019/02/22 23:50
 */
public class Variable {
    public static void main(String[] args) {
        // 定义byte类型的变量
        byte b = 10;
        System.out.println(b);

        // 定义short类型的变量
        short s = 100;
        System.out.println(s);

        // 定义int类型的变量, 只要在使用变量之前完成赋值, 即可使用
        int i;
        i = 10000;
        System.out.println(i);

        // 同时定义多个变量, 并为它们赋值
        int ia = 10, ib = 20, ic = 30;

        // 定义long类型的变量
        long l = 1000000000000000L;
        System.out.println(l);

        // 定义float类型的变量
        float f = 12.34F;
        System.out.println(f);

        // 定义double类型的变量
        double d = 12.34;
        System.out.println(d);

        // 定义char类型的变量
        char c = 'a';
        System.out.println(c);

        // 定义boolean类型的变量
        boolean bb = false;
        System.out.println(bb);

        {
            int in = 100;
            System.out.println(in);
        }
        // System.out.println(in); // 这里变量in已经不存在了
    }
}

说明: 示例代码可在 我的GitHub上 查看并下载.

(全文完)

微信公众号
微信关注《马瘦风的南墙》 在移动端阅读文章

(感谢阅读, 转载请注明作者和出处 马瘦风的南墙 , 请勿用于任何商业用途)

——=== 访问 本站404页面 寻找遗失儿童 ===——

发表评论

你的个人信息不会被公开, 注意:标记为 * 的项必填。