经常在网上看到一些代码对标识符的命名都不大规范,这次特地整理一下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 ""
}
}