北大青鸟java培训:Java标识符命名规则?

Python014

北大青鸟java培训:Java标识符命名规则?,第1张

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

}

}