漢字符和字符的區別?
區別有三點:
1、類型不同,一個是string類型,是對象,一個是char類型,是基本數據類型;
2、寫法不同,一個是雙引號”string”,一個是單引號‘’S”;
3、比較時必須把字符串轉換成字符組進行才能逐個比較
if ("String".getBytes()[0] == 'S'){
System.out.println("字符串String的首字符是字符S");
}
String是引用數據類型,char是基本數據類型,Java中數據類型也就這兩大類?;緮祿愋瓦€包括int,long,double等,而剩下的都是引用數據類型,比如你定的一個class類,Java中的其他Date,Object等類,String也就是這一范疇,它和char其他關系不大,但是又有關系。
字符類型只有一個字節,就是只能儲存一個字符,單個字母或者數字,例如a或者1,字符類型的賦值應該用' '號。例如 char a='a';就是將字母a賦給變量a。
字符串可以儲存多個字符,例如儲存一句"I am fine"等。字符串的賦值要用" ";string a="I am fine!"就是將I am fine!這個字符串賦給字符串變量。值得注意的是字符串變量會在最后加多一個結束標志'\0'。例如char a='a',占一個字節,而string a="a"則占兩個字節,因為除了儲存字母a外還要儲存'\0'這標志。所以char a="a"這個語句是不對的,因為變量a只占一個字節,而"a"則占兩個字節,所以上述賦值表達式是非法的。
字符就是單個字符,字符串就是多個字符的集合。
區別:
1、單個空白字符和空白字符串是兩個概念, 在c中字符就是單個字符, 字符串是用\0結尾的,字符和字符串在操作上也不同,復制等等是不一樣的
2、字符常量是用單括號括起來的單個字符。入‘a’可以用反斜杠后根1~3位八進制數或1到二位十六進制數形式的ASCII碼來表示相應字符如:\101 表示字符'A' 。
3、字符串常量是用一對雙引號引起來的零個或者多個字符序列。如 ”how are you“ 字符串和字符常量儲存格式不同。字符串儲存時,系統會自動在字符串的末尾加一個字符串結束的表示,即轉義字符\0 。