一、JavaSE语言基础之关键字与标示符
1、关键字
所谓关键字指Java中被赋予了特殊含义的单词或字符,Java中常见的关键字共53个,不需要进行记忆,在写代码的过程中会逐渐接触。
2、标示符
标示符,简单来说就是名字;其最大的作用就是加以区分不同变量,或者说加以区分不同的成员。
如果说关键字是Java中被赋予了特殊含义的单词或字符,那么标示符就是程序员自己为成员赋予的特殊含义的单词或字符。
程序员自己赋予的特殊含义的单词或字符最终要进行编译,所以在确立标示符时,就要遵守Java语言的规则,这种规则我们称之为命名规则。如果不遵守Java的命名规则,编译器会直接报错。
Java的命名规则必须同时满足以下四点要求:
①必须由数字,字母,下划线,美元符号$四种类型中的一种(除数字)或几种组成;
②不能以数字开头;
③不能是Java中的关键字
④区分大小写;
关于第一点这里要简单说明一下,这里所说的字母并不仅局限在A-Z与a-z;这里的字母包括了在其他语言中表示字母的任何Unicode字符。也就是说如果非要用其他字符做为标识符也是可以的。比如下面的这种写法:
int 变量名;//编译器不会报错
如果想知道那些是Java中承认的字母,可以使用包装类Character中下面的两个方法进行判定
//Character.isJavaIdentifierStart(char ch);确定是否允许将指定字符作为 Java 标识符中的首字符
//Character.isJavaIdentifierPart(char ch);确定指定字符是否可以是 Java 标识符中首字符以外的部分
//上面这两个方法会返回一个布尔值,如果值为true则说明可以使用,如果为false则说明不可以使用,如:
System.out.println(Character.isJavaIdentifierStart('变'));
如果说命名规则是为了让编译器看的懂,那我们还需要一套程序员自己的命名规则让程序员们自己看得懂,我们将程序员自己的命名规则称为命名规范。
不遵守命名规范程序不会报错,但个人建议还是要必须遵守。
Java的命名规范不尽相同,这里只介绍较为广泛的一套规范。这套规范按照类型将标示符分为了三类:
总则:尽量增加可读性,见名知意。
①类标示符:所有单词首字母大写;我们将其称之为大驼峰命名法。
//StudentInformation所有单词首字母大写
class StudentInformation{
}
②包标示符:所有字母小写(域名倒写,以点分隔),这里要注意一点,Java会自动将 . 分割的包名转换成多级目录。
比如我起了这样一个包名:"com.cnblogs"那么他在文件中的路径是这样的:
③成员标示符(变量与方法我们统称为成员):除首单词首字母小写,其后单词首字母大写;我们将这种命名法称之为:小驼峰命名法。
//成员变量:studentName首单词首字母小写,其后所有单词大写
String studentName;
//成员方法:inputStudentFormation首单词首字母小写,其后所有单词大写
private static void inputStudentFormation(){
}
④常量标示符:全部字母大写以_分隔。
//全部字母大写以_分隔
final double PI_VALUE=3.14;
再来举几个小例子:
//Java命名规则之正确命名(仅代表格式正确):
int a;
int A;//Java是严格区分大小写的,所以这里的A和a并不是同一变量
int aA_;
int b;
int b1;
int Cd$;
//Java命名规则之错误命名:
int 2;
int 1a;
一、JavaSE语言基础之关键字与标示符的更多相关文章
- C语言的关键字,标示符以及数据类型
1. 关键字 1> 关键字就是C语言提供的有特殊含义的符号,也叫做“保留字” 2> C语言一共提供了32个关键字,这些关键字都被C语言赋予了特殊含义 auto doub ...
- 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...
- 七、JavaSE语言基础之方法
关于方法的几个简单概念 关于方法的学习,先来明确几个简单的概念: 方法的作用:处理数据(把原始数据通过指定的算法处理后得到结果数据) 方法:在类中定义的具有特定功能的代码块 方法的意义(作用):提高代 ...
- 六、JavaSE语言基础之数组
一维数组(关键字[]) 关于数组的一些概念: 数组是多个基本数据有机组合形成一个复杂数据,是一个引用数据类型数据. 数组:装指定数量元素类型相同的数据的容器. 元素:在数组中,数组中的每个数据称之为数 ...
- 五、JavaSE语言基础之流程控制
流程控制的简单概念 流程控制:指通过关键字控制代码的执行流程; 一.顺序结构:执行顺序从左到右从上到下; 顺序结构无关键字,一般而言大多数代码都是顺序结构; 二.选择结构:根据条件判断是否执行 选择结 ...
- 二、JavaSE语言基础之常量与变量
1.常量 所谓常量值的是数据处理过程中值不能更改的数据. 2.变量 所谓变量值的是运算过程中值可以改变的数据,类似于代数中的未知数. 在Java语言中,使用变量时必须遵循先定义,而后赋值, ...
- 四、JavaSE语言基础之运算符
什么是是运算符 运算符:用于数据运算的符号,运算是一种处理.(注:浮点型数据(float.double)进行运算会出现精度丢失的情况) 运算符大致可分为以下六种: 一.算术运算符:+.-.*./.%. ...
- 三、JavaSE语言基础之数据类型
数据类型的分类 按照数据的复杂程度可分为引用数据类型与基本数据类型 引用数据类型的数据是对象(多值数据/复杂数据),引用数据类型的数据的名字叫做引用/引用名: 基本数据类型的数据是常量值( ...
- 《Java基础知识》Java标示符、保留字和数制
一.Java标识符程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划 ...
随机推荐
- 了解常用数据库MySQL、Oracle、MongoDB
本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net 注:转载文章 什么是数据库 简单的说,数据库(英文 Dtabase)就是一个存放数据的仓库,这个仓库是按照一定的数据结果( ...
- Docker网络,手把手教你如何实现容器网络相关知识
Docker网络 理解Docker0 清空所有环境 测试 三个网络 #问题:docker 是如何处理容器网络访问的? [root@hsStudy /]# docker run -d -P --name ...
- Powershell阻止确认
要阻止弹出确认提示,需要设置-Confirm为false, new-VM -Name $hostname -Template $template -VMHost 10.11.31.5 -OSCusto ...
- Docker的镜像及容器常用操作(2)
一.docker镜像 镜像(docker image) --- Docker 运行容器之前需要本地存在镜像,若本能地不存在,那么 Docker 会找默认镜像仓库( Docker Hub 公共注册服务器 ...
- STM32 SWD下载口无法下载的原因和解决办法
1.SWD的下载口在程序中被禁用,IO口被设置为普通IO口 2.芯片被锁,原因有可能是程序执行了不正确的访问导致芯片被锁 3.供电不正常 4.SWD烧了 解锁原因: 在下载程序的时候有时候会发生错误导 ...
- C++的构造函数为何不能为虚函数
1. 存储空间角度:虚函数对应一个vtable,vtable存储于对象的内存空间 若构造函数是虚的,则需要通过 vtable来调用,若对象还未实例化,即内存空间还没有,无法找到vtable 2. 使用 ...
- Go语言web开发---Cronexpr 包实现并发定时任务
安装Cronexpr包: go get -u github.com/gorhill/cronexpr 这个包支持七位时间控制 *(秒) *(分) *(时) *(日) *(月) *(周) *(年) 栗子 ...
- noip模拟4[随·单·题·大佬]
woc woc woc难斩了人都傻了 害上来先看T1,发现这不就是一个小期望嘛(有啥的)真是!!打算半个小时秒掉 可是吧,读着读着题面,发现这题面有大问题,后来去找老师,还是我nb给题挑错, ...
- CVPR2020论文解读:OCR场景文本识别
CVPR2020论文解读:OCR场景文本识别 ABCNet: Real-time Scene Text Spotting with Adaptive Bezier-Curve Network∗ 论文 ...
- 硬件delay评估表
硬件delay评估表 硬件延时评估表用于快速评估一个模型在特定硬件环境和推理引擎上的推理速度. Bw 主要用于定义PaddleSlim支持的硬件延时评估表的格式. 概述 硬件延时评估表中存放着所有可能 ...