本节书摘来自异步社区《Java和Android开发实战详解》一书中的第2章,第2.5节良好的Java程序代码编写风格,作者 陈会安,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.5 良好的Java程序代码编写风格
Java和Android开发实战详解
Java代码是由程序语句组成的,数个程序语句组合成一个程序块,每一个块拥有数行程序语句或注释,一行程序语句是一个表达式、变量和命令的程序代码。

2.5.1 程序语句
Java程序由程序语句(Statement)组成,一行程序语句如同英文的一个句子,内含多个表达式、运算符或Java关键字(详见第3章的说明)。

1.程序语句的范例
一些Java程序语句的范例,如下所示:

int total = 1234;
rate = 0.05;
interest = total * rate;
System.out.println("我的第一个Java程序");

2.程序语句结束符号“;”
“;”符号代表程序语句的结束,它告诉编译器已经到达程序语句的最后。换句话说,我们可以使用“;”符号在同一行编写多个程序语句,如下所示:

total = 1234; rate = 0.05; interest = total * rate;

上述一行代码即拥有3个程序语句。

2.5.2 程序块
程序块(Block)是多条程序语句的一个集合,使用“{”和“}”符号包围起来,如下所示:

public static void main(String[] args) {System.out.println("我的第一个Java程序");
}

上述main()方法中的代码部分是一个程序块,在第4章和第5章将介绍的流程控制语句和方法都拥有程序块。

Java语言属于一种“自由格式”(Free-format)的程序语言,我们可以将多个程序语句写在同一行,甚至也可以将整个程序块置于同一行,程序设计者可以自由编排程序代码,如下所示:

public static void main(String[] args)  {  }

2.5.3 程序注释
程序注释是程序的重要部分,因为良好的注释文字不但有助于了解程序的目的,并且在程序维护上,也可以提供更多的信息。

Java语言的程序注释是以“//”符号开始的行,也可以将它们放在程序行后,如下所示:

// 显示信息

System.out.println("第一个Java程序"); // 显示信息
如果注释文字较长,需要跨多行,我们可以使用“/”和“/”符号标示注释文字,如下所示:

/* Java程序: Ch2_2_1.java */

2.5.4 避免太长的程序代码
如果一条语句的程序代码太长,基于易于阅读的需求,我们可以将它分成两列来编排。因为Java语言属于自由格式的程序语言,并不需要使用任何符号,直接分成两行即可,如下所示:

System.out.println("我的第一个Java应用程序");

不过在程序代码分割时需要保持程序元素的完整性,例如:关键字、完整字符串或运算符,请注意!不可以将一个字符串断开分成两行。

2.5.5 程序代码缩排
记得使用缩排程序代码。适当地缩排代码,可以让程序更加容易阅读,并且容易反映出程序代码的逻辑结构。例如:将循环块中的程序代码缩几格编排,如下所示:

for ( i = 0; i <= 10; i++ ) {System.out.println(i);total = total + i;
}

向内缩排可以清楚分辨哪些程序代码属于同一个程序块。事实上,程序编写风格并非一成不变,程序设计者可以自己定义所需的程序编写风格。

《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格相关推荐

  1. 《Java和Android开发实战详解》——1.2节Java基础知识

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第1章,第1.2节Java基础知识,作者 陈会安,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  2. 《Java和Android开发实战详解》——2.2节构建Java应用程序

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.2节构建Java应用程序,作者 陈会安,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  3. Android NFC开发实战详解

    Android NFC开发实战详解 Android开发实战详解NFC国内第一本AndroidNFC开发书籍带你开启AndroidNFC开发的神秘之旅大综合案例帮助读者快速进入实战角色:WiFi快速连接 ...

  4. libraries 和android runtime之间的关系,《Android Studio应用开发实战详解》——第1章,第1.3节Android系统架构...

    本节书摘来自异步社区<Android Studio应用开发实战详解>一书中的第1章,第1.3节Android系统架构,作者 王翠萍,更多章节内容可以访问云栖社区"异步社区&quo ...

  5. 《Android Studio应用开发实战详解》——第1章,第1.2节Android系统基础

    本节书摘来自异步社区<Android Studio应用开发实战详解>一书中的第1章,第1.2节Android系统基础,作者 王翠萍,更多章节内容可以访问云栖社区"异步社区&quo ...

  6. 《Android Studio应用开发实战详解》——第1章,第1.4节Android和Linux的关系

    本节书摘来自异步社区<Android Studio应用开发实战详解>一书中的第1章,第1.4节Android和Linux的关系,作者 王翠萍,更多章节内容可以访问云栖社区"异步社 ...

  7. 《Android Studio应用开发实战详解》——第1章,第1.5节Android开发学习路线图

    本节书摘来自异步社区<Android Studio应用开发实战详解>一书中的第1章,第1.5节Android开发学习路线图,作者 王翠萍,更多章节内容可以访问云栖社区"异步社区& ...

  8. 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——1.3节搭建Android应用开发环境...

    本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第1章,第1.3节搭建Android应用开发环境,作者 王石磊 , 吴峥,更多章节内容可以 ...

  9. 《Android多媒体应用开发实战详解:图像、音频、视频、2D和3D》——2.3节简析Android安装文件...

    本节书摘来自异步社区<Android多媒体应用开发实战详解:图像.音频.视频.2D和3D>一书中的第2章,第2.3节简析Android安装文件,作者 王石磊 , 吴峥,更多章节内容可以访问 ...

最新文章

  1. utf8 连接 mysql_mysql配置为支持utf8的连接方式只要改client就可以了吗
  2. python3 import execjs ModuleNotFoundError: No module named ‘execjs‘
  3. dart 语言是jvm_Dart编译技术在服务端的探索和应用
  4. bnuoj 20950 沉重的货物 (最小生成树)
  5. Nginx code 常用状态码学习小结
  6. 计算机网络protocol,北邮高级计算机网络课件1-protocol.pdf
  7. 浅谈C#在网络波动时防重复提交
  8. HLG 数字去重和排序II【二叉排序树】
  9. SurfaceFlinger中queueBuffer与dequeueBuffer作用(十二)
  10. c#.net常用函数列表
  11. java nio netty_Netty精粹之JAVA NIO开发需要知道的
  12. C# 使用微信扫码登录网页
  13. matlab 三角分解法 解线性方程组的直接方法
  14. LaTeX目录居中及目录字体设置
  15. matlab图像的恢复
  16. GIS十问之一:到底什么单位招聘GIS专业的学生?
  17. gsm基于linux程序,基于嵌入式Linux下GSM模块的短信收发系统设计
  18. 基于SDSoC的软硬件协同设计
  19. eclipse html格式化
  20. 进制转换计算机文档,(完整版)计算机各种进制转换练习题(附答案)

热门文章

  1. MNE-Python教程汇总
  2. Ultrahaptics公司为Holodeck型触觉关闭了2300万美元的资金回合
  3. 高光荣教授逝世:他是新中国首位MIT计算机博士,开创数据流体系结构
  4. 它来了!无人车穿梭在深圳的“宇宙最强街道”
  5. 量子位「MEET 2021智能未来大会」启动,邀智能科技企业共探明日行业新格局
  6. 小鹏汽车招股书,满是智能技术自研的标签
  7. 在PyTorch上用Keras,分布式训练开箱即用,告别没完没了的Debug
  8. 给CVPR颁“金酸莓奖”,知乎网友热议最差论文,战火烧到Reddit论坛
  9. Lottie开源动画库
  10. 【数据结构】队列之链队列