你能分清Java的关键字和标识符吗?
文章目录
- Java标识符和关键字
- 概念
- 标识符
- 关键字
- 区别
Java标识符和关键字
概念
标识符
Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。
在 Java 语言中,标识符的构成规则如下:
- 标识符由数字(
0~9
)和字母(A~Z
和a~z
)、美元符号($
)、下划线(_
)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。 - 标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。
另外,因为 Java 区分大小写,因此 myvar
和 MyVar
是两个不同的标识符。
提示:标识符命名时,切记不能以数字开头,也不能使用任何 Java 关键字作为标识符,而且不能赋予标识符任何标准的方法名。
标识符分为两类,分别为关键字和用户自定义标识符。
- 关键字是有特殊含义的标识符,如
true
、false
表示逻辑的真假。 - 用户自定义标识符是由用户按标识符构成规则生成的非保留字的标识符,如 abc 就是一个标识符。
提示:使用标识符时一定要注意,或者使用关键字,或者使用自定义的非关键字标识符。此外,标识符可以包含关键字,但不能与关键字重名。
例如以下合法与不合法标识符。
- 合法标识符:
date
、$2011
、_date
、D_$date
等。 - 不合法的标识符:
123.com
、2com
、for
、if
等。
总结:标识符用来命名常量、变量、类和类的对象等。
关键字
关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。
例如,我们编写的实例 Main.java 中的 class 就是一个关键字,它用来声明一个类,其类名称为 Main。public 也是关键字,它用来表示公共类。另外,static 和 void 也是关键字。
public class Main{public void mm(){}
}
Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。
另外:保留字是为 Java 预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。
保留字有:true、false、null、goto、const。
例如下面是Java当中的关键字:
分类 | 关键字 | ||||||
---|---|---|---|---|---|---|---|
访问控制 | private | protected | public | ||||
类,方法和变量修饰符 | abstract | class | extends | final | implements | interface | native |
new | static | strictfp | synchronized | transient | volatile | enum | |
程序控制 | break | continue | return | do | while | if | else |
for | instanceof | switch | case | default | assert | ||
错误处理 | try | catch | throw | throws | finally | ||
包相关 | import | package | |||||
基本类型 | boolean | byte | char | double | float | int | long |
short | |||||||
变量引用 | super | this | void | ||||
保留字 | goto | const |
虽然 true
, false
, 和 null
看起来像关键字但实际上他们是字面值,同时你也不可以作为标识符来使用,被用做保留字。
另外:
default
这个关键字很特殊,既属于程序控制,也属于类,方法和变量修饰符,还属于访问控制。
- 在程序控制中,当在
switch
中匹配不到任何情况时,可以使用default
来编写默认匹配的情况。- 在类,方法和变量修饰符中,从 JDK8 开始引入了默认方法,可以使用
default
关键字来定义一个方法的默认实现。- 在访问控制中,如果一个方法前没有任何修饰符,则默认会有一个修饰符
default
,但是这个修饰符加上了就会报错。
也可以查看官方文档:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
区别
在我们编写程序的时候,需要大量地为程序、类、变量、方法等取名字,这些就是 标识符 。简单来说, 标识符就是一个名字 。
有一些标识符,Java 语言已经赋予了其特殊的含义,只能用于特定的地方,这些特殊的标识符就是 关键字 。简单来说,关键字是被赋予特殊含义的标识符 。
标识符是我们定义的,关键字是系统为我们定义的。
比如,在我们的日常生活中,如果我们想要开一家店,则要给这个店起一个名字,起的这个“名字”就叫标识符。但是我们店的名字不能叫“烧烤店”,因为“烧烤店”这个名字已经被赋予了特殊的含义,而“烧烤店”就是我们日常生活中的关键字,我们可以起名为“刘波儿烧烤店”。
那么映射到编程语言里就是:
烧烤店 刘波儿烧烤店 = new 烧烤店(店铺、肉、菜、员工......);
刘波儿烧烤店.营业();
刘波儿烧烤店.烤串();
刘波儿烧烤店.收摊();
你能分清Java的关键字和标识符吗?相关推荐
- java中关键字、标识符、常量、变量、数据类型
关键字: JAVA语言中已经定义好的具有特殊含义的单词,被称为关键字,关键字是全小写无特殊字符的纯 英文字母,在编辑器中一般有高亮效果,如public.class.static等. 标识符: 在JAV ...
- java 怎么判别注释符_java学习笔记二(注释、关键字、标识符)
了解一下几个概念:注释.关键字.标识符. 然后记住java主程序的基本结构,再通过编写hello world案例来进一步了解java程序. 1.注释 如果程序中代码太多时,方便我们查看代码,所以就要给 ...
- java关键字和标识符_Java数据类型和标识符
java关键字和标识符 在本教程中,我们将了解Java中的数据类型和标识符. Java语言具有丰富的数据类型实现. 数据类型指定大小和可以存储在标识符中的值的类型. Java数据类型分为两类: 原始数 ...
- java的注释、关键字、标识符、变量常量、数据类型、运算符、流程控制等
java的注释.关键字.标识符.变量常量. 数据类型.运算符.流程控制等 1. java概述 1.1 java的技术体系 Java SE:是Ja ...
- java 标识变量_Java变量与数据类型之一:Java编程规范,关键字与标识符
原标题:Java变量与数据类型之一:Java编程规范,关键字与标识符 大家好,这次要给大家带来的是Java变量与数据类型.本文是第一集:Java编程规范,关键字与标识符. 一.编程规范 任何地方的名字 ...
- java与数据类型相关的十个关键字_乐字节Java变量与数据类型之一:Java编程规范,关键字与标识符...
大家好,这次要给大家带来的是Java变量与数据类型.本文是第一集:Java编程规范,关键字与标识符. 一.编程规范 任何地方的名字都需要见名知意: 代码适当缩进 书写过程成对编程 对代码进行合理注释 ...
- JAVA基础——关键字与保留字——标识符——进制转换
本节学习目录 前言 一.JAVA的关键字和保留字 1.什么是Java关键字? 2.什么是Java保留字? 二.JAVA标识符及命名规则 1.标识符 2.命名规则 三.进制的转换 1.何为进制? (1) ...
- java注释符与注释内容不要有空格_#java课程#初见java--注释,关键字,标识符
java分隔符 这里来说说Java分隔符. 很多人说写程序就像是完成一篇文章.那么一篇好的文章自然少不了标点符号了.Java分隔符就是Java代码里面的分隔符. Java中,具有代码分割作用的符号就是 ...
- Java七:关键字、标识符及命名规范
关键字和标识符 一.关键字 关键字是**特别意义的标识符**,有时又叫保留字,还有特别意义的变量,不可以将关键字用于变量名.方法名.类名.[包名]([(2条消息) Java常用包名及功能_dearcc ...
最新文章
- 判断一个数是否是2的倍数----------面试算法
- double float区别 java,float和double有什么区别?
- Oracle笔记(一) Oracle简介及安装
- Python就业涨薪小技巧!
- 科学计算机又称6,计算机应用基础试题2
- flash视频的param属性解释
- 100个java项目_我如何在100天内建立​​100个项目
- Little_Women6.txt
- python制作查询软件_Python制作快递查询工具
- 用Sample Grabber捕获视频
- 找工作就上智联,效果真快,然而让我去的公司都是泡我呢
- FairMOT多目标跟踪(安装+代码解读)
- 重装系统后,没有wifi---问题已解决
- Qt:QTableView(01) 的用法
- 猜数字小游戏(JAVA)
- 搭建(WSTMart)php电商环境时缺少fileinfo函数
- arcgis 导入 GML文件
- Python基础_Day_01_作业
- php memcached 实例,php memcached mysql开发详细实例
- 通达信最新交易接口系统开发源码有哪些?
热门文章
- 13位数字转日期 oracle_Oracle日期格式转换
- 【docker】An error occurred
- 教教大家wps怎么添加字体
- BUUCTF刷题记录(2)
- 微信小程序商城项目实战(第五篇:购物车)
- Matlab实现图像识别(二)
- 文本框输入位数 html,[求助]请问如何在文本框中限制输入数字的位数(已解决)...
- JAVA(超市购物程序设计)
- 协议举报作品-负面下沉
- jQuery 数组取交集,Array.intersect(arr1,arr2);