07从零开始学Java之如何正确的编写Java代码?

作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦

CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者

前言

在上一篇文章中,壹哥带领大家开始编写了第一个Java案例,在我们的cmd命令窗口中输出了”Hello World“这句话。并且我还给大家留了一个小作业,你做出来了吗?

但是在上一篇文章中,我们学习的”Hello World“案例,里面有一些基础的语法,比如public、class、static等,这些到底是啥东东,有什么含义和要求,对于小白来说,可能还都不是很清楚。所以接下来在本文中,壹哥会给大家讲解一下Java最基本的语法要求,带大家认识Java里的标识符及其命名规范,认识Java里的关键字、保留字有哪些。

-----------------------------前戏已做完,精彩即开始----------------------------

全文大约【3000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图视频,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......

一. Java标识符

1. 代码回顾

在认识什么是Java里的标识符之前,咱们还是先把上节课中的那段代码拿过来复习一下,如下:

public class HelloWorld {
    public static void main(String[] args){       
        System.out.println("Hello World!");
    }
}

壹哥之前跟大家解释过上述代码的含义:

public:关键字,表示“公开的”;
class:关键字,表示用来定义一个类;
HelloWorld:类名,要保证和我们的文件名一样;
static:关键字,表示静态的,大家先记住意思,后面我会再细讲;
void:表示方法没有返回值,大家先记住意思,后面我再细讲;
main:主方法的名称,表示程序的入口,固定名称;
String[]:字符串数组类型;
args:方法参数的名称,随意;
System.out.println("Hello World!"):用来输出“Hello World!”这句话。

其实,在这段代码中,有些就属于”标识符“。具体哪些是标识符呢?我们继续往下看!

2. 标识符

首先,我们得认识一下什么是”标识符“。

Java中的包、类、方法、参数和变量等要素,都需要有个命名,这些名字就是标识符,使用字符串进行表示。

从上述定义中可知,在Java中有包、类、方法、参数、变量等几种要素,这些要素都需要命名。而这些名字需要使用字符串来命名,这些字符串就叫做”标识符“。举个栗子,你的名字叫做”二狗“,”二狗“就是标识符!

那么有的小伙伴就动歪脑筋了,既然标识符就是用来命名的字符串,那我是不是可以随便命名?有没有什么要求呢?大家想想,你自己身份证上的姓名可以随便命名吗?是不是会有一定的要求和规范呢?

3. 命名规则(重点)

我们首先要记住Java标识符的命名规则,如下:

①. 标识符由 字母(含英、中、日、俄等)、数字、下划线"_" 和 美元符号$ (音: dollar)组成,如age、G7、_value、$salary
②. 不能以数字开头,如123abc
③. 严格区分大小写,如class与Class是不同的
④. 长度无限制(一般不要超过15个字符);
⑤. 不能是Java中的保留字和关键字。

下面壹哥给大家举个栗子,看看标识符是否合法:

4. 命名规范

标识符命名习惯:尽量做到见名知意,如Order订单类,不要写a、b、c这种名称;
变量名/方法名/参数名:首字母要小写。如果名称由多个单词组成,第一个单词的首字母应小写,剩下的单词首字母应大写( 驼峰式命名法),例如:xxxYyyZzz、numCounter;
类名: 单词首字母应大写,如果类名由多个单词组成,每个单词的首字母都应大写( 帕斯卡命名法),例如:XxxYyyZzz、OrderCancel;
包名: 包名应该小写。由多单词组成时,所有字母也都应小写,例如:xxxyyyzzz、chinaedu;
常量名: 所有字母都应大写,常量名由多单词组成时,每个单词用下划线连接,例如:XXX_YYY_ZZZ、GOOD_LUCK。

5. 规则与规范的区别

规则是必须要遵守的”法则“,属于强制性的,比如交通规则,不遵守就不行,会罚钱扣分出事故!

