java - 使用 for 循环的 ASCII 字符范围

标签 java if-statement for-loop ascii

如何使用 for 循环覆盖所有小写 a-z 和大写 A-Z 字母的范围?目前我有:

public static boolean isJavaIdentifierStart (char c) {

  if (c == 'a') { //how do I cover the range of all lowercase letters with a for loop?
    return true;
    } if (c=='Z') { //how do I cover all uppercase letters with a for loop?
      return true;
    } else if (c == '_') {
      return true;
    } else if (c == '$') {
      return true;
    } else
      return false;
  }        
}

最佳答案

使用 >= 测试会更容易和<=运算符:

if( c >= 'a' && c <= 'z' ) { 
   // do something
}

您实际上不需要测试范围内的所有值,只需确保 c落在它里面的某个地方。您可以对大写字母执行类似的操作。

事实上,您可以将方法简化为单个 return声明:

public static boolean isJavaIdentifierStart (char c) {
   return (c >= 'a' && c <= 'z') ||
          (c >= 'A' && c <= 'Z') ||
          (c == '_')             || 
          (c == '$');
}    

但是,我不相信Java标识符可以以$开头,所以你的方法不正确。

关于java - 使用 for 循环的 ASCII 字符范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20051118/

相关文章:

java - 为 Spring RestTemplate 设置 "Host" header 不起作用

java - 尽管配置了架构,Jackson CsvMapper 仍无法正确反序列化为 POJO

c++ - 每个 ( in ) 和 for ( : )? 之间有什么区别

java - eclipse 中的自动格式化程序

java - java中的进程同步

c++ - 什么更快 : noop function call or if statement?

java - 图像作为 JLabel 中的变量,在 if-else 中使用

java - Java 中的嵌套 If 语句

java - 在 Java 中使用 for 循环打印嵌套方 block

c++ - INT 在 FOR 循环外保持不变