一、命名规则

  • 变量命名只能使用字母 、数字、 $、 _
  • 变量第一个字符 只能使用: 字母、 $、 _
  • 变量第一个字符 不能使用数字
  • 注:_ 是下划线,不是-减号或者—— 破折号

int a= 5;

int a_12= 5;

int $a43= 5;

int a434= 5;

//第一个字符是数字,是不符合规则的

int 34a= 5;

二、使用完整的单词命名,而非使用缩写

在命名的时候,尽量使用完整的单词进行命名,比如name,moveSpeed,而不是使用缩写 n,m。

对比:

完整单词命名

缩写 ×

public class Hero {

//使用完整单词命名,易于理解

String name;

float hp;

float armor;

int moveSpeed;

}

public class Hero {

//使用缩写,不易理解

String n;

float h;

float a;

int m;

}

三、不能只使用关键字,但是可以包含关键字。

  • 什么是关键字?
    • 比如int, short, class 这些单词已经被java 赋予了特殊的含义,这些就是关键字。不能
    • 直接用来作为变量名
    • 比如class
      • int class = 5;
      • class 是关键字
  • 但是可以包含数字
    • 比如
    • int class5 = 5;

public class HelloWorld {

public static
void main(String[] args) {

int class5 = 5;

}

}

四、关键字列表1

五、关键字列表2

六、变量可以用中文来命名

中文也是可以用来命名变量的

但是在实际的开发工作中:别这么干

public class
余秋雨{

public
void
耍流氓(){

System.out.println("最怕流氓有权有文化");

}

public static
void main(String[] args) {

余秋雨
新雨对象 = new
余秋雨();

新雨对象.耍流氓();

}

}

七、练习与答案

题目:

思考如下变量命名是否合法,如果不合法,为什么?

1. int a_;

2. int a@;

3. int a3;

4. int 8@;

5. int 9_;

6. int X$_;

7. int y;

8. int _$_;

9. int $_$;

10. int $*$;

11. int $1$;

12. int _1_;

13. int _@_;

14. int a#;

15. int a";

16. int 123a";

17. int 123a_;

18. int $123b_;

官方答案:

public class HelloWorld {

1. int a_;

2. int a@; //@不能使用

3. int a3;

4. int 8@; //@不能使用,数字不能是第一个字符

5. int 9_; //数字不能使是第一个字符

6. int X$_;

7. int y;

8. int _$_;

9. int $_$;

10. int $*$; //*不能使用

11. int $1$;

12. int _1_;

13. int _@_; //@不能使用

14. int a#; //#不能使用

15. int a"; //"不能使用

16. int 123a"; //数字不能是第一个字符,"不能使用

17. int 123a_; //数字不能是第一个字符

18. int $123b_;

}

