java语言基础之标识符和命名规则详解
作者:落地而死的大鸟 发布时间:2023-04-21 16:50:18
标识符
Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
技巧:凡是自己可以起名字的地方都叫标识符
定义合法标识符规则:
由26个英文字母大小写,0-9 ,_或 $ 组成 数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格
下面是代码说明:(帮助大家理解一下每句话的意思)
class IdentifierTest{
public static void main(String[] args){
system.out.println("这是一个测试类名")
}
}
class Hello1_${
}
/*这是以字母开头的类名,符合命名规范*/
class 1Hello{
}
/*这里以数字开头明显是错误的,不符合命名规范*/
class static{
}
/*这里使用了java关键字开头明显是错误的,不符合命名规范*/
class static1{
}
/*假如这里使用了static1可不可以,当然是可以了,因为它不是关键字了*/
假如写成Static可不可以?思考一下!当然是可以的,因为关键字都是小写的。java语言是严格区分大小写的。
class Static{
}
为什么标识符不能包含空格?
看如下代码:
class abcdefg{
}
class abc defg{
}
第一个明显是正确的,第二个加了空格,那么类名到底叫做abcdefg还是abc或者defg。这里就懂了吧。大家可以尝试编译一下。
最后强调一下,如果不遵守以上的规则,编译不通过,字节码文件生成不了,更不要说运行了。
Java中的名称命名规范(如果不遵守如下的规范,编译可以通过;但是建议大家严格遵守 ,因为代码并不是给自己一个人看,更利于别人看懂和区分,而且是非常美观的)
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单 词开始每个单词首字母大写:xxxYyyZzz
class IdentifierTest{
public static void main(String[] args){
int myNumber = 1001;
System.out.println(myNumber);
}
}
运行结果:
常量名:所有字母都大写。多单词时每个单词用下划线连接: XXX_YYY_ZZZ
注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
class User{
}
注意2:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。
class IdentifierTest{
public static void main(String[] args){
int myNumber = 1002;
System.out.println(myNumber);
int 号码 = 1003;
System.out.println(号码);
}
}
运行结果:
来源:https://blog.csdn.net/qq_45552871/article/details/114225273
猜你喜欢
- IDEA 报错:无效的源发行版问题描述从SVN拉项目代码到本地后用idea运行,发现几个报错,关键的一个是:无效的源发行版,考虑是JDK版本
- 今天介绍一个实用的小知识点,如何将List转为Map<Object, List<Object>>1. 基本写法最开始
- 问题提出:自己在做一个小网站充当练手,但是前端图片经过base64加密后传往后端在解码。但是一直都有问题,请大神赐教 publi
- 扫雷游戏,大家都应该玩过吧!其实规则也很简单,可是我们想自己实现一个扫雷,我们应该怎么做呢?Step1: 知晓游戏原理扫雷就是要把所有非地雷
- 文件上传和下载是web开发中常遇到的问题,这几天在做一个项目又用到了文件下载,之前也零零散散记了些笔记,今天来做一下整理。文件上传还有待进一
- 1 配置文件的方法我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量
- 本文实例讲述了Java泛型的使用限制。分享给大家供大家参考,具体如下:一 什么情况下不能使用泛型1 不能使用泛型的形参创建对象。T o=ne
- Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动
- 一、技术介绍1.chatgpt-java是一个OpenAI的Java版SDK,支持开箱即用。目前以支持官网全部Api。支持最新版本GPT-3
- 简介:Springboot使用Mybatis&Mybatis-plus 两者文件映射配置略有不同,之前我用的是Mybatis,但公司
- Java栈之链式栈存储结构实现一、链栈采用单链表来保存栈中所有元素,这种链式结构的栈称为链栈。二、栈的链式存储结构实现package com
- Flayway是一款数据库版本控制管理工具,,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里;不仅
- 分析代码规范,并从代码角度分析存在的风险,并且支持一键更改。具体操作如下图:简单方便,最主要的是好用!补充:下面看下IntelliJ IDE
- Java语言中反射 * 接口的解释与演示Java在JDK1.3的时候引入了 * 机制、可以运用在框架编程与平台编程时候捕获事件、审核数据
- 一、Flutter代码的启动起点我们在多数的业务场景下,使用的都是FlutterActivity、FlutterFragment。在在背后,
- 当两个线程竞争同一资源时,如果对资源的访问顺序敏感,就称存在竞态条件。导致竞态条件发生的代码区称作临界区。在临界区中使用适当的同步就可以避免
- 如下所示:public static String reThreeStr(String ss){boolean result= ss.mat
- 编写程序,利用continue语句实现循环体过滤器,过滤“老鹰”字符串,并做相应的处理,但是放弃continue语句之后的所有代码。即若遇到
- 有时候我们需要在一个ArrayList的for循环中动态删除元素的需求, 废话不多说看代码List<Integer> list
- Sharding-Proxy是一个分布式数据库中间件,定位为透明化的数据库代理端。作为开发人员可以完全把它当成数据库,而它具体的分片规则在S