为什么System.out.println('1' '2' "" 3 4);输出结果为9934?

 我来答
紫薇参星
科技发烧友

2019-07-01 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3579万
展开全部

因为Java语言中println函数只对字符串敏感,所以字符'1'和'2'之间的加号被认为是'1'和'2'相加,两个字符相加就是其ascii码相加,'1'的ascii码是49,'2'的ascii码是50,所以结果是99.后面加空字符串和数字3,4的加号,因为有空字符串,所以都被认为是连接字符串的符号,后面所有的数字都自动隐式转成字符串,所以连接起来就是9934字符串

public class H {

public static void main(String []args) {

System.out.println('1'+'2'+""+3+4);

}

}

如果你把空字符串放到字符'1'前面,那么后面所有的加号都被认为是连接字符串的符号,后面所有的数字和字符都自动隐式转成字符串,输出就是1234字符串

public class H {

public static void main(String []args) {

System.out.println(""+'1'+'2'+3+4);

}

}

Android
2019-07-01 · Android工程师
Android
Android工程师
采纳数:31 获赞数:214
长沙智能驾驶研究院优秀员工

向TA提问 私信TA
展开全部
你这个结果是你想的吧,不可能是程序运行结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小蘑菇头有大智慧
2019-07-01
知道答主
回答量:20
采纳率:0%
帮助的人:1.4万
展开全部
这样编译都会出错,不能运行的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
活宝恋上一滴泪
2019-07-01
知道答主
回答量:14
采纳率:0%
帮助的人:9923
展开全部
你的代码是不是没有写全,或者符号的原因吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式