规范是建议你遵守的”建议“,属于鼓励性的,比如道德规范,建议你能遵守,否则你会让人鄙视!

我们在开发时,必须遵守Java标识符的命名规则,尽量遵守Java标识符的命名规范。一般在企业开发时,对命名规范都会有自己的特殊要求,我们要按照公司自己的要求进行代码编写。总之,一个合格的程序员,决不能随心所欲的想怎么编码就怎么编码。就好比一个合格的人,也不能在这个社会上随心所欲的”胡作非为“,比如是要遵守特定的规则和规范的!

二. 关键字与保留字

在上面讲解标识符时,壹哥跟大家说过,标识符不能是Java自带的关键字和保留字。那到底什么是关键字和保留字呢?

1. 关键字

Java中有一些被赋予了特定含义,有专门用途的字符串被称为关键字(keyword)。这些关键字全部都是小写的,关键字分类如下:

有的小伙伴可能会惊呼,Java中有这么多的关键字啊?!我怎么记得下来?其实,你不用专门去记这些关键字,以后我们每一天都要编写代码,这些关键字自然而然就会被你记住了!

另外在上面这些关键字中,有几个用来修饰类的方法和属性的关键字,我们把它们称为修饰符,主要有两类修饰符:

访问控制修饰符:default、public、protected、private
非访问控制修饰符:final、abstract、static、synchronized

目前这个阶段,壹哥希望大家先记住4个”访问控制修饰符“即可,其他的我们再慢慢学习和掌握。

2. 保留字

Java中还有一些没有定义特定用途,但保留备用的关键字,如goto、const等,被称为保留字。也就是说,有些关键字现在暂时没有用到,但有可能以后会用到,为了”以备不时之需“,Java预留了一些关键字,这就是保留字。这些保留字与关键字一样,也不能被我们用来定义标识符!

三. 编码规范

除了以上这些关于标识符的命名规则和规范之外,壹哥还希望大家从今天开始,在编码时要养成良好的编码规范。我这里所谓的编码规范,是指在编写代码时希望大家遵守的一些”建议“。当然,这些规范如果你不遵守,代码并不会出错,但有可能会被你的领导和同事diss,说你”不讲究“。今天壹哥先给大家说两个会伴随我们整个开发生涯的常见编码规范。

1. 代码缩进

在Java代码中,每一个层级的代码都应该使用tab键(制表位)进行间隔,间隔4个字符。比如下面的代码:

不同层级的代码要间隔4个字符,并用花括号"{ }"分割,而且"{ }"要采用上图所示的配对方式。注意不要采用如下方式:

上图这种"{ }"花括号配对方式,不是Java的编码风格,不建议大家这样写!虽然没有错误,但不符合绝大多数Java程序员的编码习惯和审美要求。你的所有同事都顺时针转圈,你为什么非要逆时针转圈呢?

2. 代码注释

另外,我们要从学编程开始,就养成写注释的习惯。所谓的注释,就是指对代码含义的一段解释性文字。这段文字并不会被编译进字节码中,所以你不用担心会影响执行效率,它只是用来给程序员解释代码含义的。Java中的注释有3种:

单行注释,// 注释内容
多行注释,/* 注释内容 */
文档注释,/* *注释内容 */

注释的使用如下所示:

/**
    作者:一一哥
    描述:这是一个入门程序
*/
public class Hello{
    /**
        方法的作用:这是程序的入口
        方法的参数:
        方法的返回值:    
    */
    public static void main(String[] args){
        //这行代码的含义是在控制台输出内容
        System.out.println("注释.....");        
        /*
            以下这段代码的功能是
            打印输出一个三角形        
        */
        System.out.println(".");
        System.out.println("..");
        System.out.println("...");
        System.out.println("....");
        System.out.println(".....");
    }
}

当然,这里只是先让大家养成一个良好的编码规范,关于注释的具体用法,壹哥会在后面的文章中再详细讲解。

-----------------------------正片已结束,来根事后烟----------------------------

