java字符型变量char小小问题
我是个初学手看视频人家敲代码我也模仿敲代码和人家一模一样为什么我输出出来的却是数字?例如charA='与';charB='你';StringC="你好啊";StringD...
我是个初学手
看视频人家敲代码
我也模仿敲代码
和人家一模一样 为什么我输出出来的却是数字?
例如
char A='与';
char B='你';
String C="你好啊";
String D=A+B+C
System.out.println(D);
解析出来的是 : 5656你好啊 展开
看视频人家敲代码
我也模仿敲代码
和人家一模一样 为什么我输出出来的却是数字?
例如
char A='与';
char B='你';
String C="你好啊";
String D=A+B+C
System.out.println(D);
解析出来的是 : 5656你好啊 展开
4个回答
展开全部
char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。
Java中使用Unicode的原因是,Java的Applet允许全世界范围内运行,那它就需要一种可以表述人类所有语言的字符编码。Unicode。但是English,Spanish,German, French根本不需要这么表示,所以它们其实采用ASCII码会更高效。这中间就存在一个权衡问题。
因为char是16位的,采取的Unicode的编码方式
可以是汉字,因为是Unicode编码
String D=A+B+C
实际上是
String D = String.valueOf((int)A + (int)B) + C;
'与'的int值是19982,‘你'的int值是20320 ,所以加起来是40302。
你的输出结果是5656,可能是你的A值不是'与',B值不是'你'。
如果要输出字符串可以类型转换: String D = String.valueOf(A) + String.valueOf(B) + C;
Java中使用Unicode的原因是,Java的Applet允许全世界范围内运行,那它就需要一种可以表述人类所有语言的字符编码。Unicode。但是English,Spanish,German, French根本不需要这么表示,所以它们其实采用ASCII码会更高效。这中间就存在一个权衡问题。
因为char是16位的,采取的Unicode的编码方式
可以是汉字,因为是Unicode编码
String D=A+B+C
实际上是
String D = String.valueOf((int)A + (int)B) + C;
'与'的int值是19982,‘你'的int值是20320 ,所以加起来是40302。
你的输出结果是5656,可能是你的A值不是'与',B值不是'你'。
如果要输出字符串可以类型转换: String D = String.valueOf(A) + String.valueOf(B) + C;
展开全部
可能是java版本问题
char A='与';
char B='你';
int E = (int)A;
int F = (int)B;
发现
A=19982
B=20320
我机器出来最后结果是:40302你好啊
反推D=A+B+C过程
A+B是同类型是数字相加,再+C时因为C是String类型,所以数字转化成了String类型
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
char A='与';
char B='你';
int E = (int)A;
int F = (int)B;
发现
A=19982
B=20320
我机器出来最后结果是:40302你好啊
反推D=A+B+C过程
A+B是同类型是数字相加,再+C时因为C是String类型,所以数字转化成了String类型
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的类型问题吧,char是字符型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定和别人一模一样?String D = C+A+B; 就能输出纯字符串.
追问
入门问题啊 大神
我已经确定一样了 但还是报错
你不能帮我找出问题?
如果我敲的跟视频不一样我不就找不出来了吗? 就是因为和是视频一样还是报错我才过来问的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询