java 问题 为什么这段代码的答案会是a c????
publicstaticvoidmain(String[]args){chariBegin=3;intiEnd=6;Strings=newString("Javacanh...
public static void main(String[] args) {
char iBegin=3;
int iEnd=6;
String s=new String("Java can help me");
System.out.println(s.substring(iBegin, iEnd));
}
自己认为这个char转换会成 51的数字然后会异常报出啊??? 展开
char iBegin=3;
int iEnd=6;
String s=new String("Java can help me");
System.out.println(s.substring(iBegin, iEnd));
}
自己认为这个char转换会成 51的数字然后会异常报出啊??? 展开
1个回答
展开全部
你的iBegin定义成了char类型,虽然char也可以用3来赋值,但它的值绝对不是数值3,而是ASCLL码为3的字符,你应该把iBegin定义为int型
追问
是的呀,我也是这么想的 iBegin实际应该为51,而String截取的话 就会 报异常的 可是为和 就会输出 a c呢???
追答
iBegin自始至终它的值都是3,只不过但它是char类型时显示的是ASCLL码为3的字符,在计算时出现了隐式转换把iBegin转换成了int类型,就是数值3了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询