java吧 关注:1,274,256贴子:12,784,843
  • 12回复贴,共1

求教一道JAVA考试题

只看楼主收藏回复

public class test{
void crunch(int i){
System.out.print("int");
}
void crunch(String s){
System.out.print("String");
}
public static void main(String args[ ]){
test crun=new test ( );
char ch='p';
int i=10;
crun.crunch(ch);
System.out.print(",");
crun.crunch(i);
}
}
这里输出结果为什么是int,int呢?char被认为是int类型么?


1楼2015-01-18 11:18回复
    同求答案!


    来自Android客户端2楼2015-01-18 11:23
    回复
      2025-08-16 20:46:56
      广告
      不感兴趣
      开通SVIP免广告
      只知道char可以强转int,因为字符是ascii编码,其他的我也不懂


      来自iPhone客户端3楼2015-01-18 12:04
      回复
        因为 char传入‘单字节’··定义是int类型 然后就被输出 P的ascii值


        IP属地:浙江4楼2015-01-18 12:08
        收起回复
          默认是int类型的。


          来自Android客户端5楼2015-01-18 12:13
          回复
            char,int等等这些基本数据类型之间有一套相互转换的关系,如果执行某种转换要损失细节就必须显式转换,这些是由编译器来检查和实现的。题中当把char赋给int时编译器会首先尝试能不能转换一下自己把类型问题解决掉,试了一下果然可以,那就顺利执行下去no problem,这里如果把char类型换成一个类,编译器就没办法了,只能报错


            IP属地:浙江来自Android客户端7楼2015-01-18 12:25
            收起回复
              怎么你打印的就是字符串,还想如何


              IP属地:广东来自Android客户端8楼2015-01-18 21:03
              回复
                打印的就是字符串啊。


                IP属地:浙江来自Android客户端9楼2015-01-18 23:28
                回复