Java 标识符:用来表示类名,变量名,方法名,类型名,数组名,文件名的有效字符序列称为标识符。
规则:
1.只有字母(区分大小写),下划线,美元符号和数字组成,长度不受限制。
注:字母包括英文26个字母 ,汉字,日文,朝鲜文,俄文,希腊字母等。
2.第一个字母不能是数字。
3.不能是关键字
关键字(50):abstract assert boolean break byte case catch char class const continue default
do double else enum extends final finally float for goto if implements import instanceof
int interface long native new package private protected public return short static strictfp
super switch synchronized this throw throws transient try void volatile while
4.不能是true false null(尽管三个都不是关键字)
判断Java标识符 :
Character.isJavaIdentifierStart(char ch)字符是否可以是Java标识符的第一个字符 ,真 true 假false
Character.isJavaIdentifierPart(char ch)字符是否可以是除首字母以外的标识符 真true 假false
JAVA判断合法标识符
Problem Description
Input
Output
Sample Input
abc _test $test a 1 a+b+c a’b 123 变量
Sample Output
true true true false false false false true
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
String str;
boolean flag;
while(cin.hasNext())
{
str = cin.nextLine();
flag = valid(str);
if(flag==true) System.out.println("true");
else System.out.println("false");
}
cin.close();
}
public static boolean valid(String str)
{
if(Character.isJavaIdentifierStart(str.charAt(0)))
// 如果第一个字符是Java合法的标识符,进入if语句
{
for(int i=1; i<str.length(); i++)
// 从第二个标识符开始,逐个遍历
{
if(!Character.isJavaIdentifierPart(str.charAt(i)))
// 如果第i个标识符不是Java的合法标识符,返回false
{
return false;
}
}
// 如果标识符是合法的Java标识符,返回true
return true;
}
// 如果第一个字符不是Java合法的标识符,返回false
return false;
}
}