经常在网上看到一些代码对标识符的命名都不大规范,这次特地整理一下java中各类标识符的命名规则,电脑培训http://www.kmbdqn.cn/希望对大家有所帮助。
一、标识符命名规则1、标识符用作给变量、方法和类命名。
2、以字母、下划线“_”和“$”符开头,后面可跟字母、下划线“_”和“$”符或数字。
3、大小写敏感。
4、应该使用有意义的名称,达到见名知意的目的,并且长度无限制。
5、尽量不要使用中文。
6、不可以是true和false。
true和false虽然不是关键字,但是有特殊用途。
7、避免与java关键字与java类库的类名重名,java关键字一共有51个,如下:二、对于不同标识符使用不同的命名规则1、包名:全部小写,用”.”隔开,每一个点表示一级目录,至少要有一级目录。
(1)单级包:小写。
如:com(2)多级包:小写,用”.”隔开。
如:com.baidu.www2、类或接口:所有单词首字母大写。
(大驼峰法)(1)一个单词:首字母大写。
如:Student、People(2)多个单词:每个单词首字母大写。
如:HelloWorld、ServerSocket3、方法或变量:第一个单词首字母小写,从第二个单词开始首字母大写。
(小驼峰法)(1)一个单词:首字母小写。
如:name、age(2)多个单词:第二个单词首字母大写。
如:stuName、showTime4、常量:全部大写,单词键以下划线”_”隔开(1)一个单词:全大写。
如:PI、COUNT(2)多个单词:全大写,并以”_”隔开。
如:RESULT_OK、WINDOW_HIERARCHY_TAG总之,遵循这个命名规范,不止有利于别人能够更快速的读懂我们的代码,了解代码中的成员,还能够让我们在实际开发中减少很多不必要的麻烦。
手敲的,给个辛苦分吧。。。package test
import java.util.ArrayList
import java.util.List
public class Test {
public static void main(String[] args) {
//testing for data base column-key to java field
String[] dbKeys = {"id", "user_age", "user_addr_"}
Test t = new Test()
t.convertToJava(dbKeys)
System.out.println("-----------------------------------")
//testing for Java field to data base column-key
String javaFieldNames[] = {"id","userAge","userHomeAddr"}
t.getDBKey(javaFieldNames)
}
/*
* Java field to data base column-key
*/
private void getDBKey(String... javaFieldNames){
if(javaFieldNames != null && javaFieldNames.length > 0){
for(String name : javaFieldNames){
StringBuffer buffer = new StringBuffer()
char[] array = name.toCharArray()
List<Integer> insertIndexes = new ArrayList<>()
for(int i=0i<array.lengthi++){
Character c = array[i]
if(i != 0 && Character.isUpperCase(c)){
insertIndexes.add(i)
}
}
if(insertIndexes.size() > 0){
int flag = 0
for(int j=0j<insertIndexes.size()j++){
String word = toLowercase4FirstLetter(name.substring(flag, insertIndexes.get(j)))
buffer.append(word).append("_")
flag = insertIndexes.get(j)
}
String last = toLowercase4FirstLetter(name.substring(flag))
buffer.append(last)
System.out.println(buffer.toString())
} else {
System.out.println(name)
}
}
}
}
private String toLowercase4FirstLetter(String word){
if(word != null && word.length() > 0){
String firstLetter = word.substring(0,1)
String others = word.substring(1)
return firstLetter.toLowerCase() + others
}else{
return ""
}
}
/*
* data base column-key to java field
*/
public void convertToJava(String... dbKeys) {
if(dbKeys != null && dbKeys.length > 0){
for(String key : dbKeys){
String[] words = key.split("_")
String result = toUppercase4FirstLetter(words)
System.out.println(result)
}
}
}
private String toUppercase4FirstLetter(String... words){
StringBuffer buffer = new StringBuffer()
if(words != null && words.length > 0){
for(int i=0i<words.lengthi++){
String word = words[i]
String firstLetter = word.substring(0, 1)
String others = word.substring(1)
String upperLetter = null
if(i != 0){
upperLetter = firstLetter.toUpperCase()
} else {
upperLetter = firstLetter
}
buffer.append(upperLetter).append(others)
}
return buffer.toString()
}
return ""
}
}
骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
扩展资料:
驼峰命名法使用前注意事项:
1、由于Java面向对象编程的特性,
在命名时应尽量选择名词
2、驼峰命名法(Camel-Case):
当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字母大写(第一个单词除外)。
如:myFirstName。
包名的书写规范
(Package) 推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性。包名全部为小写字母,且具有实际的区分意义。
一般要求:
1、选择有意义的名字,能快速地传达该类的用途。
2、所有包的命名必须采用小写英文字母。
实际应用:应用系统中经常应用分层,Dao层(数据库访问)、Service层(业务处理)、Web层(页面控制action类)。
1、包名的前几个为固定名称,
如果是网站的话,采用网站的域名的反写,如果域名还没有确定的话,采用公司固定的几个名称。如:net.vschool
2、在包名的接下来一个单词为模块的名称。如:用户模块,包名为net.vschool.user
3、关于模块的访问操作,采用分层形式,一般分为:
Dao层操作:一般定义在net.vschool.xxx.dao
中,其中xxx为模块名称。
Service层操作:一般定义在net.vschool.xxx.servie中。
web层操作:一般定义在
net.vschool.xxx.action中。
如下关于用户模块的例子:
net.vschool.user。
net.vschool.user.dao。
net.vschool.user.action。
net.vschool.user.service。
参考资料来源:搜狗百科-驼峰命名法