『壹』 char在java里面是什么意思
char 在java里面表示一个16位的unicode的字符, 相当于c++里面的 wchar_t 或者 TCHAR 类型。String 可以转成char[], char[] 也可以转成String, 比如:
String s = "......";
char[] cs = s.toCharArray();
String s2 = new String(cs);
『贰』 java char的用法
char在java中称为“字符型”
占2个字节
字符常量是用单引号括起的一个字符
且字符常量在内存中存储的是该字符在Unicode字符集中的排序位置,即整数
eg:char
x='a'
内存x中存储的是字符a在Unicode字符集中的排序位置97
因此允许将上面的语句写成char
x=97;
『叁』 Java中char能接受汉字吗
可以的,但只能接收一个汉字,因为char类型在JAVA环境中只占一个字节,而JAVA中的每一个汉字也是占一个字节,所以可以存放一个汉字。
如:char
Cha
=
'中';
『肆』 Java语言中char和varchar有何区别
1、最大长度
char最大长度是255字符,varchar最大长度是65535个字节。
2、定长
char是定长的,不足的部分用隐藏空格填充,varchar是不定长的。
3、空间使用
char会浪费空间,varchar会更加节省空间。
4、查找效率
char查找效率会很高,varchar查找效率会更低。
5、尾部空格
char插入时可省略,vaechar插入时不会省略,查找时省略。
『伍』 java中的“char”指的是什么
char是Java中的保留抄字,表示一种数据类型。与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode编码。不过8位的ASCII码包含在Unicode编码中,其值对应于0~127。
char初始化方式
char c='c'; //字符,可以是汉字,因为是Unicode编码
char c=十进制数,八进制数,十六进制数等等; //可以用整数赋值
char c='\u数字'; //用字符的编码值来初始化,如:char='\0',表示结束符,它的ascll码是0,这句话的意思和 char c=0 是一个意思。
『陆』 java中char与String的区别
1、类型不同
char是字符类型, String是字符串类型。
2、包含
String字符串是用来包含串的, char是用来包含单字符的。
例如:
char a='1';//定义一个字符
String b="dadsa";//定义一个字符串
3、存储
String内部用来存储的结果是一个char字符数组。
private final char value[];//这是string中用来存储值的结构。
4、定义
char 定义时用单引号 ,只能有一个字母数字。
String定义时用双引号 ,可以是一个,或者多个字母或汉字等,就是所谓的字符串。
使用方法
1、char
#include<iostream>
using namespace std;
int main()
{
char* pstr = "hello world";
pstr = "aa";
pstr[1] = "a"; //报错
cout<<pstr<<endl;
}
2、string的定义字符串
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str1;
str1= "hello world";
str1="aa";
str1[1]="a";
cout<<str1<<endl;
}
『柒』 java中的char
这是java编译器的一个缺陷,
你不能使用 Unicode的换行,斜杠等字符,至于为什么,举个例子:
public static void main(String[] args) {
if ( false == true ) { //these characters are magic: \u000a\u007d\u007b
System.out.println("false is true!");
}
}
你可以运行上面的方法,会输出 false is true!
java在编译时会先将Unicode字符进行 呈现(或翻译),然后再进行编译 ,上面的方法会变成
public static void main(String[] args) {
if ( false == true ) { //these characters are magic:
}{
System.out.println("false is true!");
}
}
再来看你的代码
char a='\U000d';
会变成:
char a='
';
这样就会产生语法错误。
这就是原因了
下面的代码是可以通过编译的
char c=' ';\u000d;
可以这样理解,代码中的 Unicode并不能理解为单纯的 字符或字符串,他们本身就是你的代码
如:
System.out.println("Unicode print ");
这一行代码你可以写成
\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0022\u0055\u006e\u0069\u0063\u006f\u0064\u0065\u0020\u0070\u0072\u0069\u006e\u0074\u0020\u0022\u0029\u003b\u0020
其实都是一样的,只是书写和查看都很不方便 。
建议不要在代码中书写Unicode形式的字符,很容易产生奇怪的错误,而且不方便查看和修改
『捌』 在java中如何输入一个char型字符。
方法一:
Scanner cin=new Scanner(System.in);
String s=cin.nextLine();
char ans=s.charAt(0);
这样即可获取一个字符。
方法二:
byte[] b=new byte[2];
try{
System.in.read(b)
}catch(Exception e){}
char ans=new String(b).charAt(0);
这样即可获取一个字符