java编程规范?。。?/h2>名称 Java语言编码规范(Java Code Conventions)
简介 本文档讲述了Java语言的编码规范,较之陈世忠先生《c编码规范》的浩繁详尽,此文当属短小精悍了 。而其中所列之各项条款,从编码风格,到注意事项,不单只Java , 对于其他语言,也都很有借鉴意义 。因为简短,所以易记,大家不妨将此作为handbook , 常备案头 , 逐一对验 。
1 介绍
1.1 为什么要有编码规范
1.2 版权声明
2 文件名
2.1 文件后缀
2.2 常用文件名
3 文件组织
3.1 Java源文件
3.1.1 开头注释
3.1.2 包和引入语句
3.1.3 类和接口声明
4 缩进排版
4.1 行长度
4.2 换行
5 注释
5.1 实现注释的格式
5.1.1 块注释
5.1.2 单行注释
5.1.3 尾端注释
5.1.4 行末注释
5.2 文挡注释
6 声明
6.1 每行声明变量的数量
6.2 初始化
6.3 布局
6.4 类和接口的声明
7 语句
7.1 简单语句
7.2 复合语句
7.3 返回语句
7.4 if,if-else , if else-if else语句
7.5 for语句
7.6 while语句
7.7 do-while语句
7.8 switch语句
7.9 try-catch语句
8 空白
8.1 空行
8.2 空格
9 命名规范
10 编程惯例
10.1 提供对实例以及类变量的访问控制
10.2 引用类变量和类方法
10.3 常量
10.4 变量赋值
10.5 其它惯例
10.5.1 圆括号
10.5.2 返回值
10.5.3 条件运算符"?"前的表达式"?"前的表达式
10.5.4 特殊注释
11 代码范例
11.1 Java源文件范例
1 介绍(Introduction)
1.1 为什么要有编码规范(Why Have Code Conventions)
编码规范对于程序员而言尤为重要,有以下几个原因:
- 一个软件的生命周期中,80%的花费在于维护
- 几乎没有任何一个软件,在其整个生命周期中 , 均由最初的开发人员来维护
- 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码
- 如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品
为了执行规范,每个软件开发人员必须一致遵守编码规范 。每个人 。
1.2 版权声明(Acknowledgments)
本文档反映的是Sun MicroSystems公司,Java语言规范中的编码标准部分 。主要贡献者包括:Peter King,Patrick Naughton,Mike DeMoney,Jonni Kanerva,Kathy Walrath以及Scott Hommel 。
本文档现由Scott Hommel维护,有关评论意见请发至shommel@eng.sun.com
2 文件名(File Names)
这部分列出了常用的文件名及其后缀 。
2.1 文件后缀(File Suffixes)
Java程序使用下列文件后缀:
文件类别 文件后缀
Java源文件 .java
Java字节码文件 .class
2.2 常用文件名(Common File Names)
常用的文件名包括:
文件名 用途
GNUmakefile makefiles的首选文件名 。我们采用gnumake来创建(build)软件 。
README 概述特定目录下所含内容的文件的首选文件名
3 文件组织(File Organization)
一个文件由被空行分割而成的段落以及标识每个段落的可选注释共同组成 。超过2000行的程序难以阅读 , 应该尽量避免 。"Java源文件范例"提供了一个布局合理的Java程序范例 。
3.1 Java源文件(Java Source Files)
每个Java源文件都包含一个单一的公共类或接口 。若私有类和接口与一个公共类相关联 , 可以将它们和公共类放入同一个源文件 。公共类必须是这个文件中的第一个类或接口 。
Java源文件还遵循以下规则:
- 开头注释(参见"开头注释")
- 包和引入语句(参见"包和引入语句")
- 类和接口声明(参见"类和接口声明")
3.1.1 开头注释(Beginning Comments)
所有的源文件都应该在开头有一个C语言风格的注释 , 其中列出类名、版本信息、日期和版权声明:
/*
* Classname
*
* Version information
*
* Date
*
* Copyright notice
*/
3.1.2 包和引入语句(Package and Import Statements)
在多数Java源文件中 , 第一个非注释行是包语句 。在它之后可以跟引入语句 。例如:
package java.awt;
import java.awt.peer.CanvasPeer;
3.1.3 类和接口声明(Class and Interface Declarations)
下表描述了类和接口声明的各个部分以及它们出现的先后次序 。参见"Java源文件范例"中一个包含注释的例子 。
类/接口声明的各部分 注解
1 类/接口文档注释(/**……*/) 该注释中所需包含的信息 , 参见"文档注释"
2 类或接口的声明
3 类/接口实现的注释(/*……*/)如果有必要的话 该注释应包含任何有关整个类或接口的信息,而这些信息又不适合作为类/接口文档注释 。
4 类的(静态)变量 首先是类的公共变量 , 随后是保护变量,再后是包一级别的变量(没有访问修饰符,access modifier) , 最后是私有变量 。
5 实例变量 首先是公共级别的,随后是保护级别的,再后是包一级别的(没有访问修饰符),最后是私有级别的 。
6 构造器
7 方法 这些方法应该按功能,而非作用域或访问权限,分组 。例如,一个私有的类方法可以置于两个公有的实例方法之间 。其目的是为了更便于阅读和理解代码 。
4 缩进排版(Indentation)
4个空格常被作为缩进排版的一个单位 。缩进的确切解释并未详细指定(空格 vs. 制表符) 。一个制表符等于8个空格(而非4个) 。
4.1 行长度(Line Length)
尽量避免一行的长度超过80个字符 , 因为很多终端和工具不能很好处理之 。
注意:用于文档中的例子应该使用更短的行长,长度一般不超过70个字符 。
4.2 换行(Wrapping Lines)
当一个表达式无法容纳在一行内时 , 可以依据如下一般规则断开之:
- 在一个逗号后面断开
- 在一个操作符前面断开
- 宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开
- 新的一行应该与上一行同一级别表达式的开头处对齐
- 如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边 , 那就代之以缩进8个空格 。
以下是断开方法调用的一些例子:
someMethod(longExpression1, longExpression2, longExpression3,
longExpression4, longExpression5);
var = someMethod1(longExpression1,
someMethod2(longExpression2,
longExpression3));
以下是两个断开算术表达式的例子 。前者更好,因为断开处位于括号表达式的外边 , 这是个较高级别的断开 。
longName1 = longName2 * (longName3longName4 - longName5)
4 * longname6; //PREFFER
longName1 = longName2 * (longName3longName4
- longName5)4 * longname6; //AVOID
以下是两个缩进方法声明的例子 。前者是常规情形 。后者若使用常规的缩进方式将会使第二行和第三行移得很靠右,所以代之以缩进8个空格
//CONVENTIONAL INDENTATION
someMethod(int anArg, Object anotherArg, String yetAnotherArg,
Object andStillAnother) {
...
}
//INDENT 8 SPACES TO AVOID VERY DEEP INDENTS
private static synchronized horkingLongMethodName(int anArg,
Object anotherArg, String yetAnotherArg,
Object andStillAnother) {
...
}
if语句的换行通常使用8个空格的规则,因为常规缩进(4个空格)会使语句体看起来比较费劲 。比如:
//DON’T USE THIS INDENTATION
if ((condition1condition2)
|| (condition3condition4)
||!(condition5condition6)) { //BAD WRAPS
doSomethingAboutIt();//MAKE THIS LINE EASY TO MISS
}
//USE THIS INDENTATION INSTEAD
if ((condition1condition2)
|| (condition3condition4)
||!(condition5condition6)) {
doSomethingAboutIt();
}
//OR USE THIS
if ((condition1condition2) || (condition3condition4)
||!(condition5condition6)) {
doSomethingAboutIt();
}
这里有三种可行的方法用于处理三元运算表达式:
alpha = (aLongBooleanExpression) ? beta : gamma;
alpha = (aLongBooleanExpression) ? beta
: gamma;
alpha = (aLongBooleanExpression)
? beta
: gamma;
5 注释(Comments)
Java程序有两类注释:实现注释(implementation comments)和文档注释(document comments) 。实现注释是那些在C中见过的,使用/*...*/和//界定的注释 。文档注释(被称为"doc comments")是Java独有的,并由/**...*/界定 。文档注释可以通过javadoc工具转换成HTML文件 。
实现注释用以注释代码或者实现细节 。文档注释从实现自由(implementation-free)的角度描述代码的规范 。它可以被那些手头没有源码的开发人员读懂 。
注释应被用来给出代码的总括,并提供代码自身没有提供的附加信息 。注释应该仅包含与阅读和理解程序有关的信息 。例如,相应的包如何被建立或位于哪个目录下之类的信息不应包括在注释中 。
在注释里,对设计决策中重要的或者不是显而易见的地方进行说明是可以的 , 但应避免提供代码中己清晰表达出来的重复信息 。多余的的注释很容易过时 。通常应避免那些代码更新就可能过时的注释 。
注意:频繁的注释有时反映出代码的低质量 。当你觉得被迫要加注释的时候,考虑一下重写代码使其更清晰 。
注释不应写在用星号或其他字符画出来的大框里 。注释不应包括诸如制表符和回退符之类的特殊字符 。
5.1 实现注释的格式(Implementation Comment Formats)
程序可以有4种实现注释的风格:块(block)、单行(single-line)、尾端(trailing)和行末(end-of-line) 。
5.1.1 块注释(Block Comments)
块注释通常用于提供对文件,方法 , 数据结构和算法的描述 。块注释被置于每个文件的开始处以及每个方法之前 。它们也可以被用于其他地方,比如方法内部 。在功能和方法内部的块注释应该和它们所描述的代码具有一样的缩进格式 。
块注释之首应该有一个空行,用于把块注释和代码分割开来,比如:
/*
* Here is a block comment.
*/
块注释可以以/*-开头 , 这样indent(1)就可以将之识别为一个代码块的开始 , 而不会重排它 。
/*-
* Here is a block comment with some very special
* formatting that I want indent(1) to ignore.
*
*one
*two
*three
*/
注意:如果你不使用indent(1),就不必在代码中使用/*-,或为他人可能对你的代码运行indent(1)作让步 。
参见"文档注释"
5.1.2 单行注释(Single-Line Comments)
短注释可以显示在一行内,并与其后的代码具有一样的缩进层级 。如果一个注释不能在一行内写完,就该采用块注释(参见"块注释") 。单行注释之前应该有一个空行 。以下是一个Java代码中单行注释的例子:
if (condition) {
/* Handle the condition. */
...
}
5.1.3 尾端注释(Trailing Comments)
极短的注释可以与它们所要描述的代码位于同一行,但是应该有足够的空白来分开代码和注释 。若有多个短注释出现于大段代码中,它们应该具有相同的缩进 。
以下是一个Java代码中尾端注释的例子:
if (a == 2) {
return TRUE;/* special case */
} else {
return isPrime(a);/* works only for odd a */
}
5.1.4 行末注释(End-Of-Line Comments)
注释界定符"//",可以注释掉整行或者一行中的一部分 。它一般不用于连续多行的注释文本;然而,它可以用来注释掉连续多行的代码段 。以下是所有三种风格的例子:
if (foo1) {
// Do a double-flip.
...
}
else {
return false;// Explain why here.
}
//if (bar1) {
//
//// Do a triple-flip.
//...
//}
//else {
//return false;
//}
5.2 文档注释(Documentation Comments)
注意:此处描述的注释格式之范例 , 参见"Java源文件范例"
若想了解更多,参见"How to Write Doc Comments for Javadoc" , 其中包含了有关文档注释标记的信息(@return, @param, @see):
若想了解更多有关文档注释和javadoc的详细资料,参见javadoc的主页:
文档注释描述Java的类、接口、构造器,方法,以及字段(field) 。每个文档注释都会被置于注释定界符/**...*/之中,一个注释对应一个类、接口或成员 。该注释应位于声明之前:
/**
* The Example class provides ...
*/
public class Example { ...
注意顶层(top-level)的类和接口是不缩进的,而其成员是缩进的 。描述类和接口的文档注释的第一行(/**)不需缩进;随后的文档注释每行都缩进1格(使星号纵向对齐) 。成员,包括构造函数在内,其文档注释的第一行缩进4格,随后每行都缩进5格 。
若你想给出有关类、接口、变量或方法的信息,而这些信息又不适合写在文档中,则可使用实现块注释(见5.1.1)或紧跟在声明后面的单行注释(见5.1.2) 。例如 , 有关一个类实现的细节,应放入紧跟在类声明后面的实现块注释中,而不是放在文档注释中 。
文档注释不能放在一个方法或构造器的定义块中,因为Java会将位于文档注释之后的第一个声明与其相关联 。
6 声明(Declarations)
6.1 每行声明变量的数量(Number Per Line)
推荐一行一个声明,因为这样以利于写注释 。亦即,
int level;// indentation level
int size;// size of table
要优于,
int level, size;
不要将不同类型变量的声明放在同一行 , 例如:
int foo,fooarray[];//WRONG!
注意:上面的例子中 , 在类型和标识符之间放了一个空格,另一种被允许的替代方式是使用制表符:
intlevel;// indentation level
intsize;// size of table
Object currentEntry;// currently selected table entry
6.2 初始化(Initialization)
尽量在声明局部变量的同时初始化 。唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算 。
6.3 布局(Placement)
只在代码块的开始处声明变量 。(一个块是指任何被包含在大括号"{"和"}"中间的代码 。)不要在首次用到该变量时才声明之 。这会把注意力不集中的程序员搞糊涂,同时会妨碍代码在该作用域内的可移植性 。
void myMethod() {
int int1 = 0;// beginning of method block
if (condition) {
int int2 = 0;// beginning of "if" block
...
}
}
该规则的一个例外是for循环的索引变量
for (int i = 0; imaxLoops; i) { ... }
避免声明的局部变量覆盖上一级声明的变量 。例如,不要在内部代码块中声明相同的变量名:
int count;
...
myMethod() {
if (condition) {
int count = 0;// AVOID!
...
}
...
}
6.4 类和接口的声明(Class and Interface Declarations)
当编写类和接口是,应该遵守以下格式规则:
- 在方法名与其参数列表之前的左括号"("间不要有空格
- 左大括号"{"位于声明语句同行的末尾
- 右大括号"}"另起一行,与相应的声明语句对齐,除非是一个空语句,"}"应紧跟在"{"之后
class Sample extends Object {
int ivar1;
int ivar2;
Sample(int i, int j) {
ivar1 = i;
ivar2 = j;
}
int emptyMethod() {}
...
}
- 方法与方法之间以空行分隔
7 语句(Statements)
7.1 简单语句(Simple Statements)
每行至多包含一条语句 , 例如:
argv;// Correct
argc--;// Correct
argv; argc--;// AVOID!
7.2 复合语句(Compound Statements)
复合语句是包含在大括号中的语句序列,形如"{ 语句 }" 。例如下面各段 。
- 被括其中的语句应该较之复合语句缩进一个层次
- 左大括号"{"应位于复合语句起始行的行尾;右大括号"}"应另起一行并与复合语句首行对齐 。
- 大括号可以被用于所有语句,包括单个语句,只要这些语句是诸如if-else或for控制结构的一部分 。这样便于添加语句而无需担心由于忘了加括号而引入bug 。
7.3 返回语句(return Statements)
一个带返回值的return语句不使用小括号"()" , 除非它们以某种方式使返回值更为显见 。例如:
return;
return myDisk.size();
return (size ? size : defaultSize);
7.4 if,if-else,if else-if else语句(if, if-else, if else-if else Statements)
if-else语句应该具有如下格式:
if (condition) {
statements;
}
if (condition) {
statements;
} else {
statements;
}
if (condition) {
statements;
} else if (condition) {
statements;
} else{
statements;
}
注意:if语句总是用"{"和"}"括起来,避免使用如下容易引起错误的格式:
if (condition) //AVOID! THIS OMITS THE BRACES {}!
statement;
7.5 for语句(for Statements)
一个for语句应该具有如下格式:
for (initialization; condition; update) {
statements;
}
一个空的for语句(所有工作都在初始化,条件判断 , 更新子句中完成)应该具有如下格式:
for (initialization; condition; update);
当在for语句的初始化或更新子句中使用逗号时,避免因使用三个以上变量 , 而导致复杂度提高 。若需要,可以在for循环之前(为初始化子句)或for循环末尾(为更新子句)使用单独的语句 。
7.6 while语句(while Statements)
一个while语句应该具有如下格式
while (condition) {
statements;
}
一个空的while语句应该具有如下格式:
while (condition);
7.7 do-while语句(do-while Statements)
一个do-while语句应该具有如下格式:
do {
statements;
} while (condition);
7.8 switch语句(switch Statements)
一个switch语句应该具有如下格式:
switch (condition) {
case ABC:
statements;
/* falls through */
case DEF:
statements;
break;
case XYZ:
statements;
break;
default:
statements;
break;
}
每当一个case顺着往下执行时(因为没有break语句),通常应在break语句的位置添加注释 。上面的示例代码中就包含注释/* falls through */ 。
7.9 try-catch语句(try-catch Statements)
一个try-catch语句应该具有如下格式:
try {
statements;
} catch (ExceptionClass e) {
statements;
}
一个try-catch语句后面也可能跟着一个finally语句,不论try代码块是否顺利执行完,它都会被执行 。
try {
statements;
} catch (ExceptionClass e) {
statements;
} finally {
statements;
}
8 空白(White Space)
8.1 空行(Blank Lines)
空行将逻辑相关的代码段分隔开,以提高可读性 。
下列情况应该总是使用两个空行:
- 一个源文件的两个片段(section)之间
- 类声明和接口声明之间
下列情况应该总是使用一个空行:
- 两个方法之间
- 方法内的局部变量和方法的第一条语句之间
- 块注释(参见"5.1.1")或单行注释(参见"5.1.2")之前
- 一个方法内的两个逻辑段之间 , 用以提高可读性
8.2 空格(Blank Spaces)
下列情况应该使用空格:
- 一个紧跟着括号的关键字应该被空格分开,例如:
while (true) {
...
}
注意:空格不应该置于方法名与其左括号之间 。这将有助于区分关键字和方法调用 。
- 空白应该位于参数列表中逗号的后面
- 所有的二元运算符,除了".",应该使用空格将之与操作数分开 。一元操作符和操作数之间不因该加空格,比如:负号("-")、自增("")和自减("--") 。例如:
a= cd;
a = (ab) / (c * d);
while (d= s) {
n;
}
printSize("size is "foo"\n");
- for语句中的表达式应该被空格分开 , 例如:
for (expr1; expr2; expr3)
- 强制转型后应该跟一个空格 , 例如:
myMethod((byte) aNum, (Object) x);
myMethod((int) (cp5), ((int) (i3))1);
9 命名规范(Naming Conventions)
命名规范使程序更易读,从而更易于理解 。它们也可以提供一些有关标识符功能的信息,以助于理解代码,例如,不论它是一个常量,包,还是类 。
标识符类型 命名规则 例子
包(Packages) 一个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net , org,或1981年ISO 3166标准所指定的标识国家的英文双字符代码 。包名的后续部分根据不同机构各自内部的命名规范而不尽相同 。这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),机器(machine),或注册名(login names) 。com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
类(Classes) 命名规则:类名是个一名词,采用大小写混合的方式,每个单词的首字母大写 。尽量使你的类名简洁而富于描述 。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML) class Raster;
class ImageSprite;
接口(Interfaces) 命名规则:大小写规则与类名相似 interface RasterDelegate;
interface Storing;
方法(Methods) 方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写 。run();
runFast();
getBackground();
变量(Variables) 除了变量名外,所有实例,包括类 , 类常量,均采用大小写混合的方式 , 第一个单词的首字母小写 , 其后单词的首字母大写 。变量名不应以下划线或美元符号开头 , 尽管这在语法上是允许的 。
变量名应简短且富于描述 。变量名的选用应该易于记忆,即,能够指出其用途 。尽量避免单个字符的变量名,除非是一次性的临时变量 。临时变量通常被取名为i,j,k,m和n , 它们一般用于整型;c,d,e,它们一般用于字符型 。char c;
int i;
float myWidth;
实例变量(Instance Variables) 大小写规则和变量名相似,除了前面需要一个下划线 int _employeeId;
String _name;
Customer _customer;
常量(Constants) 类常量和ANSI常量的声明 , 应该全部大写,单词间用下划线隔开 。(尽量避免ANSI常量 , 容易引起错误) static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 999;
static final int GET_THE_CPU = 1;
10 编程惯例(Programming Practices)
10.1 提供对实例以及类变量的访问控制(Providing Access to Instance and Class Variables)
若没有足够理由,不要把实例或类变量声明为公有 。通常,实例变量无需显式的设置(set)和获取(gotten),通常这作为方法调用的边缘效应 (side effect)而产生 。
一个具有公有实例变量的恰当例子,是类仅作为数据结构,没有行为 。亦即,若你要使用一个结构(struct)而非一个类(如果java支持结构的话),那么把类的实例变量声明为公有是合适的 。
java中空格是分隔符吗您好,空格是分隔符的 。
Java分隔符
很多人说写程序就像是完成一篇文章 。那么一篇好的文章自然少不了标点符号了 。Java分隔符就是Java代码里面的分隔符 。
Java中 , 具有代码分割作用的符号就是分隔符 。圆点“.”、分号“;”、花括号“{}”和空格具有特殊的分隔作用,我们将其统称为分隔符 。
1.分号
在Java中语句的分隔不是依靠回车来完成的,一条Java语句必须以分号(;)作为结束标记 。因此,一行中可以写多条语句(语句之间用分号隔开即可)、一条语句也可以跨多行,只要在最后结束的地方加上分号表示此语句的结束 。这个和很多的编程语言是一致的 , 比如C、C、Javascript等 。
2.块({})
所谓“块”,就是用“{”和“}”所包含的一段代码,它们在逻辑上常常是一个整体 。
在Java程序中,类的代码必须放在一个“块”中,方法的代码也必须放在一个“块”中,而在条件语句、循环语句中的代码,也常常放在一个“块”中 。{}就好像是一条边境线,将代码划分到相应的范围内 。在Java代码中,{}数量必须匹配 。不然就会出现没有结束范围的代码了 。
3.空格(空白符)
就如同在英语中,使用空格来分隔单词一样,在程序语言中,也使用空格来分隔一条语句的不同部分,比如,在变量类型和变量名称之间 , 就必须使用空格来分隔开来 。
【Java代码排版规范 java程序代码的规范排版】在这边的空格包含如下一些主要的类型:空格符(space)、制表符(Tab)、回车(Return)等 。
基本上来说,空格可以放在Java程序的任何地方,除了用于分隔一条语句外,空格还广泛地用于源代码的缩排,使得代码具有更高的可读性 。
在写程序的时候,一定要灵活的使用空格来分隔语句或者做格式上的缩排等 。但是 , 也要小心不要滥用它,比如,Java中规定,变量名、方法名等标识符不能包含空格,所以,不要定义包含有空格的标识符 。
换句话说,空格符要用好,但不要滥用 。除了必要的空格分隔(不然就无法区分不同的变量、名词了),空格更重要的作用是用来对源代码进行排版 。源代码是给人来阅读的,良好地格式是顺畅阅读的前提 。Java自有一套默认的代码编码排版规范 。大部分的IDE都支持代码格式模版和自动格式化 。所以对代码排版不用太担心 。
4.圆点
圆点“.”用于类/对象和它的属性或者方法之间的分隔 。在调用一个类/对象的属性或者方法的时候 , 必须使用如下的方式来完成 。
在这里 , 圆点“.”就起到了分隔类/对象和它的方法或者属性的作用 。这种用法在面向对象语言中很常见了 。比如C中、Ruby中等 , 有的语言是用其他符号来实现,比如php 。
希望能帮到您 。
eclipse怎样对java代码自动排版,快速格式化 , 快速使代码对齐使代码快速对齐的方法有两种 , 咱们先看第一种:首先打开代码
如图所示 , 找到"Source",点击
在弹出的下拉框内,找到"Format",然后点击
然后对比一下,就可以看到代码自动对齐了
还有一种方法是直接使用快捷键“Ctrl shift f”,就ok了
返回代码区,然后对比一下,就可以看到代码自动对齐了
Java的基本格式基本格式:修饰符 class 类名(程序代码)
意义:Java中的程序代码都必须放在一个类中,对于类初学者可以简单地把它理解为一个java程序;类需要使用class作为关键字定义;而在class的前面可以有一些修饰符 。
扩展资料
编写java时,特别需要注意的几个书写格式常见的错误:
1.java中的程序代码中功能执行语句的最后都必须用(;)结束 。
这里需要注意的是,在程序中不要将英文的分号(;)误写成中文的分号(;) ,如果写成了中文的分号 , 编译器会报告“Invalid character”(无效字符)这样的错误信息 。
2.Java语言是严格区分大小写的 。在定义类时,不能将class写成Class , 否则编译会报错 。程序中定义一个computer的同时,还可以定义一个Computer,computer和Computer是两个全完不同的符号,在使用的时候需要注意 。
3. 在编写java代码的时候为了便于阅读,通常会使用一种良好的格式进行排版,但这并不是必须的,我们也可以在两个单词或者符号之间任意换行 。
参考资料:百度百科-java
怎么用java代码实现将文本框输入的内容按照设计的排版格式import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;
public class Ttex {
BufferedImage bi = new BufferedImage(300, 200, BufferedImage.TYPE_INT_RGB);
public Ttex(String text) {
Graphics gr = bi.createGraphics();
gr.setColor(Color.white);
gr.fillRect(0, 0, bi.getWidth(), bi.getHeight());
gr.setColor(Color.GRAY);
gr.drawString(text, 10, 10);
}
/**
* 根据地址来保存文件
*
* @param dir
*文件地址
*/
private void Save(String dir) {
BufferedImage image = bi;
// 得到系统支持的图片写入器
Iterator it = ImageIO.getImageWritersBySuffix("jpg");
ImageWriter iw = null;
if (it.hasNext()) {
try {
ImageOutputStream imgOut = ImageIO
.createImageOutputStream(new File(dir));
iw = (ImageWriter) it.next();
iw.setOutput(imgOut);
IIOImage iioi = new IIOImage(image, null, null);
iw.write(iioi);
imgOut.close();
iw.dispose();
} catch (IOException e1) {
}
}
}
public static void main(String[] args) {
Ttex m = new Ttex("0123456789");
m.Save("D:/1.jpg");
}
}
做java软件工程师,怎样才能写出好的代码?Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看他的编程水平 。
其实有的java程序员java代码会受到大家的追捧,是因为他在写代码时注意的细节往往多于那些不怎么关注java代码编程细节的程序员,俗话说:“细节决定成败”,那么如何写出好的java代码呢?IT培训介绍一起来讨论下:
1.重视注释
有的java程序员在写代码时,从来没有想过要在java代码后加上相关的注释,甚至是上万行的代码也没有想过加上注释 , 这就存在很大的问题,不说你的代码会跟其他人分享讨论,就你自己回顾你是怎么写好这篇代码的,你也是半天无法理出头绪,这就为维护和修改等等工作添加了很大的麻烦 。所以 , 要想写出好的java代码,一定从简短的java代码编写开始注重在java代码后面加上相应的注释,养成良好的习惯 。
2.重视排版整洁
看很多java程序员的排版总觉得在欣赏一幅艺术品,但是看到一些java程序员的排版却总觉得无力吐槽 。同样是编写代码,但是给人的视觉体验是相当的不同,当然好的java代码给人的享受也是美的,所以要想写出好的代码,一定要重视排版整洁 。
3.注重命名规则
现在在一个团队开发中,都会提前定制一个统一的命名规则,这样利于提高工作效益 。但是很多java程序员是缺乏这个意识的 , 每次敲代码,更喜欢按照自己惯常的方式老命名模块、函数,这样是方便了自己 , 但是忽视团队协作,所以在日常工作中,特别是团队工作中一定要重视命名规则 。
4.养成备份习惯
备份的重要性不用小编强调,相必你也知道 。但是有的java程序员就是没有养成这样的好习惯,每次敲完代码就不记得随手保存,每次等到除了事故,比如电脑出了故障,辛辛苦苦敲打的java代码没保存找不回来的情况下就开始懊恼 , 与其这样还不如在一开始就养成良好的备份习惯,这样也方便自己日后查找利用 。
Java代码排版规范的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java程序代码的规范排版、Java代码排版规范的信息别忘了在本站进行查找喔 。
推荐阅读
- 公众号的文章怎样点亮,公众号怎么点
- 鸿蒙系统比安卓耗电,鸿蒙系统比安卓费电
- 鸿蒙系统阴阳手机,手机版鸿蒙
- php在哪里请求数据 php 请求
- 三星q6f显卡怎么用,三星q60ra
- jQuery的鼠标经过离开事件,jquery鼠标移入事件
- 怎么取消路由器里面的程序,怎么取消路由器的wifi
- php数据库官网 php数据库在哪
- 小程序茶叶商品类目怎么填,小程序茶叶商品类目怎么填写才正确