使用for循环的ASCII字符范围

时间:2013-11-18 15:11:11

标签: java if-statement for-loop ascii

如何覆盖所有字母的小写字母a-z&使用for循环的大写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;
  }        
}

2 个答案:

答案 0 :(得分:1)

如果使用>=<=运算符进行测试会更容易:

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标识符可以以$开头,因此您的方法不正确。

答案 1 :(得分:0)

很难猜出你想要什么,但你可以使用:

for(char c = 'a'; c < 'z'; c++) {
        System.out.println(c);
}

修改您的评论:

使用此表达式:(c >= 'a' && c <= 'Z')并且类似于范围 - 检查。

这是有效的,因为char是一个16位无符号整数,因此可用于计算。