首页 > 编程语言 > 一篇文章带你入门Java之编程规范
2022
01-12

一篇文章带你入门Java之编程规范

引言

♀ 小AD:小明哥,之前你教我的Helloworld实例我写完了,超级简单呢,我一下子就搞定了
♂ 明世隐:是吗,那不错哦。
♀ 小AD:我还举一反三、自由发挥了一波
♂ 明世隐:这波怎么说?
♀ 小AD:怎么说?我说我在第5层,你信不
♂ 明世隐:我信,你举的什么、反的什么?
♀ 小AD:我写了个小鲁班连招类,可以顺序释放连招,好玩。
♂ 明世隐:挖槽,你这波是要在大气层吗?上头了吧你。
♀ 小AD:明哥别这样说,我就觉得好玩
♂ 明世隐:好,我觉得你脑子转的挺快,来给明哥看看。
♀ 小AD:好的,代码给你看看

package learnJava;
public class 鲁班连招类 {
	public static void main(String[] args) {
		System.out.println("发现敌人");
		System.out.println("释放3技能");System.out.println("平A1");System.out.println("平A2");
System.out.println("平A3");System.out.println("平A4");
			System.out.println("释放1技能");
			System.out.println("平A1");System.out.println("平A2");System.out.println("平A3");System.out.println("平A4");
System.out.println("释放2技能");System.out.println("平A1");System.out.println("平A2");
			System.out.println("平A3");System.out.println("平A4");
			System.out.println("敌人已经被消灭");}}

运行代码

在这里插入图片描述

♀ 小AD:明哥,咋样?我这连招,KO敌人,刺客突脸我可以把2技能先放
♂ 明世隐:很(yao)好(lao)耶(ming)
♀ 小AD:那可不!我觉得我可以统治下路了。
♂ 明世隐:你的为啥放技能后要平A4下。
♀ 小AD:因为这个平A 4下我用来代表的是小鲁班的被动扫射效果,表示攻击速度很快。
♂ 明世隐:嗯嗯,真不错,有编程的天赋,看来我选对了徒弟哈,但是,还是让我来说说你的问题。
♀ 小AD:???
♂ 明世隐:我说让我来说说你的问题。
♀ 小AD:有什么问题,我这连招不好吗?你上次教我的,你是不是藏了什么?
♂ 明世隐:你耗子未汁吧你!
♀ 小AD:明哥,直接说吧,别这样
♂ 明世隐:我说你代码写的乱七八糟。
♀ 小AD:没问题啊,你看我不是运行给你看了吗?结果犀利
♂ 明世隐:确实犀利,我说的是代码很乱。
♀ 小AD:我不懂你的意思
♂ 明世隐:就是不规范。
♀ 小AD:哦,我不知道哦,那你给我讲讲呗
♂ 明世隐:来,下次写这样的代码,别在朋友圈发说你认识我,我老脸往哪里放。
♀ 小AD:(大写的尴尬)
在这里插入图片描述

命名规则

类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:

ThisIsAClassName

thisIsMethodOrFieldName

命名规则必须遵循以下规则:

1)、名称只能由字母、数字、下划线、$符号组成

2)、命名时不能以数字开头

3)、在命名是绝对不能出现Java关键字。

4)、见名识意—看到名字就知道是什么。

当然这些都不是硬性规定,你可以按照自己的想法去命名。但那样的代码可读性很差。

public class 鲁班连招类 {

♀ 小AD:你是说我这个类的命名不满足上面的第一条是吗
♂ 明世隐:可以这么说。
♀ 小AD:那eclipse为什么没有报错。
♂ 明世隐:其实是可以用中文命名的,类名和方法名用中文其实也是可以成功运行的,因为只要是Unicode字符,就符合规范,不过这里的规范指的是标识符规范,代码规范是不提倡用中文的。
♀ 小AD:这样啊,那我把类名改成lz
♂ 明世隐:你这是什么意思?
♀ 小AD:lz就是连招的意思啊
♂ 明世隐:可是我看不懂诶!
♀ 小AD:那改lianzhao
♂ 明世隐:类开头用大写,然后采用驼峰命名。
♀ 小AD:那改成LianZhao就可以撒
♂ 明世隐:你为什么不用英文来命名,用拼音感觉不舒服。
♀ 小AD:那连招的英语是什么?
♂ 明世隐:你问我干嘛?我不会
♀ 小AD:哈哈,明哥你都不会啊,我也不会。
♂ 明世隐:那说好了,就这样命名了,嘿嘿。

代码排版

1.程序块要采用缩进风格编写,缩进的空格数为4个。

2.在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。

3.较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。

4.if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}。

5.相对独立的程序块之间、变量说明之后必须加空行。

6.出现分号尽量换行。

♀ 小AD:哥,那么多那么麻烦,我都看不明白.
♂ 明世隐:其实也不用刻意去记,我帮你把代码编辑一下你就很容易看明白。
♀ 小AD:好

针对你的代码分4步

1.代码缩进对齐

在这里插入图片描述

修改后:

package learnJava;
public class LianZhao {
	public static void main(String[] args) {
		System.out.println("发现敌人");
		System.out.println("释放3技能");System.out.println("平A1");System.out.println("平A2");
		System.out.println("平A3");System.out.println("平A4");
		System.out.println("释放1技能");
		System.out.println("平A1");System.out.println("平A2");System.out.println("平A3");System.out.println("平A4");
		System.out.println("释放2技能");System.out.println("平A1");System.out.println("平A2");
		System.out.println("平A3");System.out.println("平A4");
		System.out.println("敌人已经被消灭");}}

2.遇到分号换行

在这里插入图片描述

修改后:

