笔试题——看程序,写结果

版权声明:已开启版权声明 https://blog.csdn.net/M_Kerry/article/details/82185329

1.break,continue

 public static void main(String [] args){
    int x,y;
       for(x=1,y=1;x<=100;x++){
           if(y>=20){
               break;
           }
           if (y%3==1){
               y+=3;
               continue;

           }
           y-=5;
       }
       System.out.println("x="+x+"y="+y);
      }

运行结果
这里写图片描述

解析:
break:跳出当前for循环,执行下一条语句(执行输出语句)
continue:跳出本次循环,重新执行下一次循环( y-=5; 该语句从未执行过。)

2. 重载,char

public class Test {
    void test(int i){
        System.out.println("i am an int");
        System.out.println(i);
    }
    void test(String s){
        System.out.println("i am an String");
    }


     public static void main(String [] args){
    Test t=new Test();
    char ch='a';
    t.test(ch);

      }
}

正确答案:

输出i am an int
97

这里写图片描述

解析:看到 i=97 这下明白了吧
char类型的 ‘a’ 直接转义成了int类型的ASCII码 , 数值为97

改编1:若在本题基础上,再加入一个char类型的构造方法

  void test(char ch){
        System.out.println("i am an char");
        System.out.println(ch);
    }

运行结果
这里写图片描述

改编2:没有int和char的构造方法

则 报错
这里写图片描述
总结:
char类型的参数
如果有参数为 char的构造方法,则调用 char类型的构造方法
如果没有char,则调用 int类型,将字符转换成其对应的ASCII码
如果连int类型的都没有,那就报错了

猜你喜欢

转载自blog.csdn.net/M_Kerry/article/details/82185329