首页 > 试题广场 >

以下代码的输出的正确结果是public class T...

[单选题]
以下代码的输出的正确结果是
public class Test {
    public static void main(String args[]) {
        String s = "祝你考出好成绩!";
        System.out.println(s.length());
    }
}


  • 24
  • 16
  • 15
  • 8

length得到的是字符,不是字节。

发表于 2019-08-29 08:32:17 回复(4)
如果是s.getBytes("GBK").length就是求的字节数。如果是GBK,一个中文字符占2字节,如果是UTF-8则是3个字节,
发表于 2020-05-06 23:15:33 回复(1)
中文和英文一样的,看作一个字符。
发表于 2019-08-18 15:38:36 回复(2)

答案是9 空格也算,所有没有正确答案


发表于 2019-08-24 11:35:07 回复(7)
length返回的是字符数不是字节数
发表于 2019-09-16 15:12:18 回复(0)
String.length:返回此字符串的长度。 

发表于 2021-05-07 21:20:12 回复(0)
.length() 是获取字符长度,不是字节。unicode编码像GBK、GB18030,这些一个字符占2个字节;"UTF-8"占据3个字节。
发表于 2021-02-11 09:36:36 回复(0)
中文的感叹号后面是有一小段距离的,不是空格
发表于 2021-03-17 10:17:55 回复(0)
注意了:java中char是两个字节的,两个字节可以存储下一个中文汉字了
发表于 2021-12-12 11:13:27 回复(1)
length计算的是字符长度不是字节长度,一个汉字占俩字节字节但是是一个字符,如果是gbk格式就是俩字节,至于9那个应该是理解错误了中文的感叹号!,中文感叹号和英文感叹号不一样

发表于 2020-07-29 23:16:55 回复(0)
汉字是一个字符
发表于 2020-05-31 14:49:44 回复(0)
直接用String.length()方法是没有办法计算出含有汉字的字符串的准确长度的 1字符=2字节,1字节=8位 英文和数字占一个一个字节,中文占一个字符也就是两个字节 可以重写length()方法
发表于 2019-11-20 16:28:35 回复(1)
private final char value[];
/**
     * Returns the length of this string.
     * The length is equal to the number of <a href="Character.html#unicode">Unicode
     * code units</a> in the string.
     *
     * @return  the length of the sequence of characters represented by this
     *          object.
     */
    public int length() {
        return value.length;
    }
一个汉字两个字节,char类型两个字节。
发表于 2019-08-16 00:21:27 回复(1)

不会啊

发表于 2019-08-15 23:44:57 回复(0)
注意题目中length得到的字符长度,而不是字节长度。Java中默认使用Unicode中UTF8的编码格式,一个字符占三个字节,而gbk中的字符一个占两个字节,ASCII中一个字符占一个字节
发表于 2023-11-03 11:27:43 回复(0)
空格也算一个字符,我试了,应该是9
发表于 2020-03-22 16:55:53 回复(2)
空格也要算吧

发表于 2020-02-28 09:23:04 回复(2)
直接看源码

发表于 2024-02-07 00:22:59 回复(0)
length得到的是字符,不是字节
发表于 2023-05-22 10:28:32 回复(0)
length方法获取的是字符串的字符数
发表于 2023-03-20 17:17:10 回复(0)