四. 结语

至此,壹哥就把Java的标识符、关键字、保留字和编码规范给大家讲解完毕。其中标识符的命名规则大家必须要记住,这是本文的重点!所以需要各位牢牢记住Java标识符的命名规则有哪些要求?另外要尽量记住常用的命名和编码规范,不要去做违反大多数人习惯的事情!

截止到现在,我们使用的编码工具还都是windows系统自带的txt记事本工具,这个工具用起来比较费劲。所以在下一篇文章中,壹哥会按递进的顺序,给大家介绍几个效率更高的开发工具,敬请期待下一篇哦。

另外如果你独自学习觉得有很多困难,可以加入壹哥的学习互助群,大家一起交流学习。

五. 配套视频

如果你不习惯阅读技术文章,或是对文中的技术概念不能很好地理解,可以来看看壹哥帮你筛选出的视频教程。与本文配套的《Java标识符》视频链接如下:

https://player.bilibili.com/player.html?bvid=BV1Ja411x7XB&p=17&page=17

《Java关键字》视频链接如下:

https://player.bilibili.com/player.html?bvid=BV1Ja411x7XB&p=16&page=16

六. 今日作业

1. 第一题

在评论区说说Java标识符命名有哪些要求?

2. 第二题

此处为语雀投票卡片,点击链接查看:https://www.yuque.com/yiyigesun/hkm11k/yl8mwz#uDUrw

3. 第三题

Java的代码缩进,应该缩进几个字符?评论区给出你的答案吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/322.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯-筑基篇】常用API 运用(1)

🍓系列专栏:蓝桥杯 🍉个人主页:个人主页 目录 🍍1.输入身份证,判断性别🍍 🍍2.输入英语句子,统计单词个数🍍 🥝3.加密解密🥝 🌎4.相邻重复子串…

【6G 新技术】6G数据面介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

订单30分钟未支付自动取消怎么实现?

目录了解需求方案 1:数据库轮询方案 2:JDK 的延迟队列方案 3:时间轮算法方案 4:redis 缓存方案 5:使用消息队列了解需求在开发中,往往会遇到一些关于延时任务的需求。例如生成订单 30 分钟未支付&#xff0…

HashMap的实际开发使用

目 录 前言 一、HashMap是什么? 二、使用步骤 1.解析一下它实现的原理 ​编辑 2.实际开发使用 总结 前言 本章,只是大概记录一下hashMap的简单使用方法,以及理清一下hashMap的put方法的原理,以及get方法的原理。 一、Has…

如何使用 Python 检测和识别车牌(附 Python 代码)

文章目录创建Python环境如何在您的计算机上安装Tesseract OCR?技术提升磨砺您的Python技能车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计算机视觉和人工智能。 本文将使用Python创建一个车牌检测和识别程序。…

【Linux】目录和文件的权限

Linux中的权限有什么作用Linux权限管理文件访问者的分类文件类型和访问权限(事物属性)**文件权限值的表示方法**文件访问权限的相关设置方法chmodchownchgrpumaskumask使用 sudo分配权限目录的权限Linux中的权限有什么作用 Linux下有两种用户&#xff1…

【C缺陷与陷阱】----语义“陷阱”

💯💯💯 本篇处理的是有关语义误解的问题:即程序员的本意是希望表示某种事物,而实际表示的却是另外一种事物。在本篇我们假定程序员对词法细节和语法细节的理解没有问题,因此着重讨论语义细节。导言&#xf…

SignalR+WebRTC技术实现音视频即时通讯功能

一、建立信令服务器 1、后台项目中新建一个对应的集线器类,取名VideoHub,并继承Hub类,Hub是SignalR的一个组件,它使用RPC接收从客户端发送来的消息,也能把消息发送给客户端。 2、VideoHub中定义一个静态的Concurrent…

java-正装照换底色小demo-技术分享

