1.定义不同:
单引号用来表示一个字符,通常用于定义char类型变量,例如:char a = '1'
。
双引号用来表示一个字符串,通常用于定义String类型变量,例如:String s = "abc"
。
java中单引号里面只能放一个字母或数字或符号;java中的双引号里面是0到多个字符构成。所以字符可以直接转换成字符串。字符串需要使用charAt(n) 来获取第几个字符。
char定义时用单引号,只能有一个字母,数字。char c='c';而String用双引号,可以是一个,也可能是多个字母,汉字等。就是所谓的字符串。String s="adsaf";
2.使用场景不同:
当字符串中出现单引号时,使用双引号来包围这个字符串,例如:String x = "a"
。
如果字符串中已经包含单引号,使用双引号来包围整个字符串,例如:String y = "We all know that 'A' and 'B' are two capital letters."
。
3.操作方式不同:
char只是一个基本类型,而String 可以是一个类,可以直接引用。比如char c='c';不能直接对c调用方法。String s="abc"; 这时可以调用s.charAt(0);等方法,因为String是类,这是就是对象的调用了。
字符串变量可以通过charAt(n)
方法来获取第n个字符,例如:String s = "abc"; System.out.println(s.charAt(0));
。
4.数据类型不同:
单引号引的数据一般是char类型的。
双引号引的数据是String类型的。
5.内存占用不同:
单引号括起来的char类型变量在内存中只占用一个字节。
双引号括起来的String类型变量在内存中占用的是字符串的长度加上结束字符'\0',因此可能会占用更多的内存。