如何辨别java标识符_确定字符串是否为合法的Java标识符

要确定String是否为合法的Java标识符,请使用Character.isJavaIdentifierPart()和Character.isJavaIdentifierStart()方法。

Character.isJavaIdentifierPart()

java.lang.Character.isJavaIdentifierPart()确定字符(Unicode代码点)是否可以作为Java标识符的一部分,而不是第一个字符。

如果满足以下任一条件,则字符可能是Java标识符的一部分。这是一封信

它是货币符号(例如“ $”)

它是连接的标点符号(例如'_')

这是一个数字

它是一个数字字母(例如罗马数字字符)

Character.isJavaIdentifierStart()

java.lang.Character.isJavaIdentifierStart()确定是否允许该字符(Unicode代码点)作为Java标识符中的第一个字符。

且仅当以下条件之一为真时,字符才能启动Java标识符。isLetter(ch)返回true

getType(ch)返回LETTER_NUMBER

引用的字符是货币符号(例如“ $”)

引用的字符是连接的标点字符(例如“ _”)。

以下是检查字符串中的单个字符以及整个字符串的示例。它检查字符串是否可以是合法的Java标识符。

示例import java.util.*;

public class Demo {

public static void main(String []args) {

char ch1, ch2;

ch1 = 's';

ch2 = '_';

String str = "jkv_yu";

System.out.println("Checking characters for valid identifier status...");

boolean bool1, bool2;

bool1 = Character.isJavaIdentifierPart(ch1);

bool2 = Character.isJavaIdentifierStart(ch2);

String str1 = ch1 + " may be a part of Java identifier = " + bool2;

String str2 = ch2 + " may start a Java identifier = " + bool2;

System.out.println(str1);

System.out.println(str2);

System.out.println("\nChecking an entire string for valid identifier status...");

System.out.println("The string to be checked: "+str);

if (str.length() == 0 || !Character.isJavaIdentifierStart(str.charAt(0))) {

System.out.println("Not a valid Java Identifier");

}

for (int i = 1; i 

if (!Character.isJavaIdentifierPart(str.charAt(i))) {

System.out.println("Not a valid Java Identifier");

}

}

System.out.println("Valid Java Identifier");

}

}

输出结果Checking characters for valid identifier status...

s may be a part of Java identifier = true

_ may start a Java identifier = true

Checking an entire string for valid identifier status...

The string to be checked: jkv_yu

Valid Java Identifier

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值