package learnJava;
public class LianZhao {
	public static void main(String[] args) {
		System.out.println("发现敌人");
		System.out.println("释放3技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("释放1技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("释放2技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("敌人已经被消灭");}}

3.大括号、括号等成对出现

在这里插入图片描述

修改后:

package learnJava;
public class LianZhao {
	public static void main(String[] args) {
		System.out.println("发现敌人");
		System.out.println("释放3技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("释放1技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("释放2技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("敌人已经被消灭");
	}
}

4.加上注释

♀ 小AD:明哥什么是注释啊
♂ 明世隐:注释就是说明
♀ 小AD:说明什么?
♂ 明世隐:说明这个类是用来做什么的,这个方法是什么功能等。
♀ 小AD:好像明白了一点
♂ 明世隐:给你举个例子,你就完全清楚了。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

♂ 明世隐:上面的图知道什么意思吧
♀ 小AD:当然啊,就是技能说明呗
♂ 明世隐:对啊 ,那你如果不熟悉技能的话,你不是可以看看这个技能干啥用的,有多少伤害、冷却时间多少、蓝耗多少吗?
♀ 小AD:是的,没有这个说明,除非对这个英雄比较熟悉,否则就不知道了。
♂ 明世隐:那你拿到一段代码的时候,如果没有说明,你可能搞不清楚这个代码是干嘛的吧。
♀ 小AD:嗯,但现在这个代码我知道 啊
♂ 明世隐:目前你当然是知道的,因为第一这个代码简单,容易看明白,如果逻辑复杂的呢?第二记忆都是一段时间的,如果过些时候你再看到某段代码,你也想不起来是干嘛的了,必须一行行的去看代码,然后你才能知道,这样不就很麻烦了吗?
♀ 小AD:好像是这个道理。
♂ 明世隐:所以说就跟这个技能描述一样的,我们也可以改代码加上说明,称之为注释。
♀ 小AD:原来是这个意思啊,那注释应该怎么加?
♂ 明世隐:那我们来加一下吧。

Java注释

注释的作用

很多java新手在敲代码的时候都不会在意注释这个东西,但其实,注释在Java编程中也是必不可少的。

在学习过程中,我们应该也发现要敲的代码越来越多,越来越繁琐,而且做编程本来就很需要思维逻辑,在碰到需要使用大量代码的时候,就需要在每个关键点做好注释,让我们明白这段代码的含义,同时,如果要请教别人的话,别人看你的代码更加方便。

而在以后的工作当中,肯定会有团队协作的,这种时候,也是非常需要注释的,不然在后期合并的时候是会非常麻烦的。

注释的3种类型

1.单行注释
//内容1
//内容2

2.多行注释
/*
内容1
内容2
*/

3.文档注释
/**
*内容1
*内容2
*/

给代码加上单行注释

public class LianZhao {
	//主函数
	public static void main(String[] args) {
		System.out.println("发现敌人");
		//释放3技能
		System.out.println("释放3技能");
		//扫射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		//释放1技能
		System.out.println("释放1技能");
		//扫射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		//释放2技能
		System.out.println("释放2技能");
		//扫射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("敌人已经被消灭");
	}
}

♀ 小AD:明哥,有句话我想说但不敢说?
♂ 明世隐:说吧,不喷你
♀ 小AD:我感觉你这个注释没什么用,你不加注释,我也知道这个写的是放技能、平A啊,你现在加这个注释也是多余的。
♂ 明世隐:。。。,是这样的,因为你这个代码是最基础的,就一句打印输出,并且输出的内容也写的很清楚,所以你感觉没必要,但在开发中,代码的逻辑就复杂的多,你不加注释别人可能就看不明白你 代码、或者说要花额外的时间去理解你的代码;甚至于你自己再次回过头来看的时候,没有注释,都要重新去阅读代码,才知道是干嘛的。
♀ 小AD:哦,这样啊,那我明白了

给代码加上多行注释

在这里插入图片描述

给代码加上文档注释

在这里插入图片描述

注释后完整的类代码

package learnJava;
/**
 * 模拟鲁班连招的类
 * @author 小AD
 * @date 2021-07-04
 */
public class LianZhao {
	/*
	 * 主函数
	 * 此函数模拟了鲁班的连招
	 * 3技能+扫射+1技能+扫射+2技能+扫射
	 */
	public static void main(String[] args) {
		System.out.println("发现敌人");
		//释放3技能
		System.out.println("释放3技能");
		//扫射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		//释放1技能
		System.out.println("释放1技能");
		//扫射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		//释放2技能
		System.out.println("释放2技能");
		//扫射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("敌人已经被消灭");
	}
}

♂ 明世隐:你看代码是不是比你开始的要好看、工整的多。
♀ 小AD:哇明哥,这样别人看到代码就知道是我写的呀。
♂ 明世隐:对啊 ,就知道你的大名了。
♀ 小AD:哇注释果然很有用。
♂ 明世隐:别光知道可以写上你的大名哈,其他的也很重要。
♀ 小AD:不会不会,我一下就明白怎么用这个注释了,谢谢明哥!

除了上述内容还要注意:如何编写良好的Java代码

♀ 小AD:哇明哥,我觉得我好像学Java很简单呢
♂ 明世隐:对啊,Java本来就不难,关键看你自己愿意学不咯。
♀ 小AD:我当然愿意学,我就感觉跟明哥上分一样简单,紧紧跟着明哥就行。
♂ 明世隐:知道就好,要的就是上分如喝水、学Java如张飞吃豆芽。
♀ 小AD:哥你说的什么?也不押韵啊。
♂ 明世隐:你重点是在这吗你?快打开游戏,先上几星再说,你连招不是很溜吗。
♀ 小AD:来,当然了,我边学Java又边学连招,今天整爆他们。

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注自学编程网的更多内容!

编程技巧