目录
标识符
为什么标识符命名时不推荐使用中文或者拼音的呢?
关键字
转义符
数据类型
常量和变量
思考讨论
小结
文章开始前,先问大家一个问题,你觉得什么方式能够让你更快接受、学习一门新的语言?
首先我们知道语言的目的在于让人能够和特定的对象进行交流,向特定对象传达我们想要表达的意思并得到响应,而程序语言的交流对象是计算机,通过它告诉计算机我们想要做什么,它应该怎么做。
博主认为:让一个初学者更快接受一门新的语言的方式就是新语言要有和初学者生活中相贴切的特点,回想我们从小学(初中)就开始学习英语,为什么大部分人还是无法很好掌握和使用英语呢?
很大程度上就是英语有自己全新的一套规则,从语法和词汇都跟汉语不一样,而汉语从出生那一刻就开始伴随着我们,我们在潜移默化中已经习惯了使用汉语的思维方式去了解新的东西,这个思维让我们很难去重新再学习、接纳另一套不同规则的语言(当然,如果有人能够出一个将英语的思维转成汉语的思维,相信会让学习英语的难度有一定程度降低)。
回归正题,如果我们想要学好JAVA语言,那么最好的方式就是找出JAVA语言和汉语之间的关联,使用类比的思想去学习,这样能够最小程度地去更快接纳和学习JAVA语言中的特点。
标识符
在汉语中我们都通过名字来标识自己是谁如张三、李四,在JAVA中也有相类似的该概念,我们把它叫做“标识符”,它的作用就是用来标识类名、变量名、方法名等,跟我们的名字命名一样,它也有一些规则,而不能胡乱定义。
1、标识符只能由数字、JAVA字母、下划线和美元符号组成,长度不受限制(简短能表达语义就行,太长的话不但不好记也不好看)
2、标识符的首字母不能是数字(目的是为了制作编辑器的方便,试想一下,如果允许首字母是数字,那就会出现类似这样的定义:int 123 = 321,这个如何让JAVA虚拟机去解释执行)
3、标识符不能是语言中的关键字(就像我们平常申请商标名称一样,有一些国家需要使用的关键字是不允许申请的,具体的关键字下面介绍)
4、标识符不能是true、false、null
5、标识符是区分大小写的,因此标识符name和标识符Name是两个不同的标识符。
介绍完标识符的命名规范后,我们来实际定义一个标识符吧!比如我想要定义一个人的名称,用标识符表示则可以定义成username,简短且有语言,很不错吧。
既然定义标识符的名称有这么多规则,那么是否有一些在定义标识符好的建议呢?答案是肯定的,我们在定义时有以下的一些建议,但不是强制要求。
1、标识符的名称应该尽量不要太长,能够表达语义,能够表达出这个标识符的作用(如:你想定义性别的含义,标识符就可以写成sex)
2、推荐标识符以小写字母开头,如果名称有多个单词组成时,使用驼峰命名法(即除了第一个单词首字母小写外,其他的单词首字母都大写,看起来像驼峰一样,由此得名,需要注意的是,有一个例外的是在定义类、接口的名称时,推荐首字母大写)
3、不要使用中文或者拼音命名,上面第一点提到JAVA只能由数字、JAVA字母、下划线和美元符号组成,这里的的JAVA字母并不单纯只指英文字母,它的意思是Unicode字符集中包含的字符,其中也包括一些中文汉字,但是命名的时候并不推荐使用中文命名
为什么标识符命名时不推荐使用中文或者拼音的呢?
第一有局限性,编程语言是由国外先普及,很多语言、框架的设计都是使用英文的方式,英语作为全球使用最广泛的语言,有着先天优势,使用中文或者拼音命名需要有汉语基础的人才能够读懂,不利于全球性传播(博主也希望有一定中文语言真的能够流行起来,大家也值得为之努力)。
第二可读性不太高,比如一个变量的属性命名为中文,如果需要定义它的get/set方法就会看起来很奇诡。如字段为private String 姓名;则它的get/set方法public String get姓名/set姓名(…)。
出现乱码的概率更高。因为许多字符集不能完全支持中文,所以使用中文命名在不同的编码方式下会比英文出现乱码的概率更高。
很难统一,因为中文博大精深,一个意思能够使用多种不同的词语来表达,每个人的理解又不一样,这样一份代码中可能相同的东西有多种表达,不利于管理。
关键字
所谓关键字就是在JAVA中已经被赋予特殊含义的一些单词,这些被赋予特殊含义的单词不能在被作为自定义的标识符。 JAVA常见的50个关键词如下(按照字母顺序排序):
abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、default、do、double、else、enum、extends、final、finally、float、for、goto、if、implements、import、instanceof、int、interface、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
转义符
在JAVA中,定义了一种特殊的字符常量,它们被称作转义符。转义符都是以反斜杠()为标志,配合其他的一些字符来表达特殊的含义。 如\n则表示换行、\b表示退格、\r表示回车、\t表示横向跳格(即制表符tab)
数据类型
就如人类在自然界中运输物品是需要借助有容纳空间的外物来实现如箱子、袋子等,JAVA语言作为人类和计算机交流的方式也有相似的概念,在JAVA中这种“外物”也叫数据类型,主要的作用是用来对数据的运算和存储。
在自然界中,我们可以通过经纬度坐标的方式能够精确地得知地球上的任意一个位置,在JAVA中这个"坐标"也叫作变量,它是表示一个数据存储在计算机空间的位置,将数据复制给变量,实际上就是将数据存储到对应对的内存空间,并且可以通过这个变量去访问到这些数据。
我们可以简单地理解一个变量就是一个内存空间,数据就存储在变量对应的空间中,不同的数据需要存储的空间不同(就好比装一头大象可能需要一辆货车、装一条鱼只需要一个袋子),JAVA中使用数据类型来区分不同的数据,用以表示不同数据占用不同的空间。
在JAVA中,数据类型可以区分为两大类即:基本数据类型和引用数据类型。
基本数据类型: 由程序语言在发行时就已经定义好的,值直接存储在内存中,它的空间大小是固定的,不会随着软硬件环境不同而改变。
引用数据类型: 可以是开发者自由定义,也可以是由一个或者多个基本数据组成,它存储的是指向组成这个数据类型的数据地址,故也被称为引用类型。
JAVA中,默认提供了8种基本数据类型即字节型、短整形、整形、长整型、浮点型、双精度浮点型、布尔型、字符型,它们的特点如下:
常量和变量
在实际的程序开发中,我们会根据自己需求去申请实际的空间大小存储我们需要的数据(即定义数据类型),因此,我们需要有一个名称来标识和指向这个申请到的存储地址,这个名称分为常量和变量两种。
常量: 一旦指定了数据值就不能再被修改的标识符。
变量: 指定数值后数据值也可以被修改的标识符。
在JAVA语言中,常量和变量都必须遵循先声明、后使用的原则,所以,在使用前必须指定常量或者变量的数据类型,作用如下:指定数据类型便于系统分配足够的空间大小,指定变量名称方便开发者和系统指向分配好的空间以及标识使用该名称。
常量声明规范:final 数据类型 变量名1,变量名2…(常量声明时必须给定一个固定的值)。
常量声明示例:final int CONST = 100;
变量声明规范:数据类型 变量名1,变量名2…;
常量声明示例:int number,number2;(可以同时声明多个变量,变量名之间用逗号隔开)
注意事项: 在编码的习惯或者约定俗称中,常量名用大小字母表示,多个单词时用下划线连接如:NUMBER_NAME,变量名则遵循驼峰原则即首单词首字母用小写,其他单词首字母用大写入:numberName。
思考讨论
文章结束前,预留一些问题与大家讨论:
你觉得在未来普遍使用中文编程的可能性有多大?它们的优缺点在哪里?为什么中文编程迟迟没有流行起来?
如果真的想推广中文编程,我们需要为此做哪些方面的努力?
小结
文章介绍了JAVA标识符定义的命名规范、JAVA中的数据类型以及如何使用这种数据类型,掌握了这些知识,对日后编码习惯和编码进一步学习都直观重要。
如果文章有帮助,请给作者关注、点赞、收藏、评论,让博主有动力创作更加优质的文章。
跟博主重走JAVA学习之路,探索更多编程语言的谜题。打卡解疑地址: 重学社区
领取重学大礼包福利
300+JAVA经典编程案例
50G+学习视频教程
100+JAVA初阶、中阶、高阶电子书籍
1000+简历模板和汇报PPT模板(转正、年终等)