文章目录前言java-正装照换底色小demo-技术分享01 实现思路02 效果02::01 原图:02::02 执行单元测试:02::03 效果:03 编码实现前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞…

js逆向爬取某音乐网站某歌手的歌曲

js逆向爬取某音乐网站某歌手的歌曲一、分析网站1、案例介绍2、寻找列表页Ajax入口(1)页面展示图。(2)寻找部分歌曲信息Ajax的token。(3)寻找歌曲链接(4)获取歌曲名称和id信息3、寻找…

XXE漏洞复现

目录XML基础概念XML数据格式DTD基础定义DTD作用分类DTD实体实体的分类DTD元素XXE漏洞介绍实操如何探测xxe漏洞XML基础 概念 什么是XML 是一种可扩展标记语言 (Extensible Markup Language, XML) ,标准通用标记语言的子集,可以用来标记数据、定义数据类型…

30个题型+代码(冲刺2023蓝桥杯)(中)

2023.3.13~4.13持续更新 目录 🍎注意 🌼前言 🌼十,KMP(留坑) 🌼十一,Trie(留坑) 🌼十二,BFS 👊(一)1562. 微博转发…

OpenAI 发布GPT-4——全网抢先体验

OpenAI 发布GPT-4 最近 OpenAI 犹如开挂一般,上周才刚刚推出GPT-3.5-Turbo API,今天凌晨再次祭出GPT-4这个目前最先进的多模态预训练大模型。与上一代GPT3.5相比,GPT-4最大的飞跃是增加了识图能力,并且回答准确性也得到显著提高。…

写给20、21级学生的话

写给20、21级学生的话前言一、关于招聘变招生,你怎么看?二、对于即将实习/已经实习的学生,你有什么建议?1.学习方面2.提升方面三、思想成年真的很重要前言 最近,有一些同学遇到的实习问题,我统一回复下&…

第十二届蓝桥杯省赛详解

试题A:空间 1B是8位,32位二进制数占用4B空间,1MB2^10KB2^20B 那么可以存放32位二进制数的个数为256*2^20*8/3267108864 试题B:卡片 分析:因为数据只有2021,所以直接模拟即可 结果为:3181&…

MySQL基础------sql指令1.0(查询操作->select)

目录 前言: 单表查询 1.查询当前所在数据库 2.查询整个表数据 3.查询某字段 4.条件查询 5.单行处理函数(聚合函数) 6.查询时给字段取别名 7.模糊查询 8.查询结果去除重复项 9.排序(升序和降序) 10. 分组查询 1…

Linux 如何使用 git | 新建仓库 | git 三板斧

文章目录 专栏导读 一、如何安装 git 二、注册码云账号 三、新建仓库 配置仓库信息 四、克隆远端仓库到本地 五、git 三板斧 1. 三板斧第一招:git add 2. 三板斧第二招:git commit 解决首次 git commit 失败的问题 配置机器信息 3. 三…

最新!Windows 11 更新将整合 AI 技术

微软MVP实验室研究员张雅琪(阿法兔)微软最有价值专家(MVP),毕业于外交学院和香港大学,IT 技术社区创始人,中关村互联网金融研究院兼职研究员,多次受邀在微软 Reactor 进行公开演讲&a…

电子工程师必须掌握的硬件测试仪器,你确定你都掌握了?

目录示波器示例1:测量示波器自带的标准方波信号输出表笔认识屏幕刻度认识波形上下/左右移动上下/左右刻度参数调整通道1的功能界面捕获信号设置Menu菜单触发方式触发电平Cursor按钮捕捉波形HLEP按钮参考资料频谱分析仪器信号发生器示波器 示例1:测量示波…

STM32F103R8T6 SPWM实现正弦波输出

前言 PWM合成正弦波,原理什么的不详细说了,概括一下就是 PWM有效面积的积分 正弦波的有效面积。PWM的频率越快,细分的越多,锯齿也就越不明显。 做法是:首先利用正弦波取点软件,取点1000个,生…