" char"之间的区别和"字符串"在Java中

时间:2012-05-03 11:02:55

标签: java string char

我正在读一本我想学习的Java书,我有一个问题。我无法理解变量类型charString之间的区别。例如,intshort之间存在差异,内存中的字节数和它们所拥有的数字区域。

charString之间有什么区别?除了char使用(')和“字符串”(“)。

PS:这是我的第一个“真正的”编程语言。 (在学校,我为编程课学习了一门假语。)

15 个答案:

答案 0 :(得分:117)

char是一个字符。 String是零个或多个字符。

char是一种原始类型。 String是一个班级。

char c = 'a';
String s = "Hi!";

请注意char的单引号和String的双引号。

答案 1 :(得分:18)

char表示单个字符。在java中它是UTF-16字符。 String可以被认为是一组字符。

所以,想象一下“Android”字符串。它由'A', 'n', 'd', 'r', 'o', 'i''d'个字符组成。

char是java中的基本类型,String是一个类,它封装了chars的数组。

答案 2 :(得分:6)

在外行的术语中,char是一个字母,而String是一个字母(或一个单词)的集合。 '"的区别很重要,因为'Test'在Java中是非法的。

char是基本类型,String是类

答案 3 :(得分:1)

如果您对与Java相关的任何事情有疑问,我建议您阅读Oracle网站上托管的Java教程文档。

通过以下教程,您可以清楚地了解这些概念:

答案 4 :(得分:0)

char包含单个字符,而字符串包含大量字符。

答案 5 :(得分:0)

char是一种原始类型,它可以包含单个字符。

String是一个引用类型,因此是一个完整的对象。它可以容纳任意数量的字符 (在{内部,String个对象将它们保存在char数组中)。

Java中的原始类型在速度和内存占用方面具有优势。但它们不是真正的物体,所以有一些可能性你会失去它们。它们不能用作通用类型参数,它们不能有方法或字段,等等。

但是,每个Java基元类型都有一个相应的完整对象,它们之间的转换是由编译器自动完成的(这称为自动装箱)。

你可以这样做:

int i=12;
Integer l=i;

编译器负责将int转换为Integer

答案 6 :(得分:0)

Char是单个字母表,其中String是一系列字符。 Char是原始数据类型,其中String是一个类。

答案 7 :(得分:0)

char只有一个字符(字母,数字......)

src

字符串可以包含零个字符或任意多个字符

char example = 'x';

答案 8 :(得分:0)

char是原始类型,它可以包含一个字符。字符串是引用类型,因此是成熟的对象。

答案 9 :(得分:-1)

嗯,char(或其包装类Character)表示单个字符,即您不能写'ab'String是由数字组成的文本你可以把字符串想象成一个字符数组(实际上String类有一个成员char[] value)。

您可以使用普通的char数组,但这非常繁琐,因此String类可以提供一种处理文本的便捷方式。

答案 10 :(得分:-1)

一个字符串只包含一个字母表,一个字符串有一个完整的单词或单词数量,并且在结尾处自动插入一个转义序列,告诉编译器字符串已在此处结束。(0)

答案 11 :(得分:-1)

在char中,只能使用单个字符(应该是单引号),它可以是字母或任何数字甚至是特殊字符。以下是char

的相关示例
[0,0],[0,0]....

在字符串中可以使用完整行(应该是双引号)。下面是String

的相关示例
char a = '4';
char a = '$';
char a = 'B';

答案 12 :(得分:-1)

在字符串中我们可以存储多个char。 例如 char ch='a';

String s="a";

String s1 =“aaaa”;

答案 13 :(得分:-2)

就ASCII值而言,您可以说char是单个ASCII值,范围为0-255。而String是ASCII值的集合。 试试这段代码可以更好地学习。

        char c='a';
        String s="a b c d e f g hijkl";
        int i=c;
        System.out.println(i);
        for(int count=0;count<s.length();count++){
            int temp=s.charAt(count);
            System.out.print(temp+" ");
        }

输出将是:

97

97 32 98 32 99 32 100 32 101 32 102 32 103 32 104 105 106 107 108

因为97是小&#39; a&#39;的ASCII值。 32是空格的ASCII值。希望这有助于深入理解这个概念。

答案 14 :(得分:-4)

字符是您可以键入的任何内容,例如字母,数字,标点符号和空格。字符串出现在变量中。它们是perls中的文本项。角色由16位组成。虽然字符串的长度是无限的。