Java中“char”和“String”的区别
我正在阅读一本我正在学习的Java的书,我有一个问题。 我不明白variablestypeschar
和String
之间有什么区别。 例如, int
和short
,内存中的字节数以及它们所具有的数字区域之间是有区别的。
但是char
和String
什么区别? 除了char
使用(')和“String”(“)。
PS:这是我第一个“真正”的编程语言。 (在学校,我学习了一个假的语言,为编程课的目的。)
char
是一个字符。 String
是零个或多个字符。
char
是一个原始types。 String
是一个类。
char c = 'a'; String s = "Hi!";
注意char
的单引号和String
双引号。
char
表示单个字符。 在Java中,它是UTF-16字符。 String
可以被认为是一个字符数组。
所以,想象一下“Android”string。 它由'A', 'n', 'd', 'r', 'o', 'i'
和'd'
字符组成。
char
是java中的一个基本types, String
是一个封装了chars
数组的类。
通俗来说, char
是一个字母,而String
是一个字母(或一个字)的集合。 '
和"
的区别很重要,因为'Test'
在Java中是非法的。
char
是一个原始types, String
是一个类
如果您对任何与Java相关的问题有任何疑问,我build议您阅读Oracle网站上的Java教程文档。
通过阅读以下教程,您可以清楚地了解这些概念:
-
人物
-
string
字符是一个字母,string是字符序列。 Char是原始数据types,其中String是一个类。
一个字符包含单个字符,而一个string包含大量的字符。
char
是一个原始types,它可以保存一个字符。
String
是一个引用types,因此是一个完整的对象。 它可以容纳任意数量的字符(在内部, String
对象将它们保存在一个char
数组中)。
Java中的原始types在速度和内存占用方面具有优势。 但他们不是真正的对象,所以有一些可能性,你失去了使用它们。 它们不能用作genericstypes参数,它们不能有方法或字段,等等。
但是,每个Java原始types都有一个相应的完整对象,并且它们之间的转换由编译器自动完成(这称为自动装箱)。
你可以做例如:
int i=12; Integer l=i;
编译器负责将int
转换为Integer
。
字符只有一个字符(字母,数字,…)
char example = 'x';
string可以有零个字符或多个你想要的
String example = "Here you can have anything";
那么, char
(或其包装类Character
)意味着一个单一的字符,即你不能写'ab'
而String
是一个文字组成的一些字符,你可以认为一个string的字符数组String
类有一个成员char[] value
)。
你可以使用简单的char
数组,但这是相当繁琐的,因此String
类提供了一个处理文本的简便方法。
一个字符只包含一个单一的字母,一个string有一个完整的单词或多个单词,在最后自动插入一个转义序列,告诉编译器string已经在这里结束。
Char
是一种数据types。 它可以保存一个字母或数字。 要将string转换为char数组,可以使用theNameOfTheString.toCharArray();
。
String
拥有许多字符值。 这个最好通过一个例子来expression。
例子:
char someChar = 'A'; String someString = "I like to eat food!";
我希望这有助于! 🙂
在字符中,只能使用单个字符(应该用单引号),它可以是字母或任何数字,甚至是特殊字符。 下面是char的相关例子
char a = '4'; char a = '$'; char a = 'B';
在string中可以使用完整的行(应该用双引号)。 下面是String的相关示例
String a = "Hello World"; String a = "1234"; String a = "%%";
在string中我们可以存储多个字符。 例如char ch='a';
String s="a";
String s1 =“aaaa”;
就ASCII值而言,可以说char是一个从0-255范围内的单个ASCII值。 而string是ASCII值的集合。 试试这个代码来学习更好。
char c='a'; String s="abcdefg 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是小“a”的ASCII值。 32是空格的ASCII值。 希望这有助于深入理解这个概念。
一个字符就是你可以input的任何东西,如字母,数字,标点符号和空格。 string出现在variables中。他们是Perl中的文本项。 一个字符由16位组成。 而string的长度是无限的。