共计 10656 个字符,预计需要花费 27 分钟才能阅读完成。
课程导学
你好,欢送回来,我是彭彭!HAKUNA MATATA!!!
在咱们承受启蒙教育的时候,咱们学习意识身边的事物,比方桌子、椅子、米饭、碗 …… 到了学校,老师教咱们意识文字、数数以及四则运算。当初,我带你穿梭回那个充斥好奇和求知欲的时代,再做一回小学生,从新复习咱们对这个世界最后的意识。
从这节课开始,正式进入 Java 语言的外围语法局部。这节课为你介绍如何应用 Java 语言形容生存中的数据、符号,下节课介绍如何进行数据运算。这是对 Java 语言最根本的应用,通过本节课的学习,我将带你初步体验现实生活与编程语言是如何分割在一起的。
通过本节课程,你将学到如下内容:
- 生存中有哪些数据,它们有哪些分类?
- 怎么应用 Java 语言形容生存中的数据?
要想顺利学会本课的常识,你须要具备这种程度的常识储备:小学学历。我猜你必定领有这么“高”的学历,心愿我猜的没错 ^_^。
以下是课程目录:
- 第一关 变量:看我七十二变
- 第二关 数据类型:如来的手掌心
- 第三关 常量:永恒的力量
- 第四关 标识符:有名,万物之母
第一关 变量:看我七十二变
生存中有大量的数据,比方水果的色彩:蓝色(蓝莓),红色(红提),绿色(青苹果);比方性别:男、女;比方光在真空中的速度:3 * 10 ^8 米 / 秒;比方自然数:1、2、10、20;还有圆周率 π:3.1415926…
数据的品种各不相同,有的是数值,有的是文字,但它们都能代表某种信息。如果咱们想要用 Java 语言形容这些数据,该怎么做呢?思考一下,咱们要形容分明一个数据,须要弄明确哪些因素?就拿水果的色彩来说:
- 要形容什么数据:色彩(color)
- 数据的值是什么:可能是蓝色、红色、绿色等等
- 数据是什么类型(数据的表现形式)的:一串文字(String)
在咱们编写代码时,除了数据的值,其它状况下,个别 尽可能防止 应用中文,所以,咱们用英文
color
示意色彩,用String
示意一串文字。
当初,弄清楚了这三要素,咱们就能够应用 Java 语言来形容水果的色彩了:
public class Test{public static void main(String[] args) {
String color = "蓝色"; // 蓝莓的色彩
System.out.println(color); // 应用输入语句,打印出蓝色
}
}
输入后果:
蓝色
快来在线编译器运行一下看看成果吧!
下面的代码实现了一个 变量的申明,也就是创立了一个变量。接下来,咱们深刻的认识一下这行代码:
String color = "蓝色"; // 蓝莓的色彩
- color:要形容的数据的名称,称为
变量名
。个别用一个或多个英文单词示意,最好是让人一看就晓得它示意的数据的含意。 - 蓝色:要形容的数据的值,称为
变量值
或初始化值
。如果变量值是一串文字,须要用双引号(””)将值包起来。 - String:要形容的数据的表现形式,称为
数据类型
。示意一串文字或一句话时,用这个类型。 - = 号:赋值符号(本节第二局部介绍),示意前面是具体的数据值。
- 这行代码被称为一条语句,每个语句都应该以分号(;)完结。
那么,为什么叫“变量”?
顾名思义,就是 可能会发生变化的数据 。从这行代码上看,color
代表水果的色彩,当初的取值是“蓝色”,难道所有的水果都是蓝色的吗?它也有可能是红色、绿色、黄色等等,也就是说, 水果的色彩是一个有可能会发生变化的数据 ,所以,“水果的色彩”这个数据,是一个 变量。
照这么说,人们的性别也是一个变量,只管它的变动范畴很小:
String sex = "男"; // 人们的性别,可能是男、女。还有其它可能?
当初,我心里有一个数字,你猜猜看。。。。可能是 1,可能是 10,也可能是 0、7、100、999…. 可能是任意数字,无论你猜什么,我都会说:不对(嘿嘿 …)。
怎么定义一个数字变量呢?
还是老规矩,剖析一下三要素:
- 变量名:number,示意要猜的数字
- 变量值:10?20?算了,轻易给一个吧。
- 数据类型:还用 String 吗?不适合,因为 String 示意一串文字,而不是数字。数字用
int
示意。
好吧,咱们试着定义这个变量:
public class Test{public static void main(String[] args) {
int number = 10; // 猜数字,猜到了 10,你也能够写 20,5,7,,,System.out.println(number); // 应用输入语句,打印出数字 10
}
}
输入:
10
这里有个值得注意的细节:数字 10 并没有用双引号包起来。没错,只有文字数据须要双引号,数字数据不须要。
既然变量的值能够产生扭转,那就让它变幻无穷吧(残缺代码):
public class Test{public static void main(String[] args) {
String color = "蓝色"; // 蓝莓的色彩
String sex = "男"; // 人们的性别,可能是男、女。还有其它可能?int number = 10; // 猜数字,猜到了 10,你也能够写 20,5,7,,,System.out.println(color); // 应用输入语句,打印蓝莓的色彩
System.out.println(sex); // 应用输入语句,打印出人们的性别
System.out.println(number); // 应用输入语句,打印出数字 10
System.out.println("----- 我是富丽的分割线 -----");
// 这里要留神,后面不须要加上数据类型了,程序是可能辨认曾经定义过的变量的类型的
color = "红色"; // 把 color 批改成红色
number = 20; // 把 number 批改成 20
sex = "女"; // 把 sex 批改成女
System.out.println(color); // 应用输入语句,打印苹果的色彩
System.out.println(sex); // 应用输入语句,打印出人们的性别
System.out.println(number); // 应用输入语句,打印出数字 20
}
}
输入后果:
蓝色
男
10
----- 我是富丽的分割线 -----
红色
女
20
这里要留神,从新批改变量的值,变量后面不须要数据类型了,只有定义一个变量才须要,应用的时候,程序可能辨认它是什么类型哦!
当初,咱们来对变量这个常识做个小结。
首先,定义变量是须要遵循肯定的格局的:
数据类型 变量名 = 初始化值;
其次,各局部的含意是什么?
- 数据类型:数据的表现形式(数据是什么样的),也是变量的值能够变动的范畴,就像悟空的七十二般变动,除此之外的变动,悟空不能变。
- 变量名:每个变量都有一个名字,就像孙悟空无论变成什么,他都是孙悟空。
- 初始化值:即变量值,应用变量前,须要给变量赋予一个值,而后能力应用。悟空的初始名字:美猴王。
最初,在应用变量的时候,能够间接用它的名字进行输入,也能够用它的名字进行运算——稍后介绍,总之,是间接通过变量的名字来应用它,而不是它的具体值,程序运行的时候,依据变量的名字去找到它的值,而后再输入,或者进行其它运算。
考一考:定义变量
查看下图,假如三个图标别离代表的内容是:
- 商品的价格:可能的取值有:5 元,6 元,4 元
- 钟表的工夫:5 点
- 程序员生涯的职位:可能的取值有:开发工程师,开发经理,项目经理,CTO
请别离定义变量形容图标所代表的数据,并用输入语句打印进去。
参考答案:
public class Test{public static void main(String[] args) {
int price = 6; // 商品的价格
System.out.println(price);
int time = 5; // 钟表的工夫
System.out.println(time);
String position = "CTO"; // 程序员的职位
System.out.println(position);
}
}
输入后果:
6
5
CTO
第二关 数据类型:如来的手掌心
就像猴子飞不出如来佛的手掌心,变量的取值范畴也是无限的。数据类型不仅仅是数据的表现形式,也限定了变量值的变动范畴。这就好比,当我问你“苹果的价格多少钱一斤?”的时候,你能够答复一个数字,然而不能说“苹果很甜”这样的答案——这不合乎逻辑,也不合乎人们的常识。所以,苹果的价格就被限定在了“必须是一个数值”这样的范畴里:
int price = 6; // 苹果的价格,是 6 元钱 / 斤
它必须是数值,而不能是“色彩”、“大小”之类的数据。
眼尖的你可能曾经发现,苹果的价格不肯定是整数。而事实上,很多商品的价格都不是整数——尤其是商家促销的时候。那么,怎么示意一个浮点数类型的价格呢?Java 语言用 double
和 float
示意浮点数,就像这样:
double price1 = 5.5; // 苹果的价格,是 5.5 元 / 斤
或者这样:
float price2 = 2.75; // 苹果的价格,是 2.75 元 / 斤
float
就是浮点数的意思,而 double
是双倍的意思,它们有什么分割吗?是的,double
代表“双精度浮点数”,它能示意的精度是 float
类型的两倍。你要是感觉用两种数据类型示意浮点数有些冗余,那看看示意整数的类型有几种:
byte // 字节型,占 1 个字节,只能示意 -2^7 ~ 2^7 - 1(即 -128 ~ 127)之间的数据
short // 短整型,占 2 个字节,示意 -2^15 ~ 2^15 - 1 之间的数据
int // 整型,占 4 个字节,示意 -2^31 ~ 2^31 - 1 之间的数据,大略是正负 21 亿之间
long // 长整型,占 8 个字节,示意 -2^63 ~ 2^63 - 1 之间的数据
下面这四种类型都示意整数,他们惟一的区别就是:示意范畴不同。自上而下的程序就是它们所能示意范畴从小到大的程序。
long
和int
都示意整型,而 long
类型的“长”,指的是它能示意比 int
更大的范畴。long
类型占 8 个字节而int
类型在内存中占用 4 个字节的空间,所以 long
类型能比 int
存储更大的数值;相同,short
和 byte
类型占用的字节更少,它们可能示意的数值范畴更小。float
类型和 double
类型同理。
当咱们提到一个整数时,通常咱们会认为它是一个 int
类型,所以,int
类型是整数类型的默认类型;同样的,当咱们提到一个浮点数时,通常咱们会认为是 double
类型,double
类型是浮点数类型的默认类型。
你认为这就完了?年老!
Java 语言外面除了有示意“一串文字”的字符串类型:String
,还有示意单个字符的数据类型:char
:
char ch = '中';
// 或者,像这样:char ch2 = 'A';
char
类型示意单个字符,你能够这么了解,它示意世界上简直所有国家和地区的文字、数字和符号。比方中文的所有汉字、英文的 26 个字母、0- 9 的数字、还能够示意罗马数字、俄罗斯语中的字母等等。
除此之外,当咱们须要判断事实为真、假的时候,还须要一个可能示意逻辑的数据类型:boolean
。这个类型比拟非凡,它只有两个值,示意真和假:true
和 false
:
boolean isTrue = true; // 示意真
// 或者,像这样:boolean isFalse = false; // 示意假
到此为止,Java 语言中的八种根本数据类型曾经全副揭开神秘面纱:
“为什么会产生这么多的数据类型,同一类的数据类型能不能只有一个?”
“额额额,这件事说来话长 ……”
“那你长话短说。”
“简略来说,设计多种数据类型的目标是为了更充沛的利用内存空间,进步内存应用的效率。最后的计算机内存空间都十分小,应用范畴较小的数据类型能够节约存储资源,而当初基本上曾经不存在这样的问题,所以,那些范畴较小的数据类型就不再罕用了。”
所以,这八种类型的应用并不要求你全副把握(如果你真的感兴趣,能够记住它们在内存中所占用的字节数,找到法则更好记哦),有些类型切实是不罕用,那么,把最罕用的类型拿进去:
int // 整型
long // 长整型
double // 双精度浮点型
boolean // 布尔型
“刚开始应用的字符串类型 String
为什么不在这八种类型之中?”
“String
是援用数据类型,并不在这八种根本类型之中。你能够把援用类型了解成由多个根本类型组合在一起的简单数据类型,援用类型数据是程序的重要组成部分,到【面向对象】相干的课程再为你介绍他们到底有什么不同。”
当初,对 Java 语言中的数据类型做个小结。
Java 语言中的数据类型,分为两大类:根本数据类型、援用数据类型。
根本类型又分为四类,共八种:
- 整数型四种:
byte
、short
、int
、long
- 浮点型两种:
float
、double
- 字符型一种:
char
- 布尔型一种:
boolean
整型的默认类型是:int
;浮点型的默认类型是 double
;
援用类型包含:类、接口、枚举等类型,咱们后面应用过的 String
类型,就是一个一般的类。
考一考:不同类型的变量定义和应用
请依据上面数据类型与值的对应关系,别离定义不同的变量,并输入它们的值:
long(18)、double(3.14)、boolean(false)、char(@)
答案:
public class Test{public static void main(String[] args) {
long age = 18; // 永远的 18 岁
System.out.println(age);
double pai = 3.14; // 圆周率
System.out.println(pai);
boolean nan = false; // 性别男,喜好?System.out.println(nan);
char email = '@'; // email 的特殊符号
System.out.println(email);
}
}
输入后果:
18
3.14
false
@
第三关 常量:永恒的力量
除了变量之外,生存中还有一些不会发生变化的数据,咱们称为常量。常量,顾名思义,就是不变的量,也就是不会变动的数据。比方光在真空中的速度是一个常量:3 * 10 ^8 m/s,圆周率也是一个常量:3.1415926…。咱们能够间接把它们的值进行输入:
public class Test{public static void main(String[] args) {System.out.println(300_000_000); // 输入光在真空中的速度。JDK7 当前,能够在数值之间加下划线,便于察看,但不影响数据自身
System.out.println(3.1415926); // 输入圆周率,是一个有限不循环小数,无奈穷举
}
}
打印后果:
300000000
3.1415926
绝对于变量而言,常量不须要定义就能够间接应用。然而,如果把这两个常量作为变量的值,而后间接输入变量,会产生什么?
public class Test{public static void main(String[] args) {
int speed = 300_000_000; // 整型,默认应用 int
double pai = 3.1415926; // 浮点类型,默认应用 double
System.out.println(speed); // 输入光在真空中的速度
System.out.println(pai); // 输入圆周率
}
}
打印后果没有任何变动:
300000000
3.1415926
咦,这不就是定义变量的形式吗?!
没错。下面的代码确实是定义了两个变量,但它们的值,都是常量。也就是说,定义变量的过程,其实是把常量赋值给某一个变量名 。换句话说,咱们后面定义的变量,它们的值都是常量,而这些常量数据,咱们称为 字面值常量(字面值:文字外表的值)。像色彩(黄色、红色、绿色)、性别(男、女)、自然数(1,2,10,20)等等,它们都是字面值常量。之所以这么说,是因为这些数据都是人们约定俗成的、不会再更改的。持续引申,所有的色彩、数值、文字等,包含咱们当初口中说的话,都是字面值常量。
既然简直所有数据自身都是 ” 常量 ”,那“变量”与常量之间又有什么关系?
变量是某一范畴(常量)数据的形象形容。
这句话有以下几层含意:
- 一个变量定义之初,就确定了它的值可能发生变化的范畴,而该范畴中每一个取值,其实都是常量;
- 常量是生存中具体存在的数据,而变量是对这些数据的形象形容;
- 变量与常量的关系,是形象形容与具体存在之间的蕴含关系;
还是以商品价格为例:
double price = 5.5; // 苹果的价格是 5.5 元 / 斤
- 变量
price
的取值是一个浮点型常量 5.5,它的取值范畴必须是数值,精确地说是double
类型反对的数值范畴; - 这里的 5.5 是具体存在的常量数据,而
price
(价格)是对这个数据的一种形容; - 这里的
price
(价格)可能会发生变化,所以它能够蕴含很多个常量数据,比方 6.5,4.0,3 等等;
下面介绍的常量,都是字面值常量。当这些数据不足以提供简单利用的需要时,程序员能够自定义一些常量来应用。在 Java 语言中,应用 final
关键字来自定义常量,也就是说,应用 final
关键字将原来能够变动的数据,润饰成不可变的,就像这样:
// 用 final 润饰变量,则扭转量被称为自定义常量,此时“变量”LIGHT_SPEED 将不能被从新赋值
final double LIGHT_SPEED = 299792458; // 光速,单位 m /s
这行代码的意思是,应用关键字 final
润饰变量 LIGHT_SPEED
,那么它不再是可变的,而是作为 自定义常量 而存在。这就意味着,LIGHT_SPEED
的含意是确定的,只能是 299792458
,不可能是其它值。此时,再尝试批改 LIGHT_SPEED
的值,将会报错:
错误信息的意思是:无奈为 final
变量 LIGHT_SPEED
调配值,即 LIGHT_SPEED
不能再一次被赋值。
这就是自定义常量。与字面值常量相比,程序员本人定义的常量,往往比字面值常量简单。尽管如此,它们都是“常量”,因为它们都有独特的特色:不变,即不会被人为批改。你可能会说,我间接应用数据 299792458
就行了,何必定义 LIGHT_SPEED
这么麻烦呢?事实上,当咱们只看到 299792458
这个数据的时候,能直观地了解它的含意吗,毋庸置疑,看到 LIGHT_SPEED
这样的数据更直观,而且,在当前保护代码的时候,也会更不便。
对常量这个知识点做个小结。
Java 中的常量分成两大类:字面值常量和自定义常量。自定义常量取决于程序员的需要,品种繁多而且简单(自定义援用类型常量要比其它品种常量简单很多,面向对象相干课程介绍)但总归来说就是,应用 final
关键字润饰变量,让变量的值无奈被批改。而字面值常量绝对简略些,只有 6 种状况:
- 整数常量:比方 1,2,10,20,-1
- 小数(浮点数)常量:比方 3.14,0.618
- 布尔常量:示意
真
或假
,只有两个:true,false - 字符常量:示意单个字符,用单引号包起来,比方 ‘a’,’b’,’c’,’ 中 ’,’ 国 ’,’@’,‘-‘
- 字符串常量:示意多个字符,用双引号包起来,比方 “Hello world”,“ 你好 ”,“ 北京欢送你 ”
- 空常量:示意数据为空,只有一个值:null,它是援用类型数据的默认值。
常量相干的常识偏重于了解,所以,对你的要求很简略:
- 了解常量的概念和分类
- 可能辨别常见的字面值常量
对于字符串常量(选学)
简略介绍下字符串为什么是常量,如果你无奈了解这里的常识,倡议学完“常用工具(API)”课程,再回过来看这段文字就非常容易了。
字符串数据在 JVM 中以常量的模式存在,每个字符串都是举世无双的(Java 文档中将 String 类对象称为“不可变字符串”)。String 类没有提供用于批改字符串的办法,事实上,也无奈批改字符串数据。比方,如果心愿将 "Hello"
的内容批改为 "Help!"
,不能间接地将最初两个地位的字符批改为 ‘p’ 和 ‘!’,那怎么呢?在 Java 中实现这项操作非常容易,首先提取须要的字符,而后再拼接上替换的字符串:
"Hello".substring(0, 3) + "p!" // 失去的后果为 Help!
substring()
用于截取一个子字符串。下面代码的意思是,从字符串 "Hello"
中截取一个子串,这个子串是从原字符串索引 0 的地位开始,截取 3 个字符,后果就是 "Hel"
,而后再用字符串连接符(+)与 "p!"
进行拼接,最终后果就是 "Help!"
。
就像数字 3 永远是数字 3 —样,字符串“Hello”永远蕴含字符 H、e、1、1 和 o 的代码单元序列,而不能批改其中的任何一个字符。咱们对字符串进行批改的操作,其本质是生成一个新的字符串 "Help!"
,让使用者援用这个新字符串,这 看起来 就像能够将寄存 3 的数值改成寄存 4 一样。
参考残缺代码:
public class Test{public static void main(String[] args) {
String greeting = "Hello";
greeting = "Hello".substring(0, 3) + "p!";
System.out.println(greeting); // Help!
}
}
参考操作示意图:
对于字符的概念,想要理解更多,请参见:
考一考:意识常量
查看上面的数据,它们是不是常量,若是,请别离指出是什么常量?
"H" "z" '0' -0.3 "null" 'true' 0
答案:
“H” 是,字符串;
“z” 是,字符串;
‘0’ 是,字符;
-0.3 是,浮点数;
“null” 是,字符串;
‘true’ 不是,语法错误。因为单引号(’ ‘)外面只能蕴含一个字符,不能有多个;如果要示意多个字符,用双引号(””)包起来
0 是,整数
解析:’true’,它是语法错误。因为单引号(’ ‘)外面只能蕴含一个字符,不能有多个;如果要示意多个字符,用双引号(””)包起来
第四关 标识符:有名,万物之母
无名,天地之始;有名,万物之母——《道德经 · 老子》。这句话的大略意思是说,天地初开的时候,一片混沌,什么都没有,起初生成了万物,人们便给万物命名(欢送拍砖)。万物的名字,就是人们标注并辨认万物的符号,简称 标识符。
万物有名,人也不例外,比方父亲张翠山和他的儿子张无忌,都是赫赫有名的侠客,“张翠山”和“张无忌”这两个名字,就是他们的标识符。同样,Java 程序的每个局部也有本人的名字,给类、办法、变量、常量等起名字的字符序列,就是标识符。切换成人话,标识符就是在编程中程序员给类、办法、变量、常量等起的名字。看看咱们后面定义的变量,它们的名字都是标识符:
public static void main(String[] args) { // main 办法的名字:main
long age = 18; // long 类型的变量,名字是:age
double pai = 3.14; // double 类型的变量,名字是:pai
boolean nan = false; // boolean 类型的变量,名字是:nan
char email = '@'; // char 类型的变量,名字是:email
boolean isTrue = true; // boolean 类型的变量:isTrue
boolean isFalse = false; // boolean 类型的变量:isFalse
}
你能够尝试应用中文、韩文、日文等作为变量的名字,运气好的话,应该不会报错 ^_^:
public static void main(String[] args) {
String 식별자 = "韩语标识符"; // 韩语标识符
String 标识符 = "中文标识符"; // 中文标识符
String identifier = "identifier"; // 英文标识符
}
从实践上讲,编程语言反对的所有国家的文字、数字和符号,都能够作为标识符的组成部分,然而——后面都是废话,习惯上咱们不那么做,因为支流编程语言都是用英文写成的。标识符的组成是有要求的,倡议只应用上面的字符:
- 英文大小写字母:a – z 和 A – Z
- 数字:0 – 9
- 下划线:_
- 美元符号:$
尽管如此,咱们也不能随便定义标识符。依照规定办事,总是能缩小很多麻烦。标识符的定义规定:
- 不能以数字结尾。为啥,不美观?对,就是不美观。
- 不能是关键字。关键字曾经被 Java 语言征用,咱们不能再间接拿它们作为标识符了。
- 严格辨别大小写。Java 语言是严格辨别大小写的——可能就是怕好用的标识符不够用吧,谁晓得呢!
这些都是约定俗成的规矩,真的没什么好说的,你要是感觉不爽,能够本人写个编程语言,随本人情意轻易改,置信你能行。
好吧,最初一条,也是最重要的:标识符的命名标准:
- 类和接口:首字母大写,如果有多个单词,每个单词首字母大写:HelloWorld,Student
- 变量和办法:首字母小写,如果有多个单词,从第二个单词开始首字母大写:getName, studyJava
- 常量名(自定义常量):所有字母都大写,多个单词用下划线隔开(_):MAX_VALUE
- 包名:全副小写,如果有多级,用点号 (.) 隔开,遵循域名反写的格局:cn.itcast.demo
-
必须遵循的准则:
- 驼峰命名:像驼峰那样高下起伏,比方类名和接口名:HelloWorld;办法名:getById;
- 见名知意:看到名字就大略晓得它的意思,也就是说标识符的意义要明确、直观,可浏览性强。
类、接口、办法、包等等这些元素咱们还没有接触到——除了 main 办法,然而我很快就会把他们请进去和你见面。它们的命名标准是对你养成良好编码习惯的最根本的要求,无论技术能力上有多强,起码咱们的代码格调跟大神们是一样的,这么看来,咱们是不是离他们很近了?哈哈哈哈!
简略小结一下,标识符这个知识点须要你:
- 了解标识符的概念
- 熟记标识符的组成部分、定义规定和命名标准,尤其是那两个必须尊徐的准则:驼峰命名、见名知意。
考一考:意识标识符
上面哪些是非法的标识符?
A. aa
B. 0_score
C. public
D. demo3
E. $Outer.Inner
F. ID
答案:ADF
课程总结
-
定义变量的格局和含意:
数据类型 变量名 = 初始化值;
- 数据类型的分类的用法:
Java 语言中的数据类型,分为两大类:根本数据类型、援用数据类型。
根本类型又分为四类,共八种:
整数型四种:
byte
、short
、int
、long
浮点型两种:
float
、double
字符型一种:
char
布尔型一种:
boolean
整型的默认类型是:
int
;浮点型的默认类型是double
;援用类型包含:类、接口、枚举等类型,咱们后面应用过的
String
类型,就是一个一般的类 - 常量相干的常识偏重于了解,所以,对你的要求很简略:
了解常量的概念和分类
可能辨别常见的字面值常量
-
标识符:
组成部分;
定义规定;
命名标准:
- 驼峰命名
- 见名知意