Java知识系统回顾整理01基础03变量05变量命名规则的更多相关文章

  1. Java知识系统回顾整理01基础03变量03字面值

    一.字面值定义 创建一个Hero对象会用到new关键字,但是给一个基本类型变量赋值却不是用new. 因为基本类型是Java语言里的一种内置的特殊数据类型,并不是某个类的对象.  给基本类型的变量赋值的 ...

  2. Java知识系统回顾整理01基础03变量02基本变量类型

    一.变量类型分类 一个变量的类型,决定了该变量可以包含什么样的值. Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字. 这八种基本类型分别是:  整型 (4种) 字符型 (1种) ...

  3. Java知识系统回顾整理01基础03变量07final关键字

    一.final赋值 final 修饰一个变量,有很多种说法,比如不能改变等等 准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会 二.在声明的时候赋值 i已经被赋值为5,所以这里 ...

  4. Java知识系统回顾整理01基础03变量06变量的作用域

    一.变量根据所处的位置对应不同的名称 变量处于不同的位置,有不同的名称 名称分别是  字段,属性 参数 局部变量 不同名称的变量,其作用域是不一样的 二.字段,属性,Field 当一个变量被声明在类下 ...

  5. Java知识系统回顾整理01基础03变量04类型转换

    一.不同类型之间的数据可以互相转换,但是要满足一定的规则 二.数据类型转换规则 转换规则如图所示  精度高的数据类型就像容量大的杯子,可以放更大的数据 精度低的数据类型就像容量小的杯子,只能放更小的数 ...

  6. Java知识系统回顾整理01基础03变量01变量定义

    定义: 变量:用来命名一个数据的标识符 一.什么是变量? 用具体实例定义变量 变量的定义是: 用来命名一个数据的标识符 1949 这是一个数字,代表某年 如果要命名这个数字,在java里就会写成: i ...

  7. Java知识系统回顾整理01基础03变量09块

    一.定义 块:从{ 开始 到对应的} 结束,即一个块 public class HelloWorld { //类对应的块 public static void main(String[] args) ...

  8. Java知识系统回顾整理01基础03变量08表达式

    一.以 ; 结尾的一段代码,即为一个表达式 表达式是由变量.操作符以及方法调用所构成的结构.如下所示: int i = 5; System.out.println(5); 都是表达式 public c ...

  9. Java知识系统回顾整理01基础04操作符05赋值操作符

    一.赋值操作 赋值操作的操作顺序是从右到左 int i = 5+5; 首先进行5+5的运算,得到结果10,然后把10这个值,赋给i public class HelloWorld { public s ...

随机推荐

  1. Elasticsearch7.6 集群部署、集群认证及使用、数据备份

    window 环境部署集群 注意:window下载解压elasticsearch一定需要解压多次.例如搭建的3节点的,需要解压3次,防止生成 cluster UUID 一致导致只能看到一个节点 1.e ...

  2. 是时候扔掉 Postman 了,Apifox 不香吗!

    偶然间发现这款测试工具Apifox,暂时还没有想好该把它叫接口测试工具还是辅助开发工具.但是,给我感觉,就是很好用,而且后面还有很多开发的功能是我很期待的. 根据官方给出的简单描述,它能做的事就是: ...

  3. Android开发之最火的开源框架之一Xutils2详解(摘自开源作者官方介绍详解)

    此框架说实话还是挺不错的,挺好用的,功能多,所以我也用过. 由于CSDN博客写的字数有限制,所以全文的用法打包成了markdown 文件,因为markdown真的太还用了. 全文下载地址为: http ...

  4. Pytest-allure 生成美观好看的测试报告

    在我们使用pytest-allure生成测试报告时,需要分为以下几步来执行 1.pytest TestCal.py --alluredir=/tmp/my_allure_results[这一步,是设置 ...

  5. War3模型导出

    Wiki https://en.wikipedia.org/wiki/.MDX 教程 http://www.ou99.com/article-25996-1.html http://blog.csdn ...

  6. HDU-Tick and Tick

    The three hands of the clock are rotating every second and meeting each other many times everyday. F ...

  7. 模拟CMOS集成电路-单级放大器增益直观理解

    我们再看辅助定理: 这里,Gm是指输出与地短接时的跨导:Rout表示当输入电压为零时的输出电阻.这个是书上的原话,但是在推算公式时发现,这两个量的定义还不是完全完整,我 的理解是: 首先Gm是等效跨导 ...

  8. 给EmpMapper开放Restful接口

    本文例程下载:https://files.cnblogs.com/files/xiandedanteng/gatling20200428-3.zip 接口控制器代码如下: 请求url和响应都写在了每个 ...

  9. java实现内网通信

    package newTest; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; ...

  10. 2018.12.08【NOIP提高组】模拟B组总结(未完成)

    2018.12.08[NOIP提高组]模拟B组总结 diyiti 保留道路 进化序列 B diyiti Description 给定n 根直的木棍,要从中选出6 根木棍,满足:能用这6 根木棍拼出一个 ...