Java - Character isJavaIdentifierStart() 方法



Java 的 Character isJavaIdentifierStart() 方法用于确定指定字符是否允许作为 Java 标识符的第一个字符。众所周知,Java 标识符是由一系列字符组成的序列,其中第一个字符只有是字母(a-z, A-Z)、$ 或下划线 (_) 时才有效。

当且仅当以下条件之一为真时,字符才能作为 Java 标识符的开头:

  • isLetter(ch) 返回 true

  • getType(ch) 返回 LETTER_NUMBER

  • ch 是货币符号(例如 '$')

  • ch 是连接标点符号(例如 '_')。

语法

以下是 Java Character isJavaIdentifierStart() 方法的声明

public static boolean isJavaIdentifierStart(char ch)
(or)
public static boolean isJavaIdentifierStart(int codePoint)

参数

  • ch − 要测试的字符

  • codePoint − 要测试的 Unicode 代码点

返回值

如果字符可以作为 Java 标识符的开头,则此方法返回 true,否则返回 false。

检查字符是否允许作为 Java 标识符的第一个字符示例

以下示例演示了 Java Character isJavaIdentifierStart(char ch) 方法的用法。在此程序中,我们创建了一个 char 变量并为其赋值。现在,使用 isJavaIdentifierStart() 方法,我们检查 char 变量是否允许作为 Java 标识符的第一个字符,并打印结果。

package com.tutorialspoint;

public class CharacterDemo {
   public static void main(String[] args) {

      // create a char primitive ch
      char ch;

      // assign values to ch
      ch = '3';

      // create a boolean primitive b
      boolean b;

      /**
       *  check if ch can start a java identifier
       *  and assign result to b
       */
      b = Character.isJavaIdentifierStart(ch);
      String str = ch + " may start a Java identifier is " + b;
      
      // print b value
      System.out.println( str );
      
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

3 may start a Java identifier is false

检查代码点是否允许作为 Java 标识符的第一个字符示例

以下示例演示了 Java Character isJavaIdentifierStart(int codepoint) 方法的用法。在此程序中,我们创建了两个 int 变量并为其赋值。现在,使用 isJavaIdentifierStart() 方法,我们检查 int 变量是否允许作为 Java 标识符的第一个字符,并打印结果。

package com.tutorialspoint;

public class CharacterDemo {
   public static void main(String[] args) {

      // create 2 int primitives cp1, cp2
      int cp1, cp2;

      // assign values to cp1, cp2
      cp1 = 0x0034;
      cp2 = 0x004a;

      // create 2 boolean primitives b1, b2
      boolean b1, b2;

      /**
       *  check if characters represented by cp1, cp2 can start a
       *  java identifier and assign results to b1, b2
       */
      b1 = Character.isJavaIdentifierStart(cp1);
      b2 = Character.isJavaIdentifierStart(cp2);
      String str1 = "cp1 may start a Java identifier is " + b1;
      String str2 = "cp2 may start a Java identifier is " + b2;

      // print b1, b2 values
      System.out.println( str1 );
      System.out.println( str2 );
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

cp1 may start a Java identifier is false
cp2 may start a Java identifier is true

检查字符是否允许作为 Java 标识符的第一个字符示例

另一个使用该方法确定字符是否为有效 Java 标识符开头的示例如下所示。在这里,我们将符号作为参数传递。

package com.tutorialspoint;

public class IdentifierDemo {
   public static void main(String []args) {
      boolean b1 = Character.isJavaIdentifierStart('$');
      boolean b2 = Character.isJavaIdentifierStart('&');
      System.out.println(b1);
      System.out.println(b2);
   }
}

输出

让我们编译并运行上面的程序,并显示下面获得的输出:

true
false

检查字符是否允许作为 Java 标识符的第一个字符示例

所有字母作为参数传递给此方法时都返回 true。示例程序如下所示。

package com.tutorialspoint;

public class IdentifierDemo {
   public static void main(String []args) {
      boolean b1 = Character.isJavaIdentifierStart('a');
      boolean b2 = Character.isJavaIdentifierStart('X');
      System.out.println(b1);
      System.out.println(b2);
   }
}

输出

让我们编译并运行上面的程序,并显示下面获得的输出:

true
true

检查字符是否允许作为 Java 标识符的第一个字符示例

在另一种情况下,该方法检查参数是否为 Java 标识符的开头,并使用 if-else 条件语句显示获得的返回值。

package com.tutorialspoint;

public class IdentifierDemo {
   public static void main(String []args) {
      char ch = '$';
      boolean b = Character.isJavaIdentifierStart(ch);
      if(b == true)
         System.out.println("The character is a java identifier");
      else
         System.out.println("The character is not a java identifier");
   }
}

输出

在显示以下输出之前,必须编译并运行上面的程序:

The character is a java identifier
java_lang_character.htm
广告