结果27是怎么算出来得

结果27是怎么算出来得

package com.imooc;

public class MyMy {

 public static void main(String[] args) {
  
    int x,y;
    x=3;y=5;
    System.out.println("x="+x);
    System.out.println("y="+y);
    
    

    System.out.println(x+"  "+y+'\n');
    
    //转义字符
    System.out.println(x+"\t "+y+'\n');
    System.out.println(x+'\t '+y+'\n');//这里是27
    
    
    
    

 }

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
Fellow__ 2020-10-15 20:45:05

char 可以看做是byte 用的是8位ASCII 编码  用一个整型和char  相加 进行的是数学加法运算 

好帮手慕小脸 2020-10-13 11:13:36

同学你好,“慕丝1539783”同学给出的代码分析是正确的,同学可以参考理解

 System.out.println(x+'\t '+y+'\n');为什么是27

http://img1.sycdn.imooc.com//climg/5f851b5409d17fd406420516.jpg

2、测试同学代码,转义这里会出现如下报错:

http://img1.sycdn.imooc.com//climg/5f851cba0963563c05100074.jpg

修改建议:

    \t这里的空格需要删除,如下所示:

http://img1.sycdn.imooc.com//climg/5f851c9c095a63d905150123.jpg


祝学习愉快~

  • 图一数据类型需要强制转换,但是最后一张图片却不用可以直接输出结果,为什么呢?

    2021-02-18 22:16:07
  • 同学你好,

    '\t'是char类型,(int)'\t'是将char类型转换为int类型。

    x+'\t'中x是int类型,当x和'\t'相加时,系统会先自动将'\t'转换为int类型,再相加。不需要我们强制转换。

    祝学习愉快~

    2021-02-20 10:29:09
慕丝1539783 2020-10-13 10:58:18

x值为3

'/t'这个字符会自动转为int类型,值为9

y值为5

'/n'这个字符会自动转为int类型,值为10

3+9+5+10=27

  • System.out.println(x); System.out.println((int) '\t'); System.out.println(y); System.out.println((int) '\n'); 自己运行一下这段代码就知道了
    2020-10-13 10:59:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师