为了账号安全,请及时绑定邮箱和手机立即绑定

为什么第一种不可以而第二种可以呢??

public class Helloworld{

    public static void main(String[] args){

        final char SEX1='男';

        final char SEX2='女';

        System.out.println(SEX1+SEX2);

    }

}


public class Helloworld{

    public static void main(String[] args){

        final char SEX1='男';

        final char SEX2='女';

        System.out.println(SEX1);

        System.out.println(SEX1);

    }

}


正在回答

3 回答

char a=65;
char b=66;
int x=(int)'男';
int y=(int)'女';
char max= 30007+22899;

System.out.println(a+b);
System.out.println(x);
System.out.println(y);
System.out.println(a+b);
System.out.println((char)(30007+22899));

final char SEX1='男';
final char SEX2='女';
System.out.println(SEX1+SEX2);

https://img1.sycdn.imooc.com//5c8653320001315508650521.jpg

奇怪,我怎么可以运算的,试一下上面的代码。

因为char里的字符是按照顺序排列的(Unicode码表,最大65535,输入 char max1=65536;会提示错误),直接运算时会根据所对应的数字来运算。

0 回复 有任何疑惑可以回复我~

加号只能是字符串和变量相连接,不能两个变量连接,只能这样让其连接System.out.println("SEX1="+SEX1+"SEX2="+SEX2);

2 回复 有任何疑惑可以回复我~

两个char类型相加,自动转换成int型,变成了ASCII值相加

0 回复 有任何疑惑可以回复我~
#1

qq_peaceminT陈

能详细解释下吗
2019-03-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么第一种不可以而第二种可以呢??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信