Java String/Char charAt() 比较
Java String/Char charAt() Comparison
我看到了可以使用 charAt()
方法进行的各种比较。
不过,有几个我真的看不懂。
String str = "asdf";
str.charAt(0) == '-'; // What does it mean when it's equal to '-'?
char c = '3';
if (c < '9') // How are char variables compared with the `<` operator?
如有任何帮助,我们将不胜感激。
str.charAt(0) == '-';
returns 一个布尔值,在本例中为 false
.
if (c < '9')
将“3”的 ascii 值与“9”的 ascii 值进行比较,并再次 return 布尔值。
// What does it mean when it's equal to '-'?
每个字母和符号都是一个字符。您可以查看字符串的第一个字符并检查是否匹配。
在这种情况下,您获取第一个字符并查看它是否是减号字符。这个减号是(char) 45
见下文
// How are char variables compared with the <
operator?
在Java中,所有字符实际上都是16位无符号数。每个字符都有一个基于它的 unicode 的数字。例如'9'
是字符 (char) 57
此比较适用于任何小于 9
代码的字符,例如space.
字符串的第一个字符是 'a'
,即 (char) 97
,所以 (char) 97 < (char) 57
是假的。
str.charAt(0) == '-'
如果点 0 处的字符为“-”,则此语句returns为真,否则为假。
if (c < '9')
这会将 c 的 ascii 值与 '9' 的 ascii 值进行比较,在本例中分别为 99 和 57。
字符在Java中是原始类型,这意味着它不是一个复杂的对象。因此,每次您在 chars
之间进行比较时,您都是在直接比较它们的值。
Java 字符是根据原始 unicode 规范定义的,它赋予每个字符一个 16 位的值。当您比较 c>'3'
或 str.charAt(0) == '-'
.
时,这些是 Java 正在比较的值
String str = "asdf";
String output = " ";
if(str.charAt(0) == '-'){
// What does it mean when it's equal to '-'?
output= "- exists in the first index of the String";
}
else {
output="- doesn't exists in the first index of the String";
}
System.out.println(output);
它检查索引 0 中是否存在该字符,这是一个比较。
至于if (c < '9')
,比较c和9的ascii值。我不知道你为什么要检查 c 的 ascii 等效值是否小于 '9' 的 ascii 等效值。
如果你想获取任何字符的ascii值,那么你可以:
char character = 'c';
int ascii = character;
System.out.println(ascii);
我看到了可以使用 charAt()
方法进行的各种比较。
不过,有几个我真的看不懂。
String str = "asdf";
str.charAt(0) == '-'; // What does it mean when it's equal to '-'?
char c = '3';
if (c < '9') // How are char variables compared with the `<` operator?
如有任何帮助,我们将不胜感激。
str.charAt(0) == '-';
returns 一个布尔值,在本例中为 false
.
if (c < '9')
将“3”的 ascii 值与“9”的 ascii 值进行比较,并再次 return 布尔值。
// What does it mean when it's equal to '-'?
每个字母和符号都是一个字符。您可以查看字符串的第一个字符并检查是否匹配。
在这种情况下,您获取第一个字符并查看它是否是减号字符。这个减号是(char) 45
见下文
// How are char variables compared with the
<
operator?
在Java中,所有字符实际上都是16位无符号数。每个字符都有一个基于它的 unicode 的数字。例如'9'
是字符 (char) 57
此比较适用于任何小于 9
代码的字符,例如space.
字符串的第一个字符是 'a'
,即 (char) 97
,所以 (char) 97 < (char) 57
是假的。
str.charAt(0) == '-'
如果点 0 处的字符为“-”,则此语句returns为真,否则为假。
if (c < '9')
这会将 c 的 ascii 值与 '9' 的 ascii 值进行比较,在本例中分别为 99 和 57。
字符在Java中是原始类型,这意味着它不是一个复杂的对象。因此,每次您在 chars
之间进行比较时,您都是在直接比较它们的值。
Java 字符是根据原始 unicode 规范定义的,它赋予每个字符一个 16 位的值。当您比较 c>'3'
或 str.charAt(0) == '-'
.
String str = "asdf";
String output = " ";
if(str.charAt(0) == '-'){
// What does it mean when it's equal to '-'?
output= "- exists in the first index of the String";
}
else {
output="- doesn't exists in the first index of the String";
}
System.out.println(output);
它检查索引 0 中是否存在该字符,这是一个比较。
至于if (c < '9')
,比较c和9的ascii值。我不知道你为什么要检查 c 的 ascii 等效值是否小于 '9' 的 ascii 等效值。
如果你想获取任何字符的ascii值,那么你可以:
char character = 'c';
int ascii = character;
System.out.println